rsync同步操作 inotify实时同步 cobbler装机平台 DNS主从结构

目录

 

rsync同步操作

rsync基本使用

rsync+ssh同步:远程同步

实时同步

inotify实时同步

inotifywait监控

cobbler装机平台

cobbler简介

基本概念:

装机步骤

cobbler装机部署

cobbler应用

自定义应答文件:开头注释行删除

DNS服务器的主从结构

备份主服务器的数据,解决单点故障


rsync同步操作

rsync基本使用

  • 命令用法:rsync  [选项]    源目录    目标目录
  • 同步与复制的差异:

                             复制:完全拷贝源到目标

                             同步:增量拷贝,只传输变化过程(第一次传输的时候会自动记住源目录和目标目录的校验值,以后每次只传输变化的值)

  • rsync选项:

              -a:归档模式,相当于-rlptgoD

              -n:测试同步过程,不做实际修改

              -v:显示详细操作信息

              -z:传输过程中启用压缩/解压缩

            --delete:删除目标文件夹内多余的文档

              

执行rsync命令时,源目录后面如果不加/,则默认把目录本身以及目录下面的内容一同传输到目标目录

rsync命令只是单方向,目标数据自己多出来的数据

[root@svr7 ~]# mkdir  /nsd01  /todir

[root@svr7 ~]# cp  /etc/passwd   /etc/shadow    /nsd01

[root@svr7 ~]# ls  /nsd01
passwd  shadow

[root@svr7 ~]# rsync  -av   /nsd01   /todir
sending incremental file list
nsd01/
nsd01/passwd
nsd01/shadow

[root@svr7 ~]# rsync  -av   /nsd01/   /todir
sending incremental file list
./
passwd
shadow

[root@svr7 ~]# rsync  --delete     -av    --delete   /nsd01/   /todir
sending incremental file list
deleting nsd01/shadow
deleting nsd01/passwd
deleting nsd01/
./

[root@svr7 ~]# ls  /todir
passwd  shadow

[root@svr7 ~]# touch  /nsd01/1.txt

[root@svr7 ~]# rsync  --delete     -av    --delete   /nsd01/   /todir
sending incremental file list
deleting nsd01/shadow
deleting nsd01/passwd
deleting nsd01/
./
1.txt

[root@svr7 ~]# ls  /todir
1.txt  passwd  shadow


rsync+ssh同步:远程同步

  • 列出ssh服务端资源

rsync   user@host    :远程   目录/

  • 与远程的ssh目录保持同步

下行(下载):rsync   [....]    user@host:远程目录   本地目录

上行(上传):rsync  [....]    本地目录    user@host:远程目录

[root@svr7 ~]# rsync   -av  --delete  /todir/   root@192.168.4.207:/opt

[root@pc207 ~]# ls  /opt
1.txt  passwd  shadow

[root@svr7 ~]# touch  /todir/3.txt

[root@svr7 ~]# rsync  -av  --delete  /todir/   root@192.168.4.207:/opt

[root@pc207 ~]# ls  /opt
1.txt  3.txt passwd  shadow

[root@svr7 ~]# touch  /todir/4.txt

[root@svr7 ~]# rsync  -av  --delete   /todir/  root@192.168.4.207:/opt

[root@pc207 ~]# ls  /opt
1.txt  3.txt  4.txt  passwd  shadow

实时同步

  1. 虚拟机A:生成公钥与私钥,取消密码验证
    [root@svr7 ~]# ssh-keygen                  #一路回车
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:w7qmLC4X9KOR0jsTYe9bmNfHey23UPOPdJ2OnlTZxKw root@svr7.tedu.cn
    The key's randomart image is:
    +---[RSA 2048]----+
    |                 |
    |               o |
    |                +|
    |  +    .       oo|
    | + =    S     Eo.|
    |. * +o o o   ..oo|
    | . Bo.+ . o .o..+|
    |. B..o.. . .+o*o.|
    | +.+++.   ...*oo.|
    +----[SHA256]-----+
    
    [root@svr7 ~]# ls  /root/.ssh
    authorized_keys  id_rsa(私钥)  id_rsa.pub(公钥)  known_hosts(记录曾经远程管理过的机器)
    

     

  2. 将公钥传递给对方
    [root@svr7 ~]# ssh-copy-id  root@192.168.4.207
    
    [root@pc207 ~]# ls  /root/.ssh
    authorized_keys (别的机器传递过来的公钥)
    
    [root@svr7 ~]# rsync  -av  --delete  /todir/   root@192.168.4.207:/opt
    

     



inotify实时同步

安装inotity-tools工具软件,监控目录内容

  • 1.真机上传数据到虚拟机A
[student@room9pc01 ~]$ ls  /linux-soft/
01  02  03  04  05
[student@room9pc01 ~]$ ls  /linux-soft/01
Cobbler.zip  tools.tar.gz
[student@room9pc01 ~]$ scp  /linux-soft/01/tools.tar.gz  root@192.168.4.7:/tmp
tools.tar.gz                                                                 100%  766KB   2.3MB/s   00:00    
  • 2.用虚拟机A查看是否上传成功
[root@svr7 ~]# ls  /tmp           #查看tmp目录下是否有该压缩包(虚拟机)
systemd-private-8baf54c5b1c04ba3a5f3525818b9c081-chronyd.service-Jon8iZ  tools.tar.gz
systemd-private-b4e3a5aa0fe14eb493d2b5bed82bbce7-chronyd.service-1X4Kli
[root@svr7 ~]# tar  -xf  /tmp/tools.tar.gz   -C  /    #将源码包释放到根

[root@svr7 ~]# ls /
bin   dev  home  lib64  mnt    opt   root  sbin  sys  todir  tpdir  var
boot  etc  lib   media  nsd01  proc  run   srv   tmp  tools  usr

[root@svr7 ~]# ls  /tools
inotify-tools-3.13.tar.gz  other
  • 3.tar解包
[root@svr7 ~]# tar  -xf  /tools/inotify-tools-3.13.tar.gz   -C  /usr/local/

[root@svr7 ~]# ls  /usr/local/
bin  etc  games  include  inotify-tools-3.13  lib  lib64  libexec  sbin  share  src
  • 4.进行源码包编译安装 

1)下载gcc和make软件

[root@svr7 ~]# yum  -y  install gcc make

2)./configure配置,指定安装目录/功能模块等选项

[root@svr7 ~]# cd  /usr/local/inotify-tools-3.13/

[root@svr7 inotify-tools-3.13]# ./configure

3)make编译,生成可执行的二进制文件

[root@svr7 inotify-tools-3.13]# make

4)make install 安装,将编译好的文件复制到安装目录

[root@svr7 inotify-tools-3.13]# make install

[root@svr7 inotify-tools-3.13]# ls  /usr/local/bin/inotifywait 
/usr/local/bin/inotifywait            #查看是否有该程序

inotifywait监控

  • 基本用法 

inotifywait  [选项]      目标文件夹

  • 常用命令选项

-m:持续监控(捕获一个事件后不退出)

-r:递归监控,包括子目录及文件

-q:减少屏幕输出的信息

-e:指定监视的modify.move.create.delete.attrib等事件类别

三.书写一个shell脚本

循环解决重复性的操作

for   循环:适合书写有次数的循环

while 循环:适合书写不限次数的循环

[root@svr7 ~]# vim /root/rsync.sh
#!/bin/bash
while  inotifywait    -rqq   /todir/
do
rsync   -a  --delete   /todir/  root@192.168.4.207:/opt
done
[root@svr7 ~]# chmod  +x  /root/rsync.sh

[root@svr7 ~]# /root/rsync.sh &
[1] 6113

[root@svr7 ~]# jobs  -l
[1]+  6113 运行中               /root/rsync.sh &


cobbler装机平台

前提:建立一个支持图形化的虚拟机

1.操作系统为:CentOs7.5

2.内存大小为:2G

3.磁盘空间为:50G

4.虚拟网络类型为:private1

5.软件包选择"带GUI的服务器"

6.分区选择"自动分区"

7.管理员root密码为1

8.创建普通用户lisi,密码为1

cobbler简介

基本概念:

  1. cobbler是一款快速的网络系统部署工具
  2. 集中管理所需服务,如DHCP.DNS.TFTP.WEB
  3. cobbler内部集成了一个镜像版文件仓库
  4. cobbler内部集成了一个ks应答文件仓库
  5. cobbler还提供了包括yum源管理,web界面管理,API接口,电源管理等功能

装机步骤

  • 一.具备一个CentOs虚拟机
  • 二.虚拟机设置防火墙为trusted,selinux设置为宽松模式,IP地址为192.168.4.123/24,主机名为cobbler.tedu.cn,构建yum源:
[root@cobbler ~]# cd  /etc/yum.repos.d/

[root@cobbler yum.repos.d]# mkdir  repo

[root@cobbler yum.repos.d]# mv  *.repo   repo

[root@cobbler yum.repos.d]# ls
repo

[root@cobbler yum.repos.d]# vim  zz.repo
[aaa]
name=sss
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0

[root@cobbler yum.repos.d]# yum  repolist 
  • 三.利用scp真机传递cobbler.zip包到虚拟机192.168.4.123中
[student@room9pc01 ~]$ scp  /home/student/桌面/cobbler.zip    root@192.168.4.123:/root
  • 四.搭建cobbler装机平台

cobbler概述软件,管理dhcp.TFTP.web服务

自由的导入镜像与ks应答文件

  1. 解压cobbler.zip软件包
    [root@cobbler ~]# yum  -y  install unzip 
    
    [root@cobbler ~]# unzip  /root/cobbler.zip  -d  /
    
    [root@cobbler ~]# ls  /cobbler
    cobbler_boot.tar.gz  cobbler_rpm.zip  cobbler_web.png
    
    [root@cobbler ~]# unzip   /cobbler/cobbler_rpm.zip   -d /opt
    
    
    [root@cobbler ~]# ls  /opt/cobbler/
    cobbler-2.8.2-1.el7.x86_64.rpm              python-cheetah-2.4.4-5.el7.centos.x86_64.rpm
    cobbler-web-2.8.2-1.el7.noarch.rpm          python-django-bash-completion-1.6.11.6-16.el7.noarch.rpm
    dhclient-4.2.5-58.el7.centos.1.x86_64.rpm   python-markdown-2.4.1-2.el7.noarch.rpm
    libyaml-0.1.4-11.el7_0.x86_64.rpm           python-pillow-2.0.0-19.gitd1c6db8.el7.x86_64.rpm
    mod_wsgi-3.4-12.el7_0.x86_64.rpm            python-pygments-1.4-10.el7.noarch.rpm
    python2-django-1.6.11.6-16.el7.noarch.rpm   PyYAML-3.10-11.el7.x86_64.rpm
    python2-simplejson-3.10.0-1.el7.x86_64.rpm  tftp-server-5.2-13.el7.x86_64.rpm
    

     

  • 五.安装cobbler主程序.工具包等
[root@cobbler ~]# yum  -y  install dhcp  httpd  mod_ssl

[root@cobbler ~]# yum  -y install  /opt/cobbler/*.rpm

[root@cobbler ~]# rpm  -q  cobbler
cobbler-2.8.2-1.el7.x86_64


cobbler装机部署

  • 1.安装软件cobbler   cobbler-web  dhcp  tftp-server   pykickstart  httpd

cobbler                           #cobbler程序包

cobbler-web                    #cobbler的web程序包

pykickstart                      #cobbler检查kickstart应答文件语法错误

httpd                                #dhcp服务

tftp-server                       #tftp服务

  • 2.配置cobbler的dhcp

[root@cobbler ~]# vim  /etc/cobbler/settings 
272 next_server: 192.168.4.123    #设置下一个服务器还为本机
384 server: 192.168.4.123         #设置本机为cobbler服务器
242 manage_dhcp: 1                #设置cobbler管理dhcp服务
292 pxe_just_once: 1              #防止客户端重复安装操作系统
    #冒号后面要有空格!!!!!!!!

开机启动选项:匹配即停止

  1. 硬盘启动
  2. 光驱设备
  3. U盘
  4. 网络引导
  • 3.配置cobbler的dhcp
[root@cobbler ~]# vim  /etc/cobbler/dhcp.template 
        :%s    /旧/新/g          #全文替换
        :%s   /192.168.1/192.168.4/g
  • 4.绝对路径解压cobbler_boot.tar.gz    #众多的引导文件
[root@cobbler ~]# tar  -tf  /cobbler/cobbler_boot.tar.gz    #查看包里面的内容

[root@cobbler ~]# tar  -xPf   /cobbler/cobbler_boot.tar.gz   #绝对路径释放(选项+P,无需指定释放路径)

[root@cobbler ~]# ls  /var/lib/cobbler/loaders/
COPYING.elilo     COPYING.yaboot  grub-x86_64.efi  menu.c32    README
COPYING.syslinux  elilo-ia64.efi  grub-x86.efi     pxelinux.0  yaboot
  • 5.启动相关服务
[root@cobbler ~]# systemctl restart  cobblerd
[root@cobbler ~]# systemctl enable  cobblerd

[root@cobbler ~]# systemctl restart  httpd
[root@cobbler ~]# systemctl enable  httpd

[root@cobbler ~]# systemctl restart  rsyncd
[root@cobbler ~]# systemctl enable  rsyncd
  • 6.同步刷新cobbler配置
[root@cobbler ~]# cobbler sync         #检查所有配置是否正确

 *** TASK COMPLETE ***                   #出现此行则证明正确
[root@cobbler ~]# firefox  https://192.168.4.123/cobbler_web
       用户名:cobbler
       密码:cobbler

cobbler应用

cobbler import  --path=挂载点   --name=导入系统命名(随意起)

  • 导入安装镜像数据
[root@cobbler ~]# mkdir  /dvd

[root@cobbler ~]# mount /dev/cdrom  /dvd        #一定要提前加光驱设备

[root@cobbler ~]# ls  /dvd
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

[root@cobbler ~]# cobbler import --path=/dvd   --name=Centos7

#cobbler导入的镜像在/var/www/cobbler/ks_mirror

[root@cobbler ~]# cobbler list   #查看有哪些系统
distros:
   Centos7-x86_64                #安装客户端至少要2G内存

profiles:
   Centos7-x86_64
  • 删除
[root@cobbler ~]# cobbler  profile  remove  --name=centos7-x86_64    #删除菜单信息
[root@cobbler ~]# cobbler  distro  remove  --name=centos7-x86_64     #删除镜像信息
[root@cobbler ~]# umount /dvd
[root@cobbler ~]# mount /dev/cdrom /dvd
mount: /dev/sr0 写保护,将以只读方式挂载
[root@cobbler ~]# ls  /dvd
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

自定义应答文件:开头注释行删除

[root@cobbler ~]# yum  -y  install  system-config-kickstart

[root@cobbler ~]# system-config-kickstart #进入图形化界面,生成ks文件

必须默认kickstart文件存放的位置:/var/lib/cobbler/kickstarts

[root@cobbler ~]# cobbler list

修改kickstart文件:

[root@cobbler ~]# cobbler  profile edit  --name=Centos7    --kickstart=/var/lib/cobbler/kickstarts/自定义.cfg

[root@cobbler ~]# cobbler  profile  report

[root@cobbler ~]# cobbler  sync   #同步设置

 



DNS服务器的主从结构

备份主服务器的数据,解决单点故障

准备三台虚拟机:1.虚拟机A:主DNS服务器    192.168.4.7

                           2.虚拟机B:从DNS服务器   192.168.4.207

                           3.虚拟机C:客户端测试       192.168.4.10

主DNS服务器

  • 1.安装软件包:
[root@svr7 ~]# yum  -y  install bind  bind-chroot
  • 2.修改配置文件:
[root@svr7 ~]# cp    /etc/named.conf   /etc/named.bak

[root@svr7 ~]# vim  /etc/named.conf
options {
        directory       "/var/named";
};
zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";
};
  • 3.建立地址库文件:
[root@svr7 ~]# cd  /var/named

[root@svr7 named]# cp  -p  named.localhost   tedu.cn.zone

[root@svr7 named]# vim  tedu.cn.zone

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
tedu.cn.        NS      svr7
svr7            A       192.168.4.7
www             A       1.2.3.4
  • 4.重起服务:
[root@svr7 named]# systemctl restart named
  • 5.修改主配置文件,指定从服务器IP地址
options {
        directory       "/var/named";
        allow-transfer  { 192.168.4.207;     };      #指定从服务器IP地址
};
zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";
};
  • 6.修改地址库文件进行声明
[root@svr7 named]# vim  tedu.cn.zone

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
tedu.cn.        NS      svr7
tedu.cn.        NS      pc207
svr7            A       192.168.4.7
pc207           A       192.168.4.207
www             A       1.2.3.4
  • 7.再次重启服务
[root@svr7 named]# systemctl  restart  named

从DNS服务器

  • 1.安装软件包:
[root@pc207 ~]# yum  -y  install bind  bind-chroot
  • 2.修改主配置文件:

[root@pc207 ~]# vim  /etc/named.conf 

options {
        directory       "/var/named";
};

zone "tedu.cn" IN {
        type slave;
        file "/var/named/slaves/tedu.cn.slave";      #原则named用户对该目录具备写入权限
        masters {  192.168.4.7;          };     #指定主DNS服务器名字
};
  • 3.重起服务:
[root@pc207 ~]# systemctl restart  named

[root@pc207 ~]# ls  /var/named/slaves
tedu.cn.slave

客户端测试

  • 1.指定DNS服务器
[root@C ~]# echo  nameserver 192.168.4.7 > /etc/resolv.conf 

[root@C ~]# echo  nameserver 192.168.4.207 >> /etc/resolv.conf 

#先写主DNS再写从DNS
  • 2.解析,当主DNS服务器停止时,会自动找到从DNS服务器解析
[root@C ~]# nslookup  www.tedu.cn 
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.tedu.cn
Address: 1.2.3.4

[root@svr7 named]# systemctl  stop  named

[root@C ~]# nslookup  www.tedu.cn 
Server:		192.168.4.207
Address:	192.168.4.207#53

Name:	www.tedu.cn
Address: 1.2.3.4

主从DNS服务器同步数据

  • 1.修改数据必须是在主DNS服务器上完成

地址库文件内容:

 (
              0        ; serial            #数据版本号由10个数字组成
              1D      ; refresh         #代表每隔一天,主从会进行数据同步
              1H      ; retry             #每隔一个小时,重试时间间隔
              1W     ; expire          #失效时间,一个星期
              3H )    ; minimum      #无效记录的缓存时间,3个小时

  • 2.必须手动修改数据的版本号,往大的方向修改
[root@svr7 named]# vim  tedu.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        2019122301      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
tedu.cn.        NS      svr7
tedu.cn.        NS      pc207
svr7            A       192.168.4.7
pc207           A       192.168.4.207
www             A       15.20.25.26

[root@C ~]# nslookup  www.tedu.cn 
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.tedu.cn
Address: 15.20.25.26

-------------------------------------------------------------------------------------------------------

[root@svr7 named]# vim  tedu.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        2019122302      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
tedu.cn.        NS      svr7
tedu.cn.        NS      pc207
svr7            A       192.168.4.7
pc207           A       192.168.4.207
www             A       45.46.50.25

[root@svr7 named]# systemctl  restart  named


[root@C ~]# nslookup  www.tedu.cn 
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.tedu.cn
Address: 45.46.50.25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值