设为首页 收藏本站
查看: 1128|回复: 0

[经验分享] Mysql DBA 高级运维学习之路-MySQL高可用工具drbd实战

[复制链接]

尚未签到

发表于 2018-9-27 06:36:02 | 显示全部楼层 |阅读模式
1.drbd介绍
  Distributed Replicated Block Device (DRBD)是基于块设备在不同的高可用服务器对之间同步和镜像数据的软件,通过它可以实现在网络中的两台服务器之间基于块设备级别的实时或异步镜像或同步复制,类似于rsync+inotify这样的系统架构项目软件。只不过drbd是基于文件系统底层的,即block层级的同步,而rsync+inotify是在文件系统之上的实际物理文件同步。所以dbrd效率更高。
  块设备可以是磁盘分区,LVM逻辑卷,或整块磁盘。

2.drbd的工作原理
  drbd是linux的内核的存储层中的一个分布式存储系统,可用使用drbd在两台Linux服务器之间共享块设备,共享文件系统和数据。类似于一个网络RAID-1的功能,在基于drbd的高可用(HA)两台服务器主机上,当我们将数据写入到本地磁盘系统时,数据还会被实时的发送到网络中的另一台主机上并以相同的形式记录在另一个磁盘系统中,使得本地(主节点)与远程主机(备节点)的数据保持实时数据同步。这时,如果本地系统(主节点)出现故障,那么远程主机(备节点)上还会保留有一份和主节点相同的数据备份可以继续使用,不但数据不会丢失,还会提升访问数据的用户的体验。更多详细请查看dbrd官方网站http://www.dbrd.org/
  drbd工作原理图:
DSC0000.png


3.drbd的复制模式
  协议A:
  异步复制协议。一旦本地磁盘写入已经完成,数据包已在发送队列中,则写被认为是完成的。在一个节点发生故障时,可能发生数据丢失,因为被写入到远程节点上的数据可能仍在发送队列。尽管,在故障转移节点上的数据是一致的,但没有及时更新。这通常是用于地理上分开的节点
  协议B:
  内存同步(半同步)复制协议。一旦本地磁盘写入已完成且复制数据包达到了对等节点则认为写在主节点上被认为是完成的。数据丢失可能发生在参加的两个节点同时故障的情况下,因为在传输中的数据可能不会被提交到磁盘。
  协议C:
  同步复制协议。只有在本地和远程节点的磁盘已经确认了写操作完成,写才被认为完成。没有任何数据丢失,所以这是一个群集节点的流行模式,但I / O吞吐量依赖于网络带宽。
  一般使用协议C,但选择C协议将影响流量,从而影响网络时延。为了数据可靠性,我们在生产环境使用时须慎重选项使用哪一种协议。

4.drbd的企业应用场景
  生产场景中drbd常用于基于高可用服务器之间的数据同步解决方案。
  例如:heartbeat+drbd+nfs/mfs/gfs,heartbeat+drbd+mysql/oracle等。实际上drbd可以配合任意需要数据同步的所有服务的应用场景。

5.常见的数据同步工具
  (1)rsync(sersync,inotify,lsyncd)
  (2)scp
  (3)nc
  (4)nfs(网络文件系统)
  (5)union双机同步
  (6)csync2多机同步
  (7)软件的自身同步机制(mysql,oracle,mongdb,ttserver,redis..)文件放到数据库,同步到从库,再把文件拿出来。
  (8)drbd

6.部署drbd服务需求描述

6.1 业务需求描述
  业务需求可以结合前面配置的heartbeat来搭建dbrd服务,hearbeat的安装和部署我前面的文章已经写了。主服务器为heartrbeat-1-130,从服务器为heartbeat-1-129。

6.2 drbd部署结构图
DSC0001.png

DSC0002.png

  (1)drbd服务通过直连线或以太网实时互相数据同步。
  (2)两台存储服务器互相备份,正常情况下两端各提供一个主分区供NFS使用。
  (3)存储服务器之间,存储服务和交换机之间都是双千兆网卡绑定。
  (4)应用服务器通过NFS访问存储。

7.drbd软件安装实验准备

7.1 操作系统:
  CentOS-6.8-x86_64

7.2 drbd服务主机资源准备
  主服务器A:
  主机名:heartbeat-1-130
  eth0网卡地址:192.168.1.130(管理IP)
  eth1网卡地址:10.0.10.4 (心跳IP)
  从服务器B:
  主机名:heartbeat-1-129
  eth0网卡地址:192.168.1.129(管理IP)
  eth1网卡地址:10.0.10.5(心跳IP)
  虚拟VIP:
  虚拟VIP在主服务器heartbeat-1-130上
  VIP:192.168.1.131
  需要修改主机名,关闭防火墙和selinux这些准备工作和heartbeat一样,我前面的安装heartbeat的文章有讲,这里就不讲了。就用安装heartbeat的那两台机器,主服务器heartbeat-1-130,从服务器heartbeat-1-129。

7.3 创建可用分区
  drbd是基于分区的磁盘逻辑卷的,没有可用的分区肯定不行。我们先把heartbeat-1-130和heartbeat-1-129两个虚拟机关机,然后在主节点heartbeat-1-130上添加一块1g的硬盘,在从节点heartbeat-1-129上添加一块2g的硬盘。添加硬盘就不演示了,然后启动两台机器。

7.4 对/dev/sdb进行分区
  (1)创建分区(以从节点为例)
  

[root@heartbeat-1-129 ~]# fdisk /dev/sdb  
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

  
Building a new DOS disklabel with disk>  
Changes will remain in memory only, until you decide to write them.
  
After that, of course, the previous content won't be recoverable.
  

  
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
  

  
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
  switch off the mode (command 'c') and change display units to
  sectors (command 'u').
  

  
Command (m for help): n
  
Command action
  e   extended
  p   primary partition (1-4)
  
p
  
Partition number (1-4): 1
  
First cylinder (1-261, default 1):
  
Using default value 1
  
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261): +1536M
  

  
Command (m for help): p
  

  
Disk /dev/sdb: 2147 MB, 2147483648 bytes
  
255 heads, 63 sectors/track, 261 cylinders
  
Units = cylinders of 16065 * 512 = 8225280 bytes

  
Sector>
  
I/O>
  
Disk>  


  Device Boot  Start End  Blocks  >  
/dev/sdb1   1 197 1582371   83  Linux
  

  
Command (m for help): n
  
Command action
  e   extended
  p   primary partition (1-4)
  
p
  
Partition number (1-4): 2
  
First cylinder (198-261, default 198):
  
Using default value 198
  
Last cylinder, +cylinders or +size{K,M,G} (198-261, default 261):
  
Using default value 261
  

  
Command (m for help): p
  

  
Disk /dev/sdb: 2147 MB, 2147483648 bytes
  
255 heads, 63 sectors/track, 261 cylinders
  
Units = cylinders of 16065 * 512 = 8225280 bytes

  
Sector>
  
I/O>
  
Disk>  


  Device Boot  Start End  Blocks  >  
/dev/sdb1   1 197 1582371   83  Linux
  
/dev/sdb2 198 261  514080   83  Linux
  

  
Command (m for help): w

  
The partition table has been>  

  
Calling ioctl() to re-read partition table.
  
Syncing disks.
  
[root@heartbeat-1-129 ~]# partprobe
  
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙).  As a result, it may not reflect all of your changes until after reboot.
  
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
  
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
  
Error: 无效的分区表 - /dev/sr0 出现递归分区。
  
[root@heartbeat-1-129 ~]# fdisk -l
  

  
Disk /dev/sda: 21.5 GB, 21474836480 bytes
  
255 heads, 63 sectors/track, 2610 cylinders
  
Units = cylinders of 16065 * 512 = 8225280 bytes

  
Sector>
  
I/O>
  
Disk>  


  Device Boot  Start End  Blocks  >  
/dev/sda1   *   1  64  512000   83  Linux
  
Partition 1 does not end on cylinder boundary.
  
/dev/sda2  64261120458496   8e  Linux LVM
  

  
Disk /dev/sdb: 2147 MB, 2147483648 bytes
  
255 heads, 63 sectors/track, 261 cylinders
  
Units = cylinders of 16065 * 512 = 8225280 bytes

  
Sector>
  
I/O>
  
Disk>  


  Device Boot  Start End  Blocks  >  
/dev/sdb1   1 197 1582371   83  Linux
  
/dev/sdb2 198 261  514080   83  Linux
  

  (2)格式化/dev/sdb1,注意/dev/sdb2不要格式化
  

[root@heartbeat-1-130 ~]# mkfs.ext4 /dev/sdb1  
mke2fs 1.41.12 (17-May-2010)
  
文件系统标签=
  
操作系统:Linux
  
块大小=1024 (log=0)
  
分块大小=1024 (log=0)
  
…省略…
  
正在写入inode表: 完成
  
Creating journal (8192 blocks): 完成
  
Writing superblocks and filesystem accounting information: 完成
  

  
This filesystem will be automatically checked every 24 mounts or
  
180 days, whichever comes first.  Use tune2fs -c or -i to override.
  

  扩展:当硬盘数据超过两T的时候,fdisk就用不了了,这是我们就要用parted这个命令。
  parted非交互分区
  

[root@localhost ~]# parted /dev/sdb mklabel gpt  
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
  
是/Yes/否/No? yes
  
[root@localhost ~]# parted /dev/sdb mkpart primary 0G 2G
  
[root@localhost ~]# parted -s /dev/sdb print
  
Model: VMware, VMware Virtual S (scsi)
  
Disk /dev/sdb: 5369MB

  
Sector>  
Partition Table: gpt
  


  
Number  Start   End>  1  1049kB  2000MB  1999MB   primary
  

  提示:
  a.这里的meta data分区一定不能格式化建立文件系统。
  b.格式化分好的分区现在不能直接挂在(mount)。
  c.生产环境DRBD meta data分区一般可设为1-2G。
  d.检查meta data分区正常可用的方法 。
  

[root@heartbeat-1-130 ~]# mount /dev/sdb2 /mnt  
mount: you must specify the filesystem type
  

  出现上面结果说明meta data分区分的是对的。

8.安装drbd软件
  DRDB软件可以编译安装也可以下载包含的源yum安装,本次事件采用编译安装的方式。

8.1编译安装drbd软件(注意下面步骤两台机器都要操作)
  (1)下载drbd软件(两台机器都要操作)
  可以在官网上下载http://oss.linbit.com/drbd/,  然后用rz命令传到服务器
  (2)安装gcc和gcc-c++
  

[root@heartbeat-1-130 tools]# yum install gcc gcc-c++ -y  

  除了安装gcc和gcc-c++还需要安装其他的一些依赖包,为了防止编译发生错误,最好提前安装上,下面是我在编译的时候需要安装的包。
  

yum install dpkg dpkg-dev dpkg-devel gcc gcc-c++ git rpm-build kernel-devel kernel-headers flex -y  

  (3)编译drbd
  

[root@heartbeat-1-130 tools]# pwd  
/home/linzhongniao/tools
  
[root@heartbeat-1-130 tools]# export LC_ALL=C
  
[root@heartbeat-1-130 tools]# ls
  
drbd-8.4.4.tar.gz
  
[root@heartbeat-1-130 tools]# tar –xf drbd-8.4.4.tar.gz
  
[root@heartbeat-1-130 tools]# cd drbd-8.4.4
  
[root@heartbeat-1-129 drbd-8.4.4]# ./configure --prefix=/usr/local/drbd8.4.4 --with-km --with-heartbeat --sysconfdir=/etc/
  

  (4)编译出现的问题
  出现下面问题yum安装dpkg、dpkg-dev、dpkg-devel再编译
  

checking for udevinfo... false  
configure: WARNING: No dpkg-buildpackage found, building Debian packages is disabled.
  
出现下面问题yum安装flex,重新编译
  
configure: error: Cannot build utils without flex, either install flex or pass the --without-utils option.
  

  (5)加载内核
  a.先查找内核源码
  

[root@heartbeat-1-130 drbd-8.4.4]# ls -ld /usr/src/kernels/$(uname -r)/  
ls: 无法访问/usr/src/kernels/2.6.32-642.el6.x86_64/: 没有那个文件或目录
  

  没有内核源码文件路径yum安装kernel-devel kernel-headers在查看就有了
  

[root@heartbeat-1-130 drbd-8.4.4]# ls -ld /usr/src/kernels/$(uname -r)/  
drwxr-xr-x 22 root root 4096 3月   5 05:55 /usr/src/kernels/2.6.32-696.20.1.el6.x86_64/
  

  如果uname –r命令显示的系统内核和在/usr/src/kernels/下查找的系统内核不一样怎么办呢,很简单升级系统内核,重启系统后再查看内核就一样了。
  

[root@heartbeat-1-130 drbd-8.4.4]# ls -ld /usr/src/kernels/2.6.32-696.20.1.el6.x86_64/  
drwxr-xr-x 22 root root 4096 Mar  6 19:24 /usr/src/kernels/2.6.32-696.20.1.el6.x86_64/
  
[root@heartbeat-1-130 drbd-8.4.4]# uname -r
  2.6.32-642.el6.x86_64
  
[root@heartbeat-1-130 drbd-8.4.4]# yum -y install kernel
  
[root@heartbeat-1-130 ~]# uname -r
  2.6.32-696.20.1.el6.x86_64
  

  b. 加载系统内核
  

[root@heartbeat-1-129 drbd-8.4.4]# make KDIR=/usr/src/kernels/$(uname -r)/  
[root@heartbeat-1-129 drbd-8.4.4]# echo $?
  
0
  

  (6)安装drbd
  

[root@heartbeat-1-129 drbd-8.4.4]# make install  

  echo  $?为零安装成功

9.图片数据/data各配置参数
  比较重要的是下面标黄的部分,,我们还用部署heartbeat的那个环境,heartbeat的环境部署前面文章有,这里就不再演示了。
DSC0003.png


10.配置drbd参数 (两台机器都要操作)

10.1加载drbd模块到内核
  这个drbd模块在重启电脑之后就会失效不会自动加载到系统内核中,我们可以放在/etc/rc.local里生效,让它开机生效。生产中是不需要放在/etc/rc.local里面的,不让自动启动,自动启动会导致一些不必要的问题。用lsmod |grep drbd查看有这个内容了就说明内核加载完成。
  

[root@heartbeat-1-130 drbd-8.4.4]# lsmod |grep drbd  
[root@heartbeat-1-130 drbd-8.4.4]# mo
  
modinfo  modutil  mountmount.nfsmountpoint   mount.tmpfs
  
modprobe more mount.cifs   mount.nfs4   mountstats
  
[root@heartbeat-1-130 drbd-8.4.4]# modprobe drbd
  
[root@heartbeat-1-130 drbd-8.4.4]# lsmod |grep drbd
  
drbd  327370  0
  
libcrc32c   1246  1 drbd
  
[root@heartbeat-1-130 drbd-8.4.4]# echo 'modprobe drbd' >>/etc/rc.local
  
[root@heartbeat-1-130 drbd-8.4.4]# tail -1 /etc/rc.local
  
modprobe drbd
  

10.2 编译drbd的配置文件drbd.conf
  (1)配置drbd的配置文件
  drbd的配置文件在我们编译的时候指定的那个路径,/etc/下。
  

[root@heartbeat-1-130 etc]# pwd  
/etc
  
[root@heartbeat-1-130 etc]# cat drbd.conf
  
global {
  usage-count no;
  
}
  
common {
  syncer {
  # wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb
  rate 1000M;
  verify-alg crc32c;
  }
  
}
  
resource data {
  protocol C;
  

  disk {
  on-io-error    detach;
  }
  on heartbeat-1-130 {
  device      /dev/drbd0;
  disk      /dev/sdb1;
  address      10.0.10.4:7788;
  meta-disk /dev/sdb2[0];
  }
  on heartbeat-1-129 {
  device      /dev/drbd0;
  disk      /dev/sdb1;
  address      10.0.10.5:7788;
  meta-disk /dev/sdb2[0];
  }
  
}
  

  (2)配置文件参数说明
  

global {  usage-count no;
  
}
  

  前三行是你全局配置,一般网站都会同居开源网站的安装量,usage-count的值等于no,就是不允许官方统计。
  

common {  syncer {
  # wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb
  rate 1000M;
  verify-alg crc32c;
  }
  
}
  

  Common段里面设置了同步的速度比如1000M,crc32c是一个算法
  

resource data {  protocol C;
  

  disk {
  on-io-error    detach;
  }
  on heartbeat-1-130 {
  device      /dev/drbd0;
  disk      /dev/sdb1;
  address      10.0.10.4:7788;
  meta-disk /dev/sdb2[0];
  }
  on heartbeat-1-129 {
  device      /dev/drbd0;
  disk      /dev/sdb1;
  address      10.0.10.5:7788;
  meta-disk /dev/sdb2[0];
  }
  
}
  

  上面resource段是drbd的资源,protocol C是一个实时同步数据的协议,用A或B都是异步同步或半同步,这样会导致数据的丢失,除非业务需求数据不总要并发要求高的情况下。disk表示一个磁盘出现io错误怎么处理。resource后面的data是drbd的资源,注意这里resource可以有多个资源,比如说再想增加一个资源,我们可以把resource这段复制一个就好了,需要修改的有resource后面的资源名称以及disk、meta-disk和同步的地址的端口号,例如7788。这里on heartbeat-1-130的on后面跟的是机器名,注意这里的机器名必须是uname –n返回的结果,device表示drbd的设备,disk表示drbd0对应本机器的第一个分区,address这里的地址是一个同步的地址,meta-disk是meta设备的数据分区对应本机器的第二个分区,0是meta 设备的一个格式。

11.enabling drbd资源 (两台机器都要操作)
  两台机器都要操作以heartbeat-1-130为例

11.1 初始化drbd的metadata(Create device metadata)
  初始化资源,注意我们初始的资源就是drbd.conf里resource后面的data。
  

[root@heartbeat-1-130 drbd-8.4.4]# drbdadm create-md data  
Writing meta data...
  
initializing activity log
  
NOT initializing bitmap
  
New drbd meta data block successfully created.
  

11.2 启动drbd服务
  drbdadm up data
  drbdadm up 跟的是resource设置的资源data,也可以指定所有资源drbdadm up all。
  

[root@heartbeat-1-130 ~]# drbdadm up data  
/usr/local/drbd8.4.4/var/run/drbd: No such file or directory
  
/usr/local/drbd8.4.4/var/run/drbd: No such file or directory
  

  我们看有错误提示/usr/local/drbd8.4.4/var/run/drbd: No such file or directory
  这个目录找不到centos6版本以上需要有这个目录,好我们就创建一个这个目录再启动drbd。
  

[root@heartbeat-1-130 ~]# mkdir -p /usr/local/drbd8.4.4/var/run/drbd  
[root@heartbeat-1-130 ~]# drbdadm up data
  

11.3 可以通过/proc/drbd查看drbd的状态
  

[root@heartbeat-1-130 ~]# cat /proc/drbd  
version: 8.4.4 (api:1/proto:86-101)
  
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@heartbeat-1-130, 2018-03-06 21:32:41
  0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
  
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:795188
  

  这里显示ro:Secondary/Secondary ds:Inconsistent/Inconsistent是正确的都是从,处于无主(primary)的状态。

11.4 同步drbd数据到对端SERVER使数据保持一致

11.4.1 指定一个同步的资源,同步数据到对端
  说明:
  1.如果为空硬盘。可以随意执行操作不需要考虑数据。
  2.如果两边数据不一样(要特别注意同步数据的方向,否则可能丢失数据)如果对端磁盘有数据要提前备份,否则会把对端数据覆盖掉。

11.4.2 一个资源只能在一端同步到另一端的命令
  注意:在主服务器上操作我们的主服务器是heartbeat-1-130
  (1)同步数据
  

[root@heartbeat-1-130 ~]# drbdadm -- --overwrite-data-of-peer primary data  
[root@heartbeat-1-130 ~]# cat /proc/drbd
  
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@heartbeat-1-130, 2018-03-06 21:32:41
  0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
  
ns:344064 nr:0 dw:0 dr:344724 al:0 bm:21 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:451124
  [=======>............] sync'ed: 43.6% (451124/795188)K
  finish: 0:00:10 speed: 43,008 (43,008) K/sec
  
[root@heartbeat-1-130 ~]# cat /proc/drbd
  
version: 8.4.4 (api:1/proto:86-101)
  
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@heartbeat-1-130, 2018-03-06 21:32:41
  0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
  
ns:795186 nr:0 dw:0 dr:795846 al:0 bm:49 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
  

  (2)参数说明
  以主节点为例
  cs:Connected:Connected是连接的状态,用zabbix做监控主要看Connected。
  ro:Primary/Secondary: Primary是主,Secondary是从;也就是说本地是主对端是从。
  ds:UpToDate/UpToDate:UpToDate是两边都更新完成。
  ns(network send):网络发送。
  nr(network receive):网络收到。备节点的这个点应该和主节点的ns的值是一样的。
  dw(disk write):硬盘写入。把网络数据写到硬盘。如果备节点的dw、nr和主节点的ns的值一样说明数据时完全同步的。

12.可能出现的问题及解决方法
  

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

  解决方法:
  1.检查两台物理网络连接或者IP及主机路由是否正确。
  2.停止iptables防火墙。
  3.还可能是发生列脑导致的结果。
  可以尝试用下面的方法解决
  在从节点slave上操作:
  drbdadm Secondary data
  drbdadm -- --discard-my-data connect data  ---> 丢弃本端数据进行连接
  在主节点上操作:
  通过查看cat/proc/drbd状态,如果不是WFConnection状态,则需要手动连接
  drbdadm connect data
  cat /proc/drbd查看两端状态

13.挂载测试数据库同步及查看备节点同步状态
  (1)创建drbd文件系统
  格式化主节点的drbd0,备节点不需要格式化。
  

[root@heartbeat-1-130 ~]# mkdir /data  
[root@heartbeat-1-130 ha.d]# mkfs.ext4 -b 4096 /dev/drbd0
  
mke2fs 1.41.12 (17-May-2010)
  
文件系统标签=
  
操作系统:Linux
  
块大小=4096 (log=2)
  
分块大小=4096 (log=2)

  
Stride=0 blocks, Stripe>  
49728 inodes, 198796 blocks
  
9939 blocks (5.00%) reserved for the super user
  
第一个数据块=0
  
Maximum filesystem blocks=205520896
  
7 block groups
  
32768 blocks per group, 32768 fragments per group
  
7104 inodes per group
  
Superblock backups stored on blocks:
  32768, 98304, 163840
  

  
正在写入inode表: 完成
  
Creating journal (4096 blocks): 完成
  
Writing superblocks and filesystem accounting information: 完成
  
This filesystem will be automatically checked every 36 mounts or
  
180 days, whichever comes first.  Use tune2fs -c or -i to override.
  
[root@heartbeat-1-130 ha.d]# tune2fs  -i 1  /dev/drbd0
  
tune2fs 1.41.12 (17-May-2010)
  
Setting interval between checks to 86400 seconds
  
[root@heartbeat-1-130 ~]# mount /dev/drbd0 /data
  

  (2)测试备节点数据同步情况
  先在主节点的drbd文件系统中插入数据,我们插入个20个文件
  

[root@heartbeat-1-130 data]# touch 'seq 10'  
[root@heartbeat-1-130 data]# ls
  
1  10  2  3  4  5  6  7  8  9  lost+found
  
[root@heartbeat-1-130 data]# touch `seq 10 20`
  

  查看备节点的数据同步情况,需要先挂载drbd存储设备,我们看数据已经同步过来了。
  

[root@heartbeat-1-129 ~]# mount /dev/sdb1 /mnt  
mount: you must specify the filesystem type
  
[root@heartbeat-1-129 ~]# drbdadm down data
  
[root@heartbeat-1-129 ~]# mount /dev/sdb1 /mnt
  
[root@heartbeat-1-129 ~]# ll /mnt/
  
总用量 16
  -rw-r--r-- 1 root root 0 3月   7 00:41 1
  -rw-r--r-- 1 root root 0 3月   7 00:43 10
  -rw-r--r-- 1 root root 0 3月   7 00:43 11
  -rw-r--r-- 1 root root 0 3月   7 00:43 12
  -rw-r--r-- 1 root root 0 3月   7 00:43 13
  -rw-r--r-- 1 root root 0 3月   7 00:43 14
  -rw-r--r-- 1 root root 0 3月   7 00:43 15
  -rw-r--r-- 1 root root 0 3月   7 00:43 16
  -rw-r--r-- 1 root root 0 3月   7 00:43 17
  -rw-r--r-- 1 root root 0 3月   7 00:43 18
  -rw-r--r-- 1 root root 0 3月   7 00:43 19
  -rw-r--r-- 1 root root 0 3月   7 00:41 2
  -rw-r--r-- 1 root root 0 3月   7 00:43 20
  -rw-r--r-- 1 root root 0 3月   7 00:41 3
  -rw-r--r-- 1 root root 0 3月   7 00:41 4
  -rw-r--r-- 1 root root 0 3月   7 00:41 5
  -rw-r--r-- 1 root root 0 3月   7 00:41 6
  -rw-r--r-- 1 root root 0 3月   7 00:41 7
  -rw-r--r-- 1 root root 0 3月   7 00:41 8
  -rw-r--r-- 1 root root 0 3月   7 00:41 9
  
drwx------ 2 root root 16384 3月   7 00:38 lost+found
  

  出现上面同步的数据表示drbd完成了,完成了下面我们启动备节点的drbd
  

[root@heartbeat-1-129 ~]# umount /mnt/  
[root@heartbeat-1-129 ~]# drbdadm up data
  
[root@heartbeat-1-129 ~]# cat /proc/drbd
  
version: 8.4.4 (api:1/proto:86-101)
  
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@heartbeat-1-129, 2018-03-05 07:38:05
  0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
  
ns:0 nr:56 dw:56 dr:0 al:0 bm:2 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-602478-1-1.html 上篇帖子: mysql中的键和索引 下篇帖子: MySQL5.7MHA+MaxScale2.0构建高可用环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表