day 30 综合架构备份章节

一.课程介绍部分

1.备份服务概念介绍
2.rsync备份服务软件使用方法
3.rsync备份服务配置文件/etc/rsyncd.conf
04.rsync备份服务应用方式
05.rsnyc备份服务排错过程
01.学习方法---服务
01.安装部署(yum  rpm  编译nginx 二进制包)
02.如何配置
03.如何运行
04.如何应用   命令rsync 
05.排错和优化
02.网络知识常用命令
route/iproute--查看系统路由信息/设置系统路由
  ping    ----   测试网络连通性
      -c   指定数据包发送数量
      -i    指定数据包发送间隔
      -q   指定只显示结果信息
      -f    急速ping多个包
    批量测试一个网段IP地址:
    [root@oldboyedu scripts]# cat test_host.sh 
    #!/bin/bash
    
    . /etc/init.d/functions
    
    for ip in $(cat /server/scripts/ip_info.txt)
    do
      ping -c 3 $ip &>/dev/null
      if [ $? -eq 0 ]
      then
         action $ip  /bin/true
      else
         action $ip  /bin/false
      fi
    done
    
    telnet/nc/nmap         --- 测试服务端口连通性
    telnet 10.0.0.200 22
    nc 10.0.0.200 22
    nmap -p 23 10.0.0.200
    nmap -p 1-1024 www.baidu.com   --- 扫描一个网站服务器开启的端口信息
    
    dig/nslookup           --- 解析获得域名对应IP地址  
    dig www.baidu.com
    nslookup www.baidu.com
    
    tcpdump                --- 抓取数据包命令
    tcpdump -i eth0 -c 3 -nn "port 53"

二.系统模板主机克隆说明

a主机克隆准备工作
  虚拟主机网络配置  添加了一块内网网卡
  虚拟主机系统优化
b主机克隆过程说明
  连接克隆: 利用模板机做为克隆主机,生成链接克隆主机
                      节省克隆之后的资源   占用少
                        克隆主机效率较高
                        克隆主机 依赖  模板主机
    主机损坏克隆机不能用
  完整克隆:利用模板机做为克隆主机,生成完整克隆主机    企业常用
                    浪费克隆之后的资源   占用多
                     克隆主机效率较低   
                克隆主机与模板主机相互独立
    克隆后要修改克隆主机名臣和IP地址,
    举例:用脚本编写 
              克隆后主机初始化脚本
    cat /server/scripts/init.sh
    #!/bin/bash     -------------------脚本固定格式
  Host_name=$1  -------------------调取脚本外面第一个数据信息
  Host_ip=$2         ------------------调取脚本外面第二个数据信息
  
  #修改主机名称           --------------------------带#的表示是注释信息
  hostnamectl sethostname $Host_name
  #修改网卡地址
   set -i    "s#200#$Host_ip#g;/UUID|HWADDR/d" /etc/sysconfig/network-scripts/ifcfg-eth[01]    sed命令不懂参见三剑客sed章节
  #重启网络服务
  sleep 2         --------------------------表示间隔两秒钟  再执行下面的命令
    systemctl  restart network            重启网络服务
  这个脚本就编写结束了   如何执行这个脚本文件:
   1. 克隆好主机   然后连接模板机(因为克隆完成以后 克隆主机和模板机是同一个网络)
   2.执行脚本:sh /server/scripts/init.sh  +主机名称  +ip地址      ------------------后面+的东西直接让脚本里面的$1$2给调用        

三.01.备份服务概念介绍

a对网站服务器数据进行备份存储 (恢复丢失数据   恢复误修改数据)
b对网站服务器数据进行对比分析
c对网站服务器数据进行统一管理
02.备份服务器应该有几台合适:
  同一机房要有多个备份服务器
  不同机房要有多个备份服务器
  不同地理位置有多个备份服务器
  ps:中石油备份数据架构解决方案  --两地三中心 
03.备份服务器备份数据,备份的是什么数据
    1.内部人员产生数据:脚本文件  代码信息 配置文件(ansible)数据库文件  日志文件  ---定时任务备份
    2.外部人员产生数据:图片信息  附件信息 视频信息  ---实时数据备份
04.备份服务实现备份数据方法
rsync软件:a fast, versatile, remote (and local) file-copying tool 
           快速      多功能                  远程(本地)文件备份工具
rsync软件实现快速备份:
  全量备份数据:将所有数据进行完整备份传输   备份传输数据效率较低
  增量备份数据:将变化数据进行备份传输       备份传输数据效率较高
增量备份数据原理:
1. 比较数据属性信息: oldboy_dir : oldboy.txt(修改) oldgirl.txt        ---->   备份服务器: /backup  oldboy.txt oldgirl.txt 
   默认rsync增量传输数据利用属性信息做比较
2. 比较数据指纹信息: oldboy_dir : oldboy.t xt(cba)  oldgirl.txt(abcd)  ---->   备份服务器: oldboy.txt(abc)  oldgirl.txt(abcd)
   使用rsync -c (-c, --checksum              skip based on checksum, not mod-time & size)  基于指纹信息判断文件的变化

四.rsync软件使用方法

 01.利用rsync软件实现本地备份
  Local:  rsync [OPTION...] SRC... [DEST]
[root@backup ~]# cp /etc/hosts /tmp/
[root@backup ~]# rsync /etc/hosts /tmp/hosts.bak
[root@backup ~]# ll /tmp/hosts*
-rw-r--r-- 1 root root 337 8月  12 17:09 /tmp/hosts
-rw-r--r-- 1 root root 337 8月  12 17:09 /tmp/hosts.bak
在本地备份这rsync命令和cp命令差不多
02.利用 rsync软件实现远程备份
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
[USER@] --登录远程主机用户信息  默认不指定用户使用当前登录系统用户进行连接
HOST     ---远程主机IP地址信息或者主机名称信息
SRC     远程主机上要备份传输到本地主机数据信息
DEST    将数据保存本地主机路径信息
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
[USER@]     登录远程主机用户信息   默认不指定用户使用当前登录系统用户进行连接
HOST    远程主机IP地址信息或者主机名称信息
SRC   本地主机上要备份传输到远程主机数据信息
DEST     将数据保存远程主机路径信息
远程备份文件: 本地数据 ---> 远程主机
scp /etc/hosts 172.16.1.31:/tmp
rsync /etc/hosts 172.16.1.31:/tmp

远程备份目录: 本地数据 ---> 远程主机
scp -rp /oldboy 172.16.1.31:/tmp/
rsync -vrp /oldboy 172.16.1.31:/tmp/    ???  全量备份数据
============================================================================
rsync传输目录说明:
传输目录后面有斜线 /oldboy/   表示将目录下面的数据内容进行传输备份
传输目录后面无斜线 /oldboy    表示将目录本身以及下面的数据内容都进行传输备份
============================================================================
采用rsync守护进程方式实现数据远程备份:
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
SRC:     本地主机上要备份推送数据信息
[USER@]  备份服务认证用户信息
HOST::   备份服务器IP地址信息或者主机名称信息
DEST     备份服务器模块名称信息

      rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

五rsync守护进程方式部署流程:

服务端部署过程:
01.第一个里程:确认软件是否安装/安装软件程序
rpm -qa rsync
yum install -y rsync
02.第二个里程:编写配置文件(考试题)
 vi /etc/rsyncd.conf                     -----学习配置man rsyncd.conf
  uid = rsync                            -----管理备份目录属主信息
gid = rsync                              -----管理备份目录属组信息
port = 873                               -----指定rsync守护进程服务端口信息   默认端口为873
fake super =yes                          -----让指定虚拟用户伪装成管理员用户,可以强行修改文件属主属组权限信息
use chroot = no                          -----和远程传输安全有关参数
max connections =200                     -----设置最大连接数
timeout = 300                            -----连接超时时间(默认秒 )没有数据传输的时间
pid file = /var/run/rsyncd.pid           -----记录服务进程号码文件==pid文件  
                                         -----判断服务是否开启或关闭
lock file = /var/run/rsyncd.lock         -----当max connections达到上限,利用锁文件阻止新的连接建立
log file = /var/log/rsyncd.log           -----程序日志文件(排错的时候在里面查找信息)
ignore errors                            -----忽略错误信息  提升传输数据效率
read only = false                        -----设置备份目录权限为可读可写
list = false                             -----在守护进程的模式下 以列表的形式展现所有的模块
hosts allow = 172.16.1.0/24              -----设置访问策略   白名单
hosts deny = 0.0.0.0/32                  -----设置访问策略   黑名单
auth users = rsync_backup                -----认证用户信息
secrets file = /etc/rsync.password       -----认证用户密码文件   用户信息;密码信息
[backup]                                 -----模块信息
comment = "backup dir by oldboy"         -----模块注释说明信息
path = /backup/                          -----指定备份目录
实际配置信息:
uid = rsync
gid = rsync
port = 873
#fake super = yes
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by oldboy"
path = /backup
03.第三个里程:创建rsync服务虚拟用户
useradd -M -s /sbin/nologin rsync
04.第四个里程:创建密码文件 修改文件权限
echo rsync_backup:oldboy123 >/etc/rsync.password   
echo oldboy:oldboy123 >/etc/rsync.password    
chmod 600 /etc/rsync.passwod
05.创建备份目录 修改目录属主属组信息
mkdir /backup
chown rsync.rsync  /backup
06. 启动或重启服务 然后永久开机自启设置
systemctl start rsyncd
systemctl restart rsyncd
systemctl enable rsyncd
systemctl status rsyncd     查看当前的服务状态
客户端部署过程
测试服务端部署过程
rsync -avz /oldboy [email protected]::backup

你可能感兴趣的:(day 30 综合架构备份章节)