物联网系统运维——实验备份与恢复,数据镜像软件DRBD介绍,DRBD的安装和应用,extundelete的安装和应用(重点),环境准备,配置设置

一.数据备份

1.数据备份的重要性

备份是系统中需要考虑的最重要的事项,虽然这在系统的整个规划,开发和测试过程中甚至占不到1%,看似不太重要且默默无闻的工作只有到恢复的时候才能真正体现出其重要性,任何数据的丢失与数据宕机,都是不可以被接收的。

2.数据备份策略

●完全备份 :拷贝给定计算机或文件系统上的所有文件,而不管它是否被改变。
●增量备份:只备份在上一-次备份后增加、改动的部分数据。增量备份可分为多级,每一次增量都 源自上- -次备份后的改动部分。
●差异备份:只备份在上- -次完全备份后有变化的部分数据。如果只存在两次备份,则增量备份和差异备份内容一样。
●累加备份 :采用数据库的管理方式,记录累积每个时间点的变化,并把变化后的值备份到相应的数组中,这种备份方式可恢复到指定点的时间点。

二.数据镜像软件DRBD介绍

1.数据镜像软件DRBD介绍

分布式块设备复制(Distributed Replicated Block Device, DRBD),是- -种基于软件的、基于网络的块复制存储解决方案。DRBD的核心功能就是数据的镜像,实现方式是通过网络来镜像整个磁盘设备或磁盘分区,将-个节点的数据通过网络实时地传送到另一个远程节点,保证两个节点间数据的一致性。

2.DRBD的基本功能

实时性         透明性              同步镜像                异步镜像

3.DRBD的生要特性

单主模式           双主模式               复制模式                传输完整性校验
脑裂通知和自动修复

4.DRDB的安装与配置

DRBD的安装非常简单,可以通过源码和yum源方式进行安装。
默认读取配置文件的路径是/etc/drbd.conf

三.实验备份与恢复

一、DRBD的安装和应用

一台主机(10.0.0.14),一台备用机(10.0.0.15)

1.环境准备

(1)永久关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

(2)永久关闭SELinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenforce 0

(3)时间同步

主机(10.0.0.14)

安装 chrony

yum -y install chrony

修改配置文件

sed -i 's/server 0.centos.pool.ntp.org iburst/#server 0.centos.pool.ntp.org iburst/g' /etc/chrony.conf

sed -i 's/server 1.centos.pool.ntp.org iburst/#server 1.centos.pool.ntp.org iburst/g' /etc/chrony.conf

sed -i 's/server 2.centos.pool.ntp.org iburst/#server 2.centos.pool.ntp.org iburst/g' /etc/chrony.conf

sed -i 's/server 3.centos.pool.ntp.org iburst/server ntp2.aliyun.com iburst/g' /etc/chrony.conf

设置开机自启

systemctl enable chronyd.service

启动时间同步服务

systemctl start chronyd.service

timedatectl set-ntp true

systemctl restart chronyd.service

备用机(10.0.0.15)

安装 chrony

yum -y install chrony

修改配置文件

sed -i 's/server 0.centos.pool.ntp.org iburst/#server 0.centos.pool.ntp.org iburst/g' /etc/chrony.conf

sed -i 's/server 1.centos.pool.ntp.org iburst/#server 1.centos.pool.ntp.org iburst/g' /etc/chrony.conf

sed -i 's/server 2.centos.pool.ntp.org iburst/#server 2.centos.pool.ntp.org iburst/g' /etc/chrony.conf

sed -i 's/server 3.centos.pool.ntp.org iburst/server 10.0.0.14 iburst/g' /etc/chrony.conf

设置开机自启

systemctl enable chronyd.service

启动时间同步服务

systemctl start chronyd.service

timedatectl set-ntp true

systemctl restart chronyd.service

验证(两边都要运行)

chronyc sources

(4)更新内核

(需在两个节点上同时操作)

yum -y install kernel-devel kernel kernel-headers

(5)添加一块硬盘

(需在两个节点上同时操作,演示用,设置为5G以下即可)

在虚拟机新添加一块硬盘,用做备份用

虚拟机->设置->添加->硬盘

(6)重启

(需在两个节点上同时操作)

reboot

安装drbd (需在两个节点上同时操作)

cd /home/soft

rpm -ivh elrepo-release-7.0-4.el7.elrepo.noarch.rpm

yum install -y drbd84-utils kmod-drbd84

2.配置设置

(1)修改主机hosts文件

(需在两个节点上同时操作)

echo '10.0.0.14 alpha' >> /etc/hosts  #(注意修改为自己的主机IP)

echo '10.0.0.15 bravo' >> /etc/hosts  #(注意修改为自己的从机IP)

#在主机(10.0.0.14)执行

hostnamectl set-hostname alpha

#在备用机(10.0.0.15)执行

hostnamectl set-hostname bravo

(2)备份默认配置

(需在两台机子上操作)

mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig

(3)创建全局配置

(需在两台机子上操作)

cat << EOF > /etc/drbd.d/global_common.conf

global {

  usage-count no;

}

common {

  net {

    protocol C;

  }

}

EOF

(4)创建资源配置文件

(需在两台机子上操作)

cat << EOF > /etc/drbd.d/drbd0.res

resource drbd0 {

  disk /dev/sdb;

  device /dev/drbd0;

  meta-disk internal;

  on alpha {

    address 192.168.234.100:7789;

  }

  on bravo {

    address 192.168.234.101:7789;

  }

}

EOF

(5)初始化设备元文件

(需在两台机子上操作)

drbdadm create-md drbd0

(6)启动系统服务
(需在两台机子上操作)

systemctl start drbd

systemctl enable drbd

(7)在主机(10.0.0.14)上操作

启动设备并使其成为主节点

drbdadm up drbd0

drbdadm primary drbd0

如果启用主节点命令失败需要使用以下命令

drbdadm primary drbd0 --force

(8)在备用机(10.0.0.15)上操作,启动设备

drbdadm up drbd0

##查看同步进程

cat /proc/drbd #(需要等到100%)

(9)在主机(10.0.0.14)上执行以下命令创建文件系统并挂载

############################################

#格式化XFS文件系统

mkfs.xfs /dev/drbd0

#挂载为mnt

mount /dev/drbd0 /mnt

(10)在主机(10.0.0.14)上创建测试文件

touch /mnt/file{1..3}

ls -l /mnt

(11)主机(10.0.0.14)卸载文件系统并切换为备节点

umount /mnt

drbdadm secondary drbd0

###############################################

(12)在备用机(10.0.0.15)上执行以下命令确认文件

###############################################

drbdadm primary drbd0

mount /dev/drbd0 /mnt

ls -l  /mnt

四.extundelete的安装和应用

1.安装extundelete

1.环境准备

(1)添加一块硬盘

在虚拟机新添加一块硬盘,用做测试用

虚拟机->设置->添加->硬盘

reboot

#安装依赖包

yum install e2fsprogs e2fsprogs-libs e2fsprogs-devel gcc gcc-c++ gcc-g77 -y

#把soft上传到home下

cd /home/soft

tar -jxvf extundelete-0.2.4.tar.bz2 -C /usr/local/src

cd /usr/local/src/extundelete-0.2.4

./configure --prefix=/usr/local/extundelete

make && make install

#验证是否成功

cd /usr/local/extundelete/bin

./extundelete -v

#添加环境变量

vim /etc/profile

#加下一行  

export PATH=/usr/local/extundelete/bin:$PATH

#运行资源命令

source /etc/profile

#安装psmisc(用于解除占用)

yum install psmisc -y

#测试删除后恢复

#格式化分区为ext3格式

mkfs.ext3 /dev/sdb

#新建一个测试用的目录

mkdir /data

#把目录挂载到新分区上

mount /dev/sdb /data

#创建一些数据在data上,再删除恢复

mkdir /data/test

echo "extundelete test" >/data/test/mytext.txt

cp /etc/passwd /data/

cp -r /usr/local/src/extundelete-0.2.4 /data/

cd /data

md5sum passwd

5030a075bf29a297777be60578f319f0  passwd

ll /data

#新建一个用于存放恢复文件的目录

mkdir /mnt/recover

cd /mnt/recover

rm -rf /data/*

ll /data

#恢复

#卸载删除数据的分区

umount /data/

#如果卸载失败 使用“fuser -k /data”强制终止占用,查看

#查看被删除文件

extundelete --inode 2 /dev/sdb

#恢复单个文件

extundelete /dev/sdb --restore-file passwd

ls

#恢复目录

extundelete /dev/sdb --restore-directory test

#按时间段恢复

date -d "2021-4-12 15:50" +%s

1618213800

date -d "2021-4-12 16:50" +%s

1618217400

extundelete /dev/sdb --after /1618213800 --before 1618217400 --restore-directory test

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杪商柒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值