CentOS7下的综合实验(RAID5+LVM+inotify+rsync+backup快照)

根据作业要求,建立一个操作思路:

  1. 新建一台虚拟机,两块网络适配器,5块硬盘(IP地址为192.168.0.1),每块硬盘大小为20G。
  2. 选择镜像,启动虚拟机,根据向导进行安装
  3. 在分区的时候,选择设备类型为LVM,并且把分组名称设置为vg0(因为boot不能设置逻辑卷,所以设备类型还选择标准分区),设置相应的空间大小。

“/”:      10G

“/home”: 5G

“swap” : 2G

  1. 我们使用了一块硬盘,还剩下四块硬盘来做成raid5,3块做成raid,一块做成热备份。分别是sdb 、sdc、 sdd     和sde。

Mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd[b-e]

  1. Raid做成了/dev/md0,然后在raid上做物理卷,创建卷组vg1,然后在卷组里新建逻辑卷lvm1,大小为2G。

Pvcreate /dev/md0

Vgcreate vg1 /dev/md0

Lvcreate -L 2G -n lvm1 vg1

  1. 格式化逻辑卷lvm1文件格式为ext4,然后挂载到/mnt/data1目录下。(开机自动挂载)

Mkfs.ext4  /dev/vg1/lvm1

Blkid /dev/vg1/lvm1 (复制UUID)

Vim /etc/fstab    (在最后新启一行插入)

粘贴UUID       /mnt/data1    ext4   defaults   0   0

保存并退出

Mount -a

  1. 将这块卷组中做一个快照,并将其挂载到/mnt/backup目录下(如果没有则创建目录)

Lvcreate -L 20M -s -n backup  /dev/vg1/lvm1

Mount /dev/vg1/lvm1     /mnt/backup

  1. 每间隔一个小时,自动备份快照,将快照压缩,并以当前时间+文件名.zip格式来命名。

在/test目录下建立脚本backup_picture.sh

输入下面内容

#!/bin/bash

Tar -zcvf /mnt/$(date+%H%M)-backup.tar.gz    /mnt/backup2

然后执行crontab调度

#    crontab -e

*1 * * * sh /test/backup_picture.sh  

  1. 做成inotify+rsync实时备份,需要两台虚拟机,直接克隆虚拟机1,出现虚拟机2,更改虚拟机2的IP地址为192.168.0.2

192.168.0.1  虚拟机1

192.168.0.2  虚拟机2

10.在虚拟机2上执行命令:

#  vim /etc/rsyncd.conf

输入下面内容

uid = 0

gid = 0

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

 [web]

path = /mnt/data1

ignore errors

read only = no

list = false

hosts allow = 192.168.0.1

hosts deny = 0.0.0.0/32

auth users = test

secrets file = /tmp/rsync.secrets

保存并退出

并依次执行下面命令

#  echo “test:123456”  >/tmp/rsync.secrets

#  chmod 600 /tmp/rsync.secrets

#  useradd test

#  mkdir /mnt/data1

#  rsync --daemon

 

11.然后来到第一台虚拟机上

执行下面命令

#  ll /proc/sys/fs/inotify/

注:这里不要最小安装,最小安装的centos不支持inotify,往下进行不了,要选择带GUI的图形,带图形的支持inotify

#  Cd /usr/src

这里直接把已经有点inotyfy-tools复制到虚拟机中,并放在/usr/src目录下

#  Yum -y install gcc

#  tar -xvf inotify-tools-3.14.tar.gz

#  cd inotify-tools-3.14/

#  ./configure --prefix=/usr/local/include

#  make && make install

然后编写inotify运行脚本

#  vim inotify.sh

输入以下内容

#!/bin/bash

host=192.168.0.2    #server的ip(备份服务器)

src=/mnt/backup  #所要监控的备份目录(此处可以自定义,但是要保证存在)

des=web   #自定义的模块名,需要与client端定义的一致

password=/tmp/rsync.password  #密码文件

user=test    #用户名(一个实际存在的账号)

inotify=/usr/local/include/    #inotify的安装目录                

 

${inotify}/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \

| while read files

do

rsync -avzP --delete  --timeout=100 --password-file=${password} $src $user@$host::$des

echo "${files} was rsynced" >>/tmp/rsync.log 2>&1

done

在执行下面命令

#  echo 123456 > /tmp/rsync.password

#  chmod 600 /tmp/rsync.password

#  useradd test

运行脚本

#  sh inotify.sh &

 

下面的步骤都是按照上述步骤进行的,可能有些截图没有表示,如果步骤遗漏请参照上述思路!!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这里的软件选择要选择带GUI的图形界面,不要选择最小安装

 

不需要KDUMP,对于实验没有影响,根据自己的需求进行选择,这里不启用KDUMP

 

安全策略也不启用,和防火墙类似,为了防止出现意外错误,这里也不需要安全策略

 

 

 

根据要求配置每个分区的大小,最后的完成图为这样,文件系统都选择ext4,卷组为vg0

 

设置root密码

 

新建一个名字为jh的用户

耐心等待就好

 

这是一开始为了省时间装的不带图形的最小安装界面,但是在做inotify+rsync的时候最小安装不支持inotify,并且好多也没有安装软件,包括(rsync),这就是不要最小安装的原因。

 

 

上述步骤都在最小安装的命令界面都可以完成,当然,也遇到不少的麻烦,大部分都是软件不支持,例如下图的mdadm命令都不支持,需要yum安装

 

由于一开始设置的手动分配IP地址,所以不能上网,对应的,yum命令也就无法使用,然后我们把IP地址改变成自动获取,就能上网了

最后raid5上做LVM的效果图

 

 

然后我们做inotify之前,关闭虚拟机1(不是最小安装的那个,需要带图形的GUI)。克隆虚拟机。

 

 

 

 

虚拟机克隆完毕,然后我们需要更改IP地址,克隆的虚拟机配置都一样,不需要变动,更改IP地址即可。

虚拟机1           :192.168.0.1

虚拟机2           :192.168.0.2

 

下面是在虚拟机2上的操作

 

 

 

依次是,编写rsync配置文件

将test用户的密码设置为123456,并且写入到密码文件中

改变密码文件的权限为600

新建用户test

建立挂载目录/mnt/data1

运行rsync

来到虚拟机1

 

Ping一下百度看是否能ping通,如果能ping通说明可以上网,为yum安装gcc做准备。

检查是否支持inotify

 

把本机已经存在的inotify复制到虚拟机的/usr/src目录下。

 

用ll来查看,压缩包存在,我们来进行解压缩

配置以及安装inotify-tools

Inotify脚本内容

新建test用户,设置用户密码为123456,然后改变密码存储文件权限为600

运行虚拟机1的inotify脚本,出现进程号,待快照生成时,就会在虚拟机2同步上传一个快照。

到此,根据实验要求的操作步骤结束!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mez_Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值