测试当主节点发生故障后,如何切换到备节点,当主节点恢复后,又是如何恢复双机数据同步的?

环境

 
  • DRBD
  • linux
  • VMware Workstation 9

步骤

 
  1. 1

    模拟生产环境配置

    1)环境

    实验环境:两台linux CentOS 6.4 32bit 虚拟机

    计算机名: n101 和 n102

    IP地址:192.168.118.101(n101)  192.168.118.102 (n102)

    2) DRBD配置(n101与n102配置一致)

    # cat /etc/drbd.d/r1.re
    
    resource r1
    {
    startup {
    wfc-timeout 30;
    outdated-wfc-timeout 20;
    degr-wfc-timeout 30;
    }
    net {
    cram-hmac-alg sha1;
    shared-secret sync_disk;
    }
    syncer {
    rate 100M;
    verify-alg sha1;
    }
    on n101 {
    device /dev/drbd0;
    disk /dev/sdb1;
    address 192.168.118.101:7789;
    meta-disk internal;
    }
    on n102 {
    device /dev/drbd0;
    disk /dev/sdb1;
    address 192.168.118.102:7789;
    meta-disk internal;
    }
    }
    #end

    3) 当前DRBD状态

  2. 2

    模拟n101系统损坏

    需要重新安装linux操作系统,重新配置DRBD(这里我直接还原n101到刚安装好系统时的状态)

    第一步:模拟n101系统损坏(这里重启系统并还原系统)

    1)还原系统

  3. 3

    2 ) 查看n102 drbd状态

    PS:下图显示n101,即Primary已经不可识别

  4. 4

    将n102设置为Primary,并挂载到/home/r1

    如下图,n102的数据正常、完整

  5. 5

    恢复n101,并配置drbd

    1)    将n102的drbd相关配置拷贝至n101

    2)    同步n102数据,直至同步完成

  6. 6

    验证n101数据完整

    1)    查看是否同步完成

    如下图,数据同步已经完成

  7. 7

    停止n102对/home/r1 进行写操作,并将n102设置为Secondary

    END

备注

 
  • 当DRBD的Primary(n101)发生故障(系统损坏),变为不可用状态时,需要将Secondary主机设置为Primary,并挂载到相 应目录继续工作,原Secondary(n102)数据不会丢失。恢复n101时,只需要将n101重新配置DRBD 与n102相同的资源(如r1)并作 为n102的Secondary,将n102的数据同步过来即可完成恢复。

Linux DRBD 主节点(Primary) 故障恢复测试的更多相关文章

  1. 推荐一个linux下的web压力测试工具神器webbench

    推荐一个linux下的web压力测试工具神器webbench2014-04-30 09:35:29   来源:   评论:0 点击:880 用多了apache的ab工具之后你就会发现ab存在很多问题, ...

  2. kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 【转】

    转自:http://blog.chinaunix.net/uid-26349264-id-4455634.html 目录 kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 ...

  3. LINUX系统下MySQL 压力测试工具super smack

    摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...

  4. Linux网络编程组播测试代码

    Linux网络编程组播测试代码 (转载)   组播客户端代码如下: #include <sys/types.h>#include <sys/socket.h>#include ...

  5. linux下libnet编程 亲自测试可用

    linux下libnet编程 亲自测试可用 亲自测试  如果build包的时候 只要把类型改了 就能改成相应的协议. 0x0800 ip 0x0806 arp 0x86DD    IPv6 0x86e ...

  6. 基于linux下的NIST数字测试包安装过程

    基于linux下的NIST数字测试包安装过程 1. 首先解决windows文件不能粘贴到Ubuntu的问题 选择利用VMware Tools进行解决 打开虚拟机VMware Workstation,启 ...

  7. Linux内存带宽的一些测试笔记

    Linux内存带宽的一些测试笔记 首页 所有文章 2014年10月 GNU/Linux系统  2014-10-21 13:20  GNU/LINUX系统 内存带宽 1k 字  669 次 最近要测一下 ...

  8. Web渗透测试使用Kali Linux(一)渗透测试概要及环境部署

    渗透测试是利用已经发现的漏洞,采用恶意黑客的惯用手段来尝试对漏洞进行攻击. Kali Linux是BackTrack的进化版,是Linux的衍生版本,专门开发用作渗透测试,其中提供了很多的渗透测试工具 ...

  9. Linux常用C函数---字符测试篇

    函数讲解部分参考http://net.pku.edu.cn/~yhf/linux_c/ isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isdigit,islower,isupp ...

随机推荐

  1. 关于个Base64,MD5,16进制的转换

    1,待签名数据以UTF-8的格式转字节流,对字节流进行MD5算法得到的签名字节流,再转换为16进制字符串,即生成了数字签名. byte[] targetData = md5.ComputeHash(S ...

  2. AtCoder Beginner Contest 192

    A Star #include <cstdio> using namespace std; int n; int main() { scanf("%d", &n ...

  3. FreeBSD 12.2 阿里云镜像使用说明

    目前直接从阿里云 12.1 升级 12.2 会导致错误.镜像非本人制作.FreeBSD 12.2 阿里云镜像使用说明镜像下载地址: http://t.cn/A6taB5jO修改内容:对 /usr/sr ...

  4. python之模块与类库

    什么是模块 模块是一组类,函数,方法所组成的.这些类都储存在文本文件中..py是python程序代码中的扩展名,模块可能是c或者python写的.模块的扩展名可以是.py或者是.pyc(经过编译的.p ...

  5. python-6-1

    1.定义一个时间戳转换成格式化时间的函数import time def timestamp_to_fomat(timestamp= None,format ='%Y-%m-%d %H:%M:%S' ) ...

  6. 快速上手阿里云oss SDK

    使用阿里云oss SDK 依赖安装: pip install oss2 pip install aliyun-python-sdk-sts 版本最好是 2.7.5 或以上 如果要开启 crc64 循环 ...

  7. OO_Unit2_Summary

    经过三周的自己电梯瞎设计,下次坐电梯想我想的可能就不是如何优化调度算法,而是千万别把自己死锁在电梯里了(手动狗头) 一.设计策略 1. 需求分析: 作业一:单部多线程可稍带电梯,一部电梯,固定楼层,不 ...

  8. SqlServer存储过程应用二:分页查询数据并动态拼接where条件

    前言 开发中查询功能是贯穿全文的,我们来盘一盘使用存储过程分页查询,并且支持动态拼接where条件. 划重点:支持动态拼接where条件 对存储过程的使用有疑问的同学去[SqlServer存储过程的创 ...

  9. 浅谈Android中的事件分发机制

    View事件分发机制的本质就是就是MotionEvent事件的分发过程,即MotionEvent产生后是怎样在View之间传递及处理的. 首先介绍一下什么是MotionEvent.所谓MotionEv ...

  10. PAT B1030/A1085 完美数列

    给一个整数数列和正整数p,设这个数列中最大值M,最小值m,如果有M<=m*p,则称这个数列为完美数列,给一个p和一些正整数,从里面选择尽可能多的数,使他们构成一个完美数列,并输出最多可以选择的数 ...