192.168.0.153 |
sda/10G,sdb/10G; |
|
|
************************************************
DRBD download address: http://oss.linbit.com/drbd/
**** ******************************************
二、Basic system configuration
Master and slave are configured as follows.
1. Configure the /etc/hosts file
~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.152 master
192.168.0.153 slave
Copy after login
2. Disable selinux:
# sed -i "7s/enforcing/disabled/" /etc/selinux/config
Copy after login
3. Disable or uninstall iptables, here we will disable iptables:
1) Turn off the firewall-----service iptables stop
2) Start Firewall-----service iptables start
3) Restart the firewall-----service iptables restart
4) Check the firewall status--service iptables status
5) Permanently turn off the firewall--chkconfig iptables off
6) After permanent shutdown, enable --chkconfig iptables on
4. Run yum update to upgrade the kernel:
# yum update
Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
* base: mirrors.btte.NET
………
Copy after login
5. Format /dev/sdb
#fdisk -l
Copy after login
#fdisk /dev/sdb
Copy after login
6. Restart
3. Install DRBD 8.4.2 (active and backup) The node configuration is the same)
1. Install the DRBD compilation environment on the active and backup nodes:
# yum -y install gcc flex wget make kernel-devel kernel-headers Git libxslt rpm-build automake autoconf
Copy after login
2. Download the DRBD installation File
wget http://oss.linbit.com/drbd/8.4/drbd-8.4.2.tar.gz
3. Unzip and install the DRBD file
#tar -zvxf drbd-8.4.2.tar.gz
# cd drbd-8.4.2
drbd-8.4.2]# ./configure --prefix=/usr/local/drbd --with-km
drbd-8.4.2]# make KDIR=/usr/src/kernels/`uname -r`/
drbd-8.4.2]# make install
Copy after login
4. Install and configure DRBD driver module
drbd-8.4.2]# cd drbd
drbd-8.4.2]# make clean
drbd-8.4.2]# make KDIR=/usr/src/kernels/`uname -r`/
drbd-8.4.2]# cp drbd.ko /lib/modules/`uname -r`/kernel/lib/
drbd-8.4.2]# depmod #创建模块依赖关系的列表
drbd-8.4.2]# cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d/
drbd-8.4.2]# chkconfig --add drbd
drbd-8.4.2]# chkconfig drbd on
Copy after login
four , define DRBD Configuration file (The configuration of the active and backup nodes is the same)
~]# cp /usr/local/drbd/etc/drbd.d/global_common.conf /usr/local/drbd/etc/drbd.d/global_common-bak.conf
~]# vi /usr/local/drbd/etc/drbd.d/global_common.conf
Copy after login
global {
usage-count yes; # 是否参加DRBD使用者统计.默认是yes
# minor-count dialog-refresh disable-ip-verification
}
common {
handlers {
pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
}
startup {
wfc-timeout 30;
degr-wfc-timeout 30;
outdated-wfc-timeout 30;
}
options {
# cpu-mask on-no-data-accessible
}
disk {
on-io-error detach;
fencing resource-and-stonith;
resync-rate 50M; # 设置主备节点同步时的网络速率最大值,单位是字节.
}
net {
protocol C; # 使用协议C.表示收到远程主机的写入确认后,则认为写入完成.
cram-hmac-alg sha1; # 设置主备机之间通信使用的信息算法.
shared-secret "123456";
}
}
Copy after login
~]# vi /usr/local/drbd/etc/drbd.d/Redis.res
Copy after login
resource redis{
on master {
device /dev/drbd1; #逻辑设备的路径
disk /dev/sdb; #物理设备
address 192.168.0.152:7788; #IP和监听端口
meta-disk internal;
}
on slave {
device /dev/drbd1;
disk /dev/sdb;
address 192.168.0.153:7788;
meta-disk internal;
}
}
Copy after login
~]# modprobe drbd #载入DRBD模块
~]# lsmod |grep drbd #确认DRBD模块载入成功
Copy after login
drbd 314184 0
libcrc32c 1246 1 drbd
Copy after login
~]# drbdadm create-md redis #创建元数据
Copy after login
--== Thank you for participating in the global usage survey ==--
The server's response is:
you are the 4070th user to install this version
md_offset 10737414144
al_offset 10737381376
bm_offset 10737053696
Found some data
==> This might destroy existing data! <==
Do you want to proceed?
[need to type 'yes' to confirm] yes
Writing meta data...
initializing activity log
NOT initializing bitmap
New drbd meta data block successfully created.
success
Copy after login
~]# mkdir -p /usr/local/drbd/var/run/drbd
~]# drbdadm up redis #启用资源
Copy after login
Device '1' is configured!
Command 'drbdmeta 1 v08 /dev/sdb internal apply-al' terminated with exit code 20
Copy after login
~]# cat /proc/drbd #查看DRBD状态
Copy after login
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by , 2012-12-31 20:26:02
1: 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:10485404
Copy after login
~]# mkdir /drbd #为DRBD分区挂载创建路径
Copy after login
******* *************************************************** *************************************************** ***********
5. Set the master node Primary node (master configuration)
~]# drbdadm primary --force redis #设置master角色为Primary
~]# mkfs.ext4 /dev/drbd1 #格式化drbd1(逻辑设备)
Copy after login
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621351 blocks
131067 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
正在写入inode表: 完成
Creating journal (32768 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.
Copy after login
~]# mount /dev/drbd1 /drbd #挂载DRBD分区
~]# df -h
Copy after login
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda3 8.7G 1.1G 7.3G 13% /
tmpfs 497M 0 497M 0% /dev/shm
/dev/sda1 194M 64M 120M 35% /boot
/dev/drbd1 9.9G 151M 9.2G 2% /drbd
Copy after login
6. Synchronous test:
mater operation:
~]# ls
anaconda-ks.cfg drbd-8.4.2 drbd-8.4.2.tar.gz install.log install.log.syslog
~]# cp drbd-8.4.2.tar.gz /drbd
~]# ll /drbd
总用量 676
-rw-r--r-- 1 root root 675803 10月 15 21:14 drbd-8.4.2.tar.gz
drwx------ 2 root root 16384 10月 15 21:07 lost+found
~]# umount /dev/drbd1 #卸载挂载的DRBD分区
~]# drbdadm secondary redis #主节点角色降级
Copy after login
slave operation:
~]# drbdadm primary redis #备节点设置成primary角色
~]# mount /dev/drbd1 /drbd #备节点挂载DRBD分区
~]# df -h
Copy after login
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda3 8.7G 1.1G 7.3G 13% /
tmpfs 497M 0 497M 0% /dev/shm
/dev/sda1 194M 64M 120M 35% /boot
/dev/drbd1 9.9G 152M 9.2G 2% /drbd
Copy after login
~]# ll /drbd
总用量 676
-rw-r--r-- 1 root root 675803 10月 15 21:14 drbd-8.4.2.tar.gz
drwx------ 2 root root 16384 10月 15 21:07 lost+found
Copy after login
Test completed~!