物联网系统运维——实验备份与恢复,数据镜像软件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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/740339.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

oracle 11g rac安装grid 执行root脚本add vip -n 。。。on node= ... failedFailed 错误处理

问题&#xff1a; CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node racdg1-1, number 1, and is terminating An active cluster was found during exclusive startup, restarting to join the cluster PRCN-2050 : The requ…

程序员学长 | 快速学会一个算法,Transformer(下)

本文来源公众号“程序员学长”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;快速学习一个算法&#xff0c;Transformer&#xff08;二&#xff09; 今天我们来继续分享 Transformer 模型的第二部分&#xff0c;解码器部分。 建…

热虹吸管的传热计算

热对称管和热管通过使用中空管内的两相流体&#xff0c;在特定的距离上传输大量的热量。 更广泛使用的热管使用吸芯结构将液体输送回热端&#xff0c;而热虹吸管是一个简单的空心管&#xff0c;使用重力。 由于缺乏吸芯结构&#xff0c;使得热虹吸管比传统的热管便宜得多。 然…

自学指南:必备书籍清单--近100本R语言及生物信息相关书籍

R语言是一种功能丰富的编程语言&#xff0c;数据处理、统计分析是大家所熟知的基本功能。开源免费、活跃的全球社区、灵活可扩展等优点促使R语言飞速发展。目前&#xff0c;CRAN 软件包存储库包含 20446 个可用软件包&#xff0c;涵盖了从生物信息到金融分析等广泛的应用领域。…

vue3.0(十五)内置组件Teleport和Suspense

文章目录 一、Teleport1.基本用法2.禁用Teleport3.多个 Teleport 共享目标4.搭配组件 二、 Suspense1.什么是Suspense2.异步依赖3.加载中状态4.事件5.错误处理6.和其他组件结合注意 一、Teleport <Teleport> 是一个内置组件&#xff0c;它可以将一个组件内部的一部分模板…

第二十八篇——复盘:世界不完美,我们该怎么办?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 对于信息传递过程中的相关知识的总结&#xff0c;让我又仿佛回到了每一个…

Python列表比较:判断两个列表是否相等的多种方法

&#x1f4d6; 正文 1 通过排序的方式实现判断 list_a [a, b, c, d] list_b [c, d, a, b]if sorted(list_a) sorted(list_b):print(list_a与list_b的元素相等) else:print(list_a与list_b的元素不相等)通过排序&#xff0c;让两组列表中元素一直后进行判断&#xff0c;得到…

Linux常用基本命令

linux目录 1.查看linux本机ip ip addr 2.新建文件夹 mkdir 文件夹名 3.新建文件 touch 文件名.后缀 4.删除文件 rm 文件名.后缀 5.删除文件 rm -r 文件名 6.不询问直接删除 rm -rf 文件名/文件名/ 7.显示目录下文件&#xff0c;文件夹 作用&#xff1a;显示指定目…

人工ai智能写作,分享推荐三款好用软件!

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;已经渗透到我们生活的方方面面&#xff0c;而在内容创作领域&#xff0c;AI智能写作软件更是如雨后春笋般涌现。今天&#xff0c;就为大家分享三款备受好评的AI智能写作软件&#xff0c;让你轻松掌握高效写作的秘密…

基于matlab的SVR回归预测

1 原理 SVR&#xff08;Support Vector Regression&#xff09;回归预测原理&#xff0c;基于支持向量机&#xff08;SVM&#xff09;的回归分支&#xff0c;其核心思想是通过寻找一个最优的超平面来进行回归预测&#xff0c;并处理非线性回归问题。以下是SVR回归预测原理的系统…

FFmpeg中位操作相关的源码:GetBitContext结构体,init_get_bits函数、get_bits1函数和get_bits函数分析

一、引言 由《音视频入门基础&#xff1a;H.264专题&#xff08;3&#xff09;——EBSP, RBSP和SODB》可以知道&#xff0c;H.264 码流中的操作单位是位(bit)&#xff0c;而不是字节。因为视频的传输和存贮是十分在乎体积的&#xff0c;对于每一个比特&#xff08;bit&#xf…

策略模式 + 抽象工厂实现多方式登录验证

文章目录 1、需求背景2、常规想法3、工厂模式 配置文件解耦 策略模式4、具体实现5、其他场景6、一点思考 1、需求背景 以gitee为例&#xff0c;登录验证的方式有多种&#xff1a; 用户名密码登录短信验证码登录微信登录 先写一个登录接口&#xff0c;适配所有方式&#xff…

udp协议 服务器

1 TCP和UDP基本概念 TCP:(Transmission Control Protocol)是一种面向连接、可靠的基于字节流的传输层通信协议。并且提供了全双工通信&#xff0c;允许两个应用之间建立可靠的链接以进行数据交换 udp:(User Datagram Protocol):是一种无链接、不可靠、基于数据报文传输层协议&…

websocket服务执行playwright测试

上一篇博客从源码层面分析了playwright vscode插件实现原理&#xff0c;在上一篇博客中提到&#xff0c;backend服务是一个websocket服务。这遍博客将介绍如何封装一个websocket服务&#xff0c;通过发送消息来执行playwright测试。 初始化项目 第一步是初始化项目和安装必要的…

​【VMware】VMware Workstation的安装

目录 &#x1f31e;1. VMware Workstation是什么 &#x1f31e;2. VMware Workstation的安装详情 &#x1f33c;2.1 VMware Workstation的安装 &#x1f33c;2.2 VMware Workstation的无限使用 &#x1f31e;1. VMware Workstation是什么 VMware Workstation是一款由VMwar…

【K8s】专题六:Kubernetes 资源限制及服务质量等级

以下内容均来自个人笔记并重新梳理&#xff0c;如有错误欢迎指正&#xff01;如果对您有帮助&#xff0c;烦请点赞、关注、转发&#xff01;欢迎扫码关注个人公众号&#xff01; 目录 一、资源限制 1、基本介绍 2、工作原理 3、限制方法 二、服务质量等级 一、资源限制 1…

【软件测试入门】测试用例经典设计方法 — 因果图法

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、因果图设计测试用例的步骤 1、分析需求 阅读需求文档&#xff0c;如果User Case很复杂&am…

DIY灯光特效:霓虹灯动画制作教程

下面我们根据这张霓虹灯案例,教大家如何用智能动物霓虹灯闪烁的效果,大家可以根据思路,实现自己想要的动效效果,一起动手来做吧。 即时设计-可实时协作的专业 UI 设计工具 设置背景 新建画板尺寸为:800PX^600PX,设置背景色#120527。 绘制主题 输入自己喜欢文案,轮廓化,具体…

PHP-CGI的漏洞(CVE-2024-4577)

通过前两篇文章的铺垫&#xff0c;现在我们可以了解 CVE-2024-4577这个漏洞的原理 漏洞原理 CVE-2024-4577是CVE-2012-1823这个老漏洞的绕过&#xff0c;php cgi的老漏洞至今已经12年&#xff0c;具体可以参考我的另一个文档 简单来说&#xff0c;就是使用cgi模式运行的PHP&…

充电桩--充电桩智能化发展趋势

聚焦光伏产业、深耕储能市场、探究充电技术 小Q下午茶 相互交流学习储能和BMS相关内容 43篇原创内容 公众号 一、背景介绍 国家提出“新基建”以来&#xff0c;充电基础设施产业跃入人们的视线成为热门话题。充电基础设施作为充电网、车联网、能源网和物联网的连接器&…