返回顶部

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  阅读(303)  评论(0编辑  收藏  举报