MySQL - CentOS6.5_x64 설치 및 구성 drbd8.4.2
1. 호스트 리소스:
********* * ************************************
DRBD 다운로드 주소: http:// oss.linbit.com/drbd/
************************************ **** *******
2. 기본 시스템 구성
마스터와 슬레이브는 다음과 같이 구성되었습니다.
1. /etc/hosts 파일 구성
~]# 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
2. selinux 비활성화:
# sed -i "7s/enforcing/disabled/" /etc/selinux/config
3. 여기에서 iptables를 비활성화하거나 제거합니다. iptables를 비활성화합니다:
1) 방화벽을 끄십시오------service iptables stop
2) 방화벽을 시작합니다----service iptables start
3) 방화벽을 다시 시작합니다-- --- service iptables restart
4) 방화벽 상태 확인--service iptables status
5) 영구적으로 방화벽 끄기--chkconfig iptables off
6) 영구 종료 후 활성화--chkconfig iptables on
4. yum update를 실행하여 커널을 업그레이드합니다.
# yum update Loaded plugins: fastestmirror, presto Loading mirror speeds from cached hostfile * base: mirrors.btte.NET ………
5. /dev/sdb
#fdisk -l
#fdisk /dev/sdb
를 다시 시작합니다.
reboot
3. DRBD 8.4.2 설치(액티브 노드와 스탠바이 노드 구성이 동일함)
1. 액티브 노드와 스탠바이 노드에 DRBD 컴파일 환경을 설치합니다:
# yum -y install gcc flex wget make kernel-devel kernel-headers Git libxslt rpm-build automake autoconf
2. 설치 파일
# wget http://oss.linbit .com/drbd/8.4/drbd-8.4.2.tar.gz
3. DRBD 파일의 압축을 풀고 설치합니다
#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
4. DRBD 드라이버 모듈 설치 및 구성
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
4. DRBD 구성 파일 정의(활성 노드와 백업 노드의 구성은 동일함)
~]# 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
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"; } }
~]# vi /usr/local/drbd/etc/drbd.d/Redis.res
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; }
~]# modprobe drbd #载入DRBD模块 ~]# lsmod |grep drbd #确认DRBD模块载入成功
drbd 314184 0 libcrc32c 1246 1 drbd
~]# drbdadm create-md redis #创建元数据
--== 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
~]# mkdir -p /usr/local/drbd/var/run/drbd ~]# drbdadm up redis #启用资源
Device '1' is configured! Command 'drbdmeta 1 v08 /dev/sdb internal apply-al' terminated with exit code 20
~]# cat /proc/drbd #查看DRBD状态
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
*** *************************** *********************** **************************** ********************** *****************
5. 설정 기본 노드(마스터 구성)
~]# mkdir /drbd #为DRBD分区挂载创建路径
~]# drbdadm primary --force redis #设置master角色为Primary ~]# mkfs.ext4 /dev/drbd1 #格式化drbd1(逻辑设备)
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.
~]# mount /dev/drbd1 /drbd #挂载DRBD分区 ~]# df -h
6. 동기화 테스트 :
마스터 연산 :
文件系统 容量 已用 可用 已用%% 挂载点 /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
슬레이브 연산 :
~]# 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 #主节点角色降级
~]# drbdadm primary redis #备节点设置成primary角色 ~]# mount /dev/drbd1 /drbd #备节点挂载DRBD分区 ~]# df -h
文件系统 容量 已用 可用 已用%% 挂载点 /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
테스트 완료~!
위 내용은 MySQL-CentOS6.5_x64 설치 및 설정 drbd8.4.2 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!