1. 程式人生 > >DRBD的主備安裝配置

DRBD的主備安裝配置

tin sin ted sta 之前 doc ado root 測試

drbd軟件包鏈接:https://pan.baidu.com/s/1eUcXVyU 密碼:00ul

1、使用的資源:
1.1 系統centos6.9 mini
1.2 兩臺節點主機node1、node2
192.168.1.132 node1
192.168.1.124 node2
1.3 DRBD
disk: /dev/sdb1 10G
DRBD device: /dev/drbd1
DRBD resource: vz1
掛載目錄 /vz/vz1


2、設置hostname,ip地址,關閉iptables,selinux

2.1 node1
[root@node1 ~]# hostname
node1
[root@node1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.132 node1
192.168.1.124 node2
[root@node1 ~]# service iptables status
iptables: Firewall is not running.
[root@node1 ~]# getenforce
Disabled
[root@node1 ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:BC:22:FE
inet addr:192.168.1.132 Bcast:192.168.1.255 Mask:255.255.255.0


2.2 node2
[root@node2 ~]# hostname
node2
[root@node2 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.132 node1
192.168.1.124 node2
[root@node2 ~]# service iptables status
iptables: Firewall is not running.
[root@node2 ~]# getenforce
Disabled
[root@node2 ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:D6:96:1C
inet addr:192.168.1.124 Bcast:192.168.1.255 Mask:255.255.255.0

3.配置ssh無密鑰通信

3.1 在node1上
[root@node1 ~]# ssh-keygen -t rsa -b 1024
#按enter鍵
[root@node1 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@node2
#輸入node2的密碼

3.2 在node2上
[root@node2 ~]# ssh-keygen -t rsa -b 1024
#按enter鍵
[root@node2 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@node1
#輸入node1的密碼

4.在node1和node2上建立同樣大小的分區/dev/sdb1

4.1 分區
[root@node1 ~]# fdisk /dev/sdb

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

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7b1a86d9

Device Boot Start End Blocks Id System
/dev/sdb1 1 1306 10490413+ 83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

4.2 在node1和node2 格式分區格式為ext4
[root@node1 ~]# mkfs -t ext4 /dev/sdb1
[root@node1 ~]# tune2fs -c 0 -i -1 /dev/sdb1
[root@node2 ~]# mkfs -t ext4 /dev/sdb1
[root@node2 ~]# tune2fs -c 0 -i -1 /dev/sdb1

5.安裝perl* 包和drbd的安裝包上傳到node1和node2上的/root/tools/vz/目錄
[root@node1 vz]#yum install -y perl*
[root@node1 vz]# yum install -y lrzsz
[root@node1 ~]# cd /root/tools/vz/
[root@node1 vz]# ls
[root@node1 vz]# rz
[root@node1 vz]# ls
drbd83-utils-8.3.13-1.el6.elrepo.x86_64.rpm

[root@node2 vz]#yum install -y perl*
[root@node2 vz]# yum install -y lrzsz
[root@node2 ~]# cd /root/tools/hbvz/
[root@node2 vz]# ls
[root@node2 vz]# rz
[root@node2 vz]# ls
drbd83-utils-8.3.13-1.el6.elrepo.x86_64.rpm

6.安裝drbd包

6.1檢查內核版本,內核版本要和drbd的版本相對應(由於版本不一樣,現在升級內核版本)
[root@node1 vz]# uname -r
2.6.32-696.el6.x86_64
[root@node1 vz]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo
[root@node1 yum.repos.d]#cd /etc/yum.repos.d
[root@node1 yum.repos.d]#wget http://download.openvz.org/openvz.repo
[root@node1 yum.repos.d]#rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
[root@node1 yum.repos.d]# yum install -y vzkernel
#配置OS內核參數,進入/etc/sysctl.conf文件,需要重啟才會生效
kernel.sysrq = 1

[root@node2 vz]# uname -r
2.6.32-696.el6.x86_64
[root@node2 vz]# cd /etc/yum.repos.d/
[root@node2 yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo
[root@node2 yum.repos.d]#cd /etc/yum.repos.d
[root@node2 yum.repos.d]#wget http://download.openvz.org/openvz.repo
[root@node2 yum.repos.d]#rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
[root@node2 yum.repos.d]# yum install -y vzkernel

6.2 在node1和node2安裝drbd,並且加載模塊
[root@node1 vz]# rpm -Uvh drbd83-utils-8.3.13-1.el6.elrepo.x86_64.rpm
warning: drbd83-utils-8.3.13-1.el6.elrepo.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY
Preparing... ########################################### [100%]
1:drbd83-utils ########################################### [100%]
[root@node1 vz]# modprobe drbd

[root@node2 ~]# cd /root/tools/vz/
[root@node2 vz]# rpm -Uvh drbd83-utils-8.3.13-1.el6.elrepo.x86_64.rpm
warning: drbd83-utils-8.3.13-1.el6.elrepo.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY
Preparing... ########################################### [100%]
1:drbd83-utils ########################################### [100%]
[root@node2 vz]# modprobe drbd

7.在node1、node2 上測試/dev/sdb1分區的磁盤
[root@node1 vz]# dd if=/dev/zero of=/dev/sdb1 bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.0968801 s, 10.8 MB/s
[root@node2 vz]# dd if=/dev/zero of=/dev/sdb1 bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.0968801 s, 10.8 MB/s

8.編寫drbd的配置文件

8.1 在node1上
[root@node1 vz]# /bin/cp /root/tools/hbvz/global_common.conf -f /etc/drbd.d/
[root@node1 vz]# vi vz1.res
[root@node1 vz]# cat vz1.res
resource vz1 {
on node1 {
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.1.132:7788;
flexible-meta-disk internal;
}
on node2 {
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.1.124:7788;
meta-disk internal;
}
}

[root@node1 vz]# /bin/cp /root/tools/hbvz/vz1.res -f /etc/drbd.d/

8.2 將node1機器上的drbd配置文件都復制到node2機器上
[root@node1 vz]# scp -r /etc/drbd* root@node2:/etc/
drbd.conf 100% 133 0.1KB/s 00:00
vz1.res 100% 293 0.3KB/s 00:00
global_common.conf 100% 1896 1.9KB/s 00:00


9、啟動drbd服務

9.1 在node1 上
[root@node1 vz]# drbdadm create-md all
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
[root@node1 vz]# drbdadm up all
[root@node1 vz]# drbd-overview
1:vz1 WFConnection Secondary/Unknown Inconsistent/DUnknown C r----s
[root@node1 vz]# /etc/init.d/drbd start
#填入yes

9.2 在node2 上
[root@node2 vz]# drbdadm create-md all
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
[root@node2 vz]# drbdadm up all
[root@node2 vz]# drbd-overview
1:vz1 Connected Secondary/Secondary Inconsistent/Inconsistent C r-----
[root@node2 vz]# /etc/init.d/drbd start
Starting DRBD resources: [ ].
#註意紅色的字體,現在兩個節點都是備份節點

10.將vz1資源的master機器是node1
[root@node1 vz]# drbdadm -- --overwrite-data-of-peer primary vz1
[root@node1 vz]# drbd-overview
1:vz1 SyncSource Primary/Secondary UpToDate/Inconsistent C r-----
[>...................] sync‘ed: 5.2% (9724/10244)M


#現在看到node1為主節點了,並且在同步數據

11.在node1上創建文件系統,並且掛載
[root@node1 vz]# mkfs.ext4 /dev/drbd1
[root@node1 vz]# tune2fs -c 0 -i -1 /dev/drbd1
[root@node1 vz]# mkdir /vz/vz1 -p
[root@node1 vz]# mount /dev/drbd1 /vz/vz1/

12.上傳數據到/vz/vz1上
[root@node1 vz1]# ls
lost+found openstack-sdn.wmv


13.測試

13.1 重啟node1,在node2 上新建目錄/vz/vz1,然後把node2 設置為主節點,將/dev/drbd1掛載到/vz/vz1
[root@node2 vz1]# drbdadm -- --overwrite-data-of-peer primary vz1
[root@node2 vz1]# mount /dev/drbd1 /vz/vz1
[root@node2 vz1]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.8G 1.5G 7.8G 16% /
tmpfs 233M 0 233M 0% /dev/shm
/dev/sda1 477M 53M 399M 12% /boot
/dev/drbd1 9.8G 289M 9.0G 4% /vz/vz1
[root@node2 vz1]# cd /vz/vz1
[root@node2 vz1]# ls
lost+found openstack-sdn.wmv
#看到之前上傳的東西恢復了


[root@node1 ~]# drbd-overview
1:vz1 Connected Secondary/Secondary UpToDate/UpToDate C r-----
[root@node1 ~]# drbd-overview
1:vz1 Connected Secondary/Primary UpToDate/UpToDate C r-----
#看到node1上的變化從次節點變為主節點

13.2 現在node2為主節點,當它崩潰之後,把node1設置為主節點,看看node2上的數據還在
[root@node2 vz1]# echo c >/proc/sysrq-trigger
#此為測試環境,慎用這個命令,node2 已經崩潰
[root@node1 ~]# ping 192.168.1.124
PING 192.168.1.124 (192.168.1.124) 56(84) bytes of data.
From 192.168.1.132 icmp_seq=2 Destination Host Unreachable
From 192.168.1.132 icmp_seq=3 Destination Host Unreachable
From 192.168.1.132 icmp_seq=5 Destination Host Unreachable

[root@node1 ~]# drbdadm -- --overwrite-data-of-peer primary vz1
[root@node1 ~]# mount /dev/drbd1 /vz/vz1/
[root@node1 ~]# cd /vz/vz1/
[root@node1 vz1]# ls
hadoop腳本.docx iaas平臺搭建.mp4 lost+found openstack-sdn.wmv

DRBD的主備安裝配置