day30综合架构备份服务篇

  • 网络知识常用命令

  • 系统模板主机克隆说明

  • 备份服务概念介绍

  • rsync备份服务软件的使用方法

  • rsync备份服务配置文件

  • rsync备份服务应用方式

1.网络知识常用命令

查看系统路由信息
ip route show
nestat -rn
route -n

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地址
需要安装bind-utils
dig www.baidu.com
nslookup www.baidu.com

tcpdump       --- 抓取数据包命令
tcpdump -i eth0 -c 3 -nn "port 53"

2.系统模板主机克隆说明
1.主机克隆准备工作
  虚拟主机网络配置(添加了一块VLAN段网卡)
  虚拟主机系统优化
2.主机克隆过程说明
  链接克隆:利用模板机作为克隆主机,生成链接克隆主机
  特点:节省克隆之后的资源占用少
        克隆主机效率较高
        克隆主机依赖模板主机(模板主机删除克隆主机失效)
  完整克隆:利用模板机作为克隆主机,生成完整克隆主机
  特点:克隆之后的主机占用资源多
        克隆主机效率较低
        克隆主机与模板主机相互独立

克隆后的主机初始化脚本:
cat /server/scripts/init.sh 
    #!/bin/bash
    
    Host_name=$1
    Host_ip=$2
    
    # 修改主机名称
    hostnamectl set-hostname $Host_name
    # 修改网卡地址
    sed -ri "s#200#$Host_ip#g;/UUID|HWADDR/d" /etc/sysconfig/network-scripts/ifcfg-eth[01]
    # 重启网络服务
    sleep 2
    systemctl restart network

3.备份服务概念
a.对网站服务器数量进行备份存储(恢复丢失数据 恢复误修改数据)
b.对网站服务器数据进行对比分析
c.对网站服务器数据进行统一管理(web服务集群 web文件日志)

备份服务器有多少台合适:
  例:中石油备份数据架构解决方案——两地三中心
  同一机房要有多个备份服务器
  不同机房要有多个备份服务器
  不同地理位置有多个备份服务器

备份服务器备份数据,备份的是什么数据:
  1.内部人员产生数据:脚本文件,代码信息,配置文件(ansible),数据库文件,日志文件 ——定时任务备份
  2.外部人员产生数据:图片信息,附件信息,视频信息 ——实时数据备份

3.备份服务实现数据备份方法
rsync软件:a fast 、versatile 、remote(and local)file-copying tool
极速,多功能,远程(本地)文件备份工具
官网: https://rsync.samba.org/

rsync软件实现快速备份:
  全量备份数据:将所有数据进行完整备份传输
          特点:备份传输数据效率较低

  增量备份数据:将变化数据进行备份传输
          特点:备份传输数据效率较高
  增量备份数据原理:
    1.比较数据属性信息:文件的修改等
    2.比较数据指纹信息:md5sum /文件

[root@nfs01 ~]$ md5sum /etc/hosts
79cdfa52462ba75cac1c728451a045e6  /etc/hosts

    使用rsync -c (-c, --checksum skip based on checksum, not mod-time & size) 基于指纹信息判断文件的变化

rsync软件使用方式:

方式一:利用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软件实现远程备份
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/
  -p   文件属性信息不改变
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守护进程方式部署流程:

服务端部署过程:
第一个里程: 确认软件是否安装/安装软件程序
    rpm -qa rsync
    yum install -y rsync 
    
第二个里程: 编写配置文件 
    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文件   
                                           判断服务是否开启或关闭 --- shell
    lock file = /var/run/rsync.lock    --- 当max connection达到上限, 利用锁文件阻止新的连接建立
    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
第三个里程: 创建rsync服务虚拟用户
    useradd -M -s /sbin/nologin rsync 
    
第四个里程: 创建密码文件 修改文件权限
    echo rsync_backup:oldboy123 >/etc/rsync.password
    echo oldboy:oldboy123 >>/etc/rsync.password         --- 密码文件中添加多个认证用户
    chmod 600 /etc/rsync.password 
    
第五个里程: 创建备份目录  修改目录属主属组信息
    mkdir /backup
    chown rsync.rsync /backup
    
第六个里程: 启动或重启服务
    systemctl start rsyncd
    systemctl restart rsyncd 
    systemctl enable rsyncd

客户端部署过程:
    第一个里程: 测试服务端部署过程
    rsync -avz /oldboy rsync_backup@172.16.1.41::backup
    第二个里程: 创建生成密码文件
    echo oldboy123 >/etc/rsync.password
    chmod 600 /etc/rsync.password
    第三个里程: 实现免交互传输数据 
    [root@nfs01 ~]# rsync -avz  /oldboy/oldboy.txt rsync_backup@172.16.1.41::backup   --password-file=/etc/rsync.password
    sending incremental file list
    oldboy.txt
    
    sent 93 bytes  received 43 bytes  272.00 bytes/sec
    total size is 0  speedup is 0.00
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、服务学习技巧 1.安装部署 yum、rpm(一解决软件之间的依赖关系;二知晓软件属于哪个安装包)、编译(在ng...
    荆俊玮阅读 3,110评论 0 0
  • 一、 系统模板机主机克隆说明 a 主机克隆准备工作虚拟主机网络配置 添加一块内网网卡虚拟主机系统优化b 主机克...
    齐望羽阅读 1,526评论 0 0
  • 课程知识回顾部分01:静态默认路由centos6: route add default gw 10.0.0.254...
    威士忌酸WhiskySour阅读 1,409评论 0 0
  • 1.ping --- 测试网络连通性 -c ---指定数据包发送数量-i --- 指定数据包发送间隔-q ---指...
    斗魂_2e5d阅读 1,540评论 0 0
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,995评论 0 9

友情链接更多精彩内容