返回顶部

zhangfd

个人博客,仅供学习使用

导航

Linux:综合架构备份服务(rsync)--01

综合架构开场介绍

00. 课程介绍部分

整体课程介绍:

01. 备份服务
02. 存储服务
03. 实时同步服务
04. 批量管理服务
05. 网站服务(web服务)
06. LNMP网站架构
07. 负载均衡反向代理服务???
08. 高可用服务
09. 监控服务
10. 跳板机服务
11. 防火墙服务

今天课程内容:

01. 架构介绍
02. 架构规划
网络的规划
主机名称规划
03. 系统优化
字符集优化
安全优化(防火墙 selinux)
远程连接优化
命令提示符优化
yum源优化
04. 进行虚拟主机克隆操作

上午课程: 4个小时
下午课程: 2个小时

01. 备份服务 (安装部署)

01. 课程知识回顾

01. 什么是路由交换
交换机: 实现在同一个局域网内多台主机之间的通讯
路由器: 实现不同局域网之间主机的通讯
02. 路由的配置方法
静态路由
动态路由
03. OSI7层模型
数据封装与解封装
04. TCP/UDP协议
TCP三次握手
TCP四次挥手
TCP十一种状态集转换(扩展)
05. 网络的重要原理
DNS解析原理 域名--IP地址
补充: 反向DNS解析 IP地址---域名
ARP解析原理 IP地址---MAC地址
06. IP地址划分
IP地址的分类
IP地址的子网划分方法
07. linux系统中路由配置
静态默认网关路由
静态网段路由
静态主机路由

01. 中小规模网站架构组成

比喻

1) 顾客--用户
访问网站的人员
2) 保安--防火墙 (firewalld)
进行访问策略控制
3) 迎宾--负载均衡服务器 (nginx)
对用户的访问请求进行调度处理
4) 服务员---web服务器 (nginx)
处理用户的请求
5) 厨师---数据库服务器 (mysql)
存储的字符数据 (耳机 500 索尼 黑色 北京地址 订单时间2019-05-05 13:00)
6) 厨师---存储服务器 (nfs)
存储图片 音频 视频 附件等数据信息
7) 厨师---备份服务器 (rsync+crond-定时备份 rsync+sersync--实时备份)
存储网站所有服务器的重要数据
8) 厨师---缓存服务器 (memcache redis mongodb)
a 将数据信息存储到内存中
b 减缓服务器的压力
9) 经理---批量管理服务器 (ansible)
批量管理多台服务器主机

部署网站架构:

1) 需要解决网站架构单点问题
迎宾: 高可用服务---keepalived
数据库: 高可用服务---mha
存储服务: 高可用服务---keepalived实现
高可用服务---分布式存储
备份服务:
面试题: 公司的数据是如何备份
1) 利用开源软件实现数据备份 rsync(免费)
2) 利用企业网盘进行数据备份 七牛云存储
3) 利用自建备份存储架构 两地三中心
缓存服务: 高可用服务--- 缓存服务集群/哨兵模式
2) 内部员工如何远程访问架构
部署搭建VPN服务器 PPTP vpn
https://blog.oldboyedu.com/pptp-l2tp/
3) 内部员工操作管理架构服务器要进行审计
跳板机服务器 jumpserver
https://jumpserver.readthedocs.io/zh/docs/setup_by_centos.html
4) 架构中服务器出现问题需要进行提前报警告知
部署监控服务器 zabbix

02. 综合架构规划

主机名称和IP地址规划

01. 防火墙服务器 firewalld 10.0.0.81(外网地址) 172.16.1.81(内外地址) 软件: firewalld
02. 负载均衡服务器 lb01 10.0.0.5 172.16.1.5 软件: nginx keepalived
03. 负载均衡服务器 lb02 10.0.0.6 172.16.1.6 软件: nginx keepalived
04. web服务器 web01 10.0.0.7 172.16.1.7 软件: nginx
05. web服务器 web02 10.0.0.8 172.16.1.8 软件: nginx
06. web服务器 web03 10.0.0.9(存储) 172.16.1.9 软件: nginx
07. 数据库服务器 db01 10.0.0.51 172.16.1.51 软件: mysql(慢) mariaDB
08. 存储服务器 nfs01 10.0.0.31 172.16.1.31 软件: nfs
09. 备份服务器 backup 10.0.0.41 172.16.1.41 软件: rsync
10. 批量管理服务器 m01 10.0.0.61 172.16.1.61 软件: ansible
11. 跳板机服务器 jumpserver 10.0.0.71(61) 172.16.1.71 软件: jumpserver
12. 监控服务器 zabbix 10.0.0.72(61) 172.16.1.72 软件: zabbix
先把路走通,再进行变通

*10. 缓存服务器 忽略

03. 优化配置模板主机--centos-01-模板机

1) 进行网络配置

a 添加网卡

--右键模板机--设置--添加--网络适配器NAT--完成。
--第一块网卡默认为NAT,外网网卡。(默认外网为10.0.0.0/24)
--第二块网卡:网络适配器2--LAN区段--LAN区段--添加--172.16.1.0/24(随意写既可)--确定--选中所添加的。此时同意网段都是同一内网可相互通信。
--注意内存调整为1G

b 配置网卡

vim /etc/sysconfig/network-scripts/ifcfg-eth1或者nmtui配置,不需要DNS和网关。nmtui需要开启NetworkManager服务
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
#UUID=f0bd4e71-c72f-4285-8688-43b317143a67
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.200
PREFIX=24
#DNS2=114.114.114.114
IPV6_PRIVACY=no
UUID=9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04

c 确认网络配置

ip a show

2) 系统优化过程

1. 模板机优化配置---hosts文件配置

\cp /etc/hosts{,.bak}
cat >/etc/hosts<<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.51 db01 db01.etiantian.org
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.61 m01
EOF

2. 模板机优化配置---更改yum源

更改yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup &&
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y wget
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
PS:yum repolist 列出yum源信息;讲解什么是epel源

3. 模板机优化配置---关闭selinux

关闭selinux

sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce

4. 模板机优化配置---关闭iptables

关闭iptables centos7

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

5. 模板机优化配置---提权oldboy可以sudo (可选配置)

提权oldboy可以sudo(可选配置)

useradd oldboy
echo 123456|passwd --stdin oldboy
\cp /etc/sudoers /etc/sudoers.ori
echo "oldboy ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c

6. 模板机优化配置---英文字符集

英文字符集

localectl set-locale LANG="en_US.UTF-8"

7. 模板机优化配置---时间同步

时间同步

yum install -y ntpdate
echo '#time sync by lidao at 2017-03-08' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root
crontab -l
注意点:与ntp1.aliyun.com或与ntp2.aliyun.com时间同步都可以 。

8. 模板机优化配置---加大文件描述

yum install -y net-tools
yum install -y lsof
lsof -i:22
#加大文件描述
echo '* - nofile 65536' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
说明:
一个服务程序运行起来,会打开相应的文件
crond定时任务服务---systemctl start crond --- 打开相应文件
/var/spool/cron/root --- 加载打开配置文件
/var/log/cron --- 加载打开日志文件

9. 模板机优化配置---安装其他小软件

安装其他小软件

yum install lrzsz nmap tree dos2unix nc telnet wget lsof ntpdate bash-completion bash-completion-extras -y

10. 模板机优化配置---ssh连接速度慢优化

ssh连接速度慢优化

sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config
systemctl restart sshd

04. 进行模板主机克隆操作

1. 进行模板机快照拍摄

2. 进行虚拟主机克隆

创建链接克隆 (学习环境)

优势:

a 节省物理主机资源
b 克隆主机效率快

劣势:

a 模板主机删除,链接主机也会失效

创建完整克隆 (企业应用)

优势:

a 模板主机删除,克隆主机依然可以使用

劣势:

a 比较消耗物理主机资源
b 克隆主机效率低
先克隆两台主机:
综合架构-备份服务器-10.0.0.41
综合架构-存储服务器-10.0.0.31

3. 克隆后虚拟主机配置

a 修改主机名称

hostnamectl set-hostname backup

b 修改主机地址

sed -i 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
grep 41 /etc/sysconfig/network-scripts/ifcfg-eth[01]
sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]
grep UUID /etc/sysconfig/network-scripts/ifcfg-eth[01]
systemctl restart network
PS: 一台一台顺序启动,进行修改,不要同时启动

补充: 克隆好的主机无法远程连接:

解决方式:
01. 利用ping方式测试
02. 关闭xshell软件重新打开

05. 备份服务器说明

作用:
01. 数据备份的服务器
02. 进行日志统一保存
[root@nfs01 backup]# grep -r oldboy /backup/
/backup/10.0.0.7_bak/oldboy.log:oldboy

如何部署搭建备份服务器: rsync服务

06. 什么是rsync服务

Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具

07. rsync软件使用方法:

rsync命令 1v4

a 本地备份数据 cp

[root@nfs01 backup]# cp /etc/hosts /tmp
[root@nfs01 backup]# ll /tmp/hosts
-rw-r--r-- 1 root root 371 May 6 16:11 /tmp/hosts
[root@nfs01 backup]# rsync /etc/hosts /tmp/host_rsync
[root@nfs01 backup]# ll /tmp/host_rsync
-rw-r--r-- 1 root root 371 May 6 16:12 /tmp/host_rsync

b 远程备份数据 scp

scp -rp /etc/hosts root@172.16.1.41:/backup
root@172.16.1.41's password:
hosts 100% 371 42.8KB/s 00:00
-r --- 递归复制传输数据
-p --- 保持文件属性信息不变
[root@nfs01 ~]# rsync -rp /etc/hosts 172.16.1.41:/backup/hosts_rsync
root@172.16.1.41's password:

rsync远程备份目录:
[root@nfs01 ~]# rsync -rp /oldboy 172.16.1.41:/backup --- 备份的目录后面没有 /
root@172.16.1.41's password:
[root@backup ~]# ll /backup
total 0
drwxr-xr-x 2 root root 48 May 6 16:22 oldboy
[root@backup ~]# tree /backup/
/backup/
└── oldboy
├── 01.txt
├── 02.txt
└── 03.txt

1 directory, 3 files

[root@nfs01 ~]# rsync -rp /oldboy/ 172.16.1.41:/backup --- 备份的目录后面有 /
root@172.16.1.41's password:
[root@backup ~]# ll /backup
total 0
-rw-r--r-- 1 root root 0 May 6 16:24 01.txt
-rw-r--r-- 1 root root 0 May 6 16:24 02.txt
-rw-r--r-- 1 root root 0 May 6 16:24 03.txt
总结: 在使用rsync备份目录时:
备份目录后面有 / -- /oldboy/ : 只将目录下面的内容进行备份传输
备份目录后面没有/ -- /oldboy : 会将目录本身以及下面的内容进行传输备份

c 替代删除命令

rm命令
[root@nfs01 ~]# rsync -rp --delete /null/ 172.16.1.41:/backup
root@172.16.1.41's password:
--delete 实现无差异同步数据
面试题: 有一个存储数据信息的目录, 目录中数据存储了50G数据, 如何将目录中的数据快速删除
rm /目录/* -rf

d 替代查看文件命令 ls

[root@backup ~]# ls /etc/hosts
/etc/hosts
[root@backup ~]# rsync /etc/hosts
-rw-r--r-- 371 2019/05/06 11:55:22 hosts

08 rsync命令语法格式

SYNOPSIS
Local: rsync [OPTION...] SRC... [DEST]

本地备份数据:

src: 要备份的数据信息
dest: 备份到什么路径中

远程备份数据:

Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
[USER@] --- 以什么用户身份拉取数据(默认以当前用户)
hosts --- 指定远程主机IP地址或者主机名称
SRC --- 要拉取的数据信息
dest --- 保存到本地的路径信息

Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
SRC --- 本地要进行远程传输备份的数据
[USER@] --- 以什么用户身份推送数据(默认以当前用户)
hosts --- 指定远程主机IP地址或者主机名称
dest --- 保存到远程的路径信息

守护进程方式备份数据 备份服务

1. 可以进行一些配置管理
2. 可以进行安全策略管理
3. 可以实现自动传输备份数据

Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

09. rsync服务部署安装过程

linux系统安装部署服务流程:
a 下载安装软件 yum
b 编写配置文件
c 搭建服务环境 备份的目录/目录权限
d 启动服务程序 开机自动启动
e 测试服务功能

10. 课程总结

01. 网站架构组成
02. 网站架构规划(主机名称 主机地址 系统优化(脚本))
03. 虚拟主机克隆操作
a 关闭主机--链接克隆
b 克隆好的主机一台一台按顺序启动,修改配置(主机名称 主机地址)
04. rsync备份服务
rsync命令用法 1v4
rsync语法格式 本地备份 远程备份

posted on 2020-02-20 22:27  zhangfd  阅读(327)  评论(0)    收藏  举报