原标题:Linux数据安全工具:数据镜像软件DRBD的管理与维护

1、启动DRDB

(1)在两个节点执行

在启动DRBD之前,需要分别在两台的hdb1分区上创建供DRBD记录信息的数据块。具体是分别在两台上执行:

[root@master-drbd ~]# drbdadm create-md r0 或者执行drbdadm create-md all

[root@master-drbd ~]# drbdadm create-md r0

(2)在两个节点启动服务

接着在两个drbd节点启动DRBD服务,操作如下:

[root@master-drbd ~]# /etc/init.d/drbd start

[root@slave-drbd ~]# /etc/init.d/drbd start

最好是在两个节点同时启动DRBD服务。

(3)在任意节点查看节点状态

登录任意drbd节点,然后执行“cat/proc/drbd”命令,输出结果如下:

[root@master-drbd ~]# cat /proc/drbd

0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r----

对输出的含义解释如下:

ro表示角色信息,第一次启动drbd时,两个drbd节点默认都处于Secondary状态。

ds表示磁盘状态信息,“Inconsistent/Inconsistent”即“不一致/不一致”状态,表示两个节点的磁盘数据处于不一致状态。

ns表示网络发送的数据包信息。

dw表示磁盘写信息。

dr表示磁盘读信息。

(4)设置主用节点

由于默认没有主用节点和备用节点之分,因此需要设置两个的主次节点。选择需要设置为主用节点的,然后执行如下命令:

[root@master-drbd ~]# drbdsetup /dev/drbd0 primary -o

也可以执行下面命令:

[root@master-drbd ~]# drbdadm -- --overwrite-data-of-peer primary all

第一次执行完此命令后,如果需要设置哪个是主用节点,就可以使用另外一个命令:

[root@master-drbd ~]# /sbin/drbdadm primary r0或者/sbin/drbdadm primary all

执行此命令后,开始同步两台机器对应磁盘的数据:

[root@master-drbd ~]# cat /proc/drbd

version: 8.3.13 (api:88/proto:86-96)

0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----

[>....................] sync'ed: 3.3% (9904/10236)M

finish: 0:46:26 speed: 3,632 (3,184) K/sec

从输出可知:

“ro”状态现在变为“Primary/Secondary”,“ds”状态也变为“UpToDate/Inconsistent”,也就是“实时/不一致”状态。现在数据正在主备两台 主机 的磁盘间进行同步,且同步进度为3.3%,同步速度3.1Mbit/s左右。

等待片刻,再次查看同步状态,输出如下:

[root@master-drbd ~]# cat /proc/drbd

version: 8.3.13 (api:88/proto:86-96)

0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----

可以看到同步完成了,并且“ds”状态也变为“UpToDate/UpToDate”,即“实时/实时”状态了。

如果第一次设置主用节点和备用节点时使用“/sbin/drbdadm primary r0”命令,那么会提示如下错误:

0: State change failed: (-2) Need access to UpToDate data

Command '/sbin/drbdsetup 0 primary' terminated with exit code 17

只要第一次执行上面命令成功,以后就可以用“/sbin/drbdadm primary r0”命令设置主用节点了。

(5)挂载DRBD设备

由于mount操作只能在主用节点上进行,因此只有设置了主用节点后才能格式化磁盘分区,同时,在两个节点中,同一时刻只能有一台处于primary状态,另一台处于secondary状态,而处于secondary状态的节点上不能挂载DRBD设备,要在备用节点上挂载DRBD设备,必须停止备用节点的DRBD服务或将备用节点角色升级为主用节点。

下面首先将DRBD设备格式化为ext3文件系统,然后在主用节点挂载,操作如下:

[root@master-drbd ~]# mkfs.ext3 /dev/drbd0

[root@master-drbd ~]# mount /dev/drbd0 /mnt

完成挂载后,就可以在/mnt目录下写数据了,此目录下的数据会自动同步到备用节点上。

2、测试DRBD数据镜像

为了验证DRBD的数据镜像功能,我们做一个简单的测试,首先在DRBD主用节点上的/mnt目录下创建一个200MB的文件,操作如下:

[root@master-drbd ~]# dd if=/dev/zero of=/mnt/testdrbd.tmp bs=10M count=20

[root@master-drbd ~]# ls –al /mnt/testdrbd.tmp

完成操作后,接着在备机上查看文件是否已经同步过去,为了保证数据的一致性,需要首先停止备用节点的DRBD服务,操作如下:

可以看到,在主用节点master-drbd上产生的文件testdrbd.tmp也完整地保存到备用节点slave-drbd的镜像磁盘设备上。

测试完毕后,要重新启动备用节点的DRBD服务,此时必须先卸载/dev/sdb1设备,然后才能成功启动DRBD服务。

这里挂载的是/dev/sdb1设备,而不是DRBD设备,因为DRBD设备只有在DRBD服务启动的时候才加载到系统中。

3、DRBD主备节点切换

在系统维护的时候,或者在高可用集群中,当主用节点出现故障时,就需要将主备节点的角色互换。主备节点切换有两种方式,分别是停止DRBD服务切换和正常切换,下面依次介绍。

(1)停止DRBD服务切换

关闭主用节点服务,此时挂载的DRBD分区就自动在主用节点卸载了,操作如下:

[root@master-drbd /]# /etc/init.d/drbd stop

Stopping all DRBD resources:

然后查看备用节点的DRBD状态:

[root@slave-drbd /]# cat /proc/drbd

version: 8.3.13 (api:88/proto:86-96)

0: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown C r-----

ns:0 nr:16 dw:16 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

从输出可以看到,现在主用节点的状态变为“Unknown”,接着在备用节点执行切换命令:

[root@slave-drbd ~]# drbdadm primary all

此时会出现如下报错信息:

2: State change failed: (-7) Refusing to be Primary while peer is not outdated

Command 'drbdsetup 2 primary' terminated with exit code 11

因此,必须在备用节点执行如下命令:

[root@slave-drbd ~]# drbdsetup /dev/drbd0 primary -o

或者

[root@slave-drbd ~]# drbdadm -- --overwrite-data-of-peer primary all

现在就可以正常切换了。接着查看此节点的状态,信息如下:

[root@slave-drbd /]# cat /proc/drbd

version: 8.3.13 (api:88/proto:86-96)

0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/Outdated C r-----

ns:0 nr:16 dw:16 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

可以看出,原来的备用节点已经处于“Primary”状态了,而原来的主用节点由于DRBD服务未启动,还处于“Unknown”状态,在原来的主用节点服务启动后,会自动变为“Secondary”状态,无需在原来主用节点上再次执行切换到备用节点的命令。

最后,在新的主用节点上挂载DRBD设备即可完成主备节点的切换:

[root@slave-drbd /]# mount /dev/drbd0 /mnt

(2)正常切换

首先在主用节点卸载磁盘分区:

[root@ master-drbd /]# umount /mnt

然后执行:

[root@master-drbd ~]# drbdadm secondary all

如果不执行这个命令,直接在备用节点执行切换到主用节点的命令,会报如下错误:

2: State change failed: (-1) Multiple primaries not allowed by confi

Command 'drbdsetup 2 primary' terminated with exit code 11

此时查看master-drbd节点的DRBD状态,信息如下:

[root@master-drbd ~]# cat /proc/drbd

version: 8.3.13 (api:88/proto:86-96)

0: cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r-----

ns:36 nr:16 dw:52 dr:97 al:2 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

可以看到,两个节点都处于“Secondary”状态了,那么接下来就要指定一个主用节点,在备用节点执行如下命令:

[root@slave-drbd ~]# drbdadm primary all

[root@slave-drbd ~]# cat /proc/drbd

version: 8.3.13 (api:88/proto:86-96)

0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----

ns:0 nr:36 dw:36 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

至此,主备节点成功切换角色。最后在新的主用节点挂载DRBD磁盘分区即可:

[root@slave-drbd ~]# mount /dev/drbd0 /mnt返回搜狐,查看更多

责任编辑:

linux数据软件,Linux数据安全工具:数据镜像软件DRBD的管理与维护相关推荐

  1. 古籍制作 - 古书制作 - 古籍制作工具 - 古籍制作软件 - 古籍修复工具 -古籍修复软件 - 古书制作软件 - 古书修复工具 - 古籍修复软件 -古籍修复软件

    古籍制作 - 古籍制作工具 - 古籍制作软件 - 古籍修复工具 -古籍修复软件 - 古书制作 - 古书制作软件 - 古书修复工具 - 古籍修复软件 -古籍修复软件 前言 自己开发的古籍制作工具 一.看 ...

  2. extundelete安装_Linux数据安全工具:数据恢复软件extundelete概述

    一次性付费进群,长期免费索取教程,没有付费教程. 进微信群回复公众号:微信群:QQ群:460500587  教程列表 见微信公众号底部菜单 |  本文底部有推荐书籍  微信公众号:计算机与网络安全 I ...

  3. 大数据导论--大数据安全与数据开放共享

    传统数据安全隐患 计算机病毒.数据信息存储介质的损坏.黑客攻击 大数据安全与传统数据安全的不同 大数据成为网络攻击的显著目标 大数据加大隐私泄露风险 大数据技术被应用到攻击手段中 大数据成为高级可持续 ...

  4. THREE DAY | 网络安全之Linux(包含Linux常用命令,镜像下载,docker命令等内容)超详细!!!

    THREE DAY | 网络安全之Linux 一.Linux介绍 1.Linux系统简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多 ...

  5. kail linux中的渗透测试工具

    1.Nmap Nmap Nmap(即 "网络映射器")是 Kali Linux 上最受欢迎的信息收集工具之一.换句话说,它可以获取有关主机的信息:其 IP 地址.操作系统检测以及网 ...

  6. 2015中国大数据大会--大数据安全分会内容介绍

    [BDTC 2015]大数据安全分论坛:数据驱动安全 大数据云计算BDTCBDTC2015阿里巴巴腾讯奇虎360明略数美 摘要:12月10-12日,2015中国大数据技术大会在京盛大开幕,在12日上午 ...

  7. ETL工具(数据同步)

    一.研究了kettle Kettle最早是一个开源的ETL工具 前置条件,kettle是一个jar包项目,依赖jdk.安装kettle需要安装好jdk环境 二.下载安装 1.源代码下载: GitHub ...

  8. 数据产品经理常用工具

    数据产品经理常用工具   数据产品经理在工作过程中,要完成一个产品,在这过程中常用的工具可以分为4中类型:需求分析工具,数据探索工具,产品原型工具,图表设计工具.需求分析工具主要是在前期需求调研中辅助 ...

  9. 数据治理-数据质量-数据质量管理方法和工具

    常用质量管理工具 目前,在质量管理领域,有一系列常用的数据质量管理工具,主要分为传统的质量管理工具.新的质量管理工具和其他质量管理工具. 传统的质量管理七大工具 传统的七种工具包含分层法.检查表.帕累 ...

最新文章

  1. 电气专业的你,2022届求职进展如何?
  2. Python执行pyinstaller打包生成的exe文件实战
  3. 五分钟DBA:浅谈伪分布式数据库架构
  4. 在ecshop顶部会员信息提示区显示会员等级
  5. 2014.7.26-7.29日广大网友的提问解答(答问题的第1个工作周)
  6. osmnx 应用 可视化两张图异同的点和边
  7. POJ 1185 炮兵阵地 状压dp
  8. 使用环境变量来配置 Teams App 的 manifest
  9. 逗牙搞笑网www.idouya.xin
  10. spark 存入hbase_Spark DataFrame写入HBase的常用方式
  11. windows API 菜鸟学习之路(一)
  12. 如何将JavaScript转化成Swift?(二)
  13. 安装MySql报错(This application requires .NET Framework x.x.x)
  14. 微信小程序常用操作(获取openid,获取电话号码,模板消息)
  15. 电工学习笔记————稳压二极管伏安特性
  16. 从攻击事件分析加密攻击类型、工具、防范方法和未来预测
  17. UIImagePickerController编辑图片框大小的问题
  18. flutter packages get 慢 解决方案
  19. 笔记本电脑屏幕颜色变浅
  20. openFrameworks实现的简单坦克对战游戏-Tank War

热门文章

  1. ubuntu14.04 LTS版本下安装配置gem5环境
  2. 【广告技术】隐私集合交集运算结合同态加密,在保障数据安全的同时追踪广告效果
  3. 第一周周冠军带你解析赛题,尝试广告算法新思路
  4. python return的理解_python 浅析对return的理解
  5. Leetcode每日一题:1365.how-many-numbers-are-smaller-than-the-current-number(有多少小于当前数字的数字)
  6. 吴恩达机器学习ex7:PCA降维
  7. KNN分类python实现
  8. input的一些使用方法
  9. 第一:Python发送邮件时定义文本乱码
  10. aix查看文件夹大小命令_轻松掌握 Linux 命令(1):ls 命令