第三十节课综合架构开场章节

  1. 课程知识回顾部分
    01:静态默认路由
    centos6: route add default gw 10.0.0.254
    centos7: ip route add default via 10.0.0.254
    02:静态网段路由
    centos6: route add -net 223.5.5.0 netmask 255.255.255.0 gw 10.0.0.254
    临时:centos7: ip route add 223.6.6.0/24 via 10.0.0.254
    永久: vim /etc/sysconfig/network-scripts/route-eth0
    223.6.6.0/24 via 10.0.0.254 dev eth0
    ADDRESS0=
    GATEWAY0=
    NETMASK0=
    重启网卡生效
    03:静态主机路由
    centos6: route add -host 223.5.5.5 gw 10.0.0.254
    临时:centos7: ip route add 223.5.5.5/32 via 10.0.0.254
    永久: vim /etc/sysconfig/network-scripts/route-eth0
    223.6.6.6/32 via 10.0.0.254 dev eth0
    04:企业网络配置说明
    01:网络拓扑图
    02:配置路由器
    配置路由器的接口;
    配置路由器接口的IP地址;
    配置DHCP
    03.配置vlan
    name vlan 2
    在把接口加入到vlan 2中.
    trunk
    默认 access
    sw mo trunk
    sw tr interface0/1
    04:虚拟机上网原理
    ssh远程登录
    网卡地址是否配置正确;
    物理地址是否配置正确;
    虚拟网路编辑器;
    网络服务是否开启;
    网络安全服务;

            NAT    桥接   仅主机
        不能访问外网:
            ping www.baidu.com
            DNS配置
    
    1. 网络知识常用命令
      route/ip route --- 查看系统路由信息/设置系统路由
      ping --- 测试网络连通性
      -c ---指定数据包发送数量
      -i ---指定数据包发送间隔
      -q ---指定只显示结果信息
      -f ---极速ping多个包

      批量测试一个网段IP地址:
      [root@oldboyedu scripts]# cat test_host.sh

      !/bin/bash

      . /etc/init.d/functions

      for ip in ip &>/dev/null
      if [ 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"

  2. 系统模板主机克隆说明
    a 主机克隆准备工作
    虚拟主机网络配置 添加了一块内网网卡
    虚拟主机系统优化
    b 主机克隆过程说明
    链接克隆: 利用模板机做为克隆主机, 生成链接克隆主机
    节省克隆之后的资源 占用少
    克隆主机效率较高
    克隆主机 依赖 模板主机
    完整克隆: 利用模板机做为克隆主机, 生成完整克隆主机 企业常用
    浪费克隆之后的资源 占用多
    克隆主机效率较低
    克隆主机 与 模板主机相互独立

    克隆后主机初始化脚本:
    cat /server/scripts/init.sh

    !/bin/bash

    Host_name=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

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

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

    备份服务器备份数据, 备份的是什么数据

    1. 内部人员产生数据: 脚本文件 代码信息 配置文件(ansible) 数据库文件 日志文件 --- 定时任务备份
    2. 外部人员产生数据: 图片信息 附件信息 视频信息 --- 实时数据备份
  2. 备份服务实现备份数据方法
    rsync软件: a fast, versatile, remote (and local) file-copying tool
    快速 多功能 远程(本地)文件备份工具
    官网: https://rsync.samba.org/

    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软件使用方式:
方式一: 利用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/    ???  全量备份数据
============================================================================
rsync传输目录说明:
传输目录后面有斜线 /oldboy/   表示将目录下面的数据内容进行传输备份
传输目录后面无斜线 /oldboy    表示将目录本身以及下面的数据内容都进行传输备份
============================================================================

问题一: 如何免交互备份数据信息
问题二: 如何实现增量备份数据
问题三: 如何限制进行传输连接数
问题四: 如何实现认证备份数据
        开发人员 100人  dev 认证用户备份数据 /backup/dev 
        运维人员  50人  sa  认证用户备份数据 /backup/sa
        数据库    10人  dba 认证用户备份数据 /backup/dba

采用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
  1. 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 [email protected]::backup

你可能感兴趣的:(第三十节课综合架构开场章节)