构建Heartbeat+DRBD+NFS高可用文件共享存储

这是我的操作过程,ip和主机名修改下。算是个部署的脚本吧,只是半自动而已。..O(∩_∩)O~
过两天写个全自动的~~~~我们线上用drbd做nfs效果还可以,只是nfs一直没挂过。算稳定吧。现在大点的项目直接上mfs,效果性能更好点。
 
 
  1. 注意:

  2. 主机名一定要设置,hosts和hostname

  3. 分区要单独的分区,而且是没有格式化的

  4. 文件系统只能同时挂载一个,而且是在主节点进行,格式化也只能是在主节点

  5. echo "10.10.10.22 masternfs ">>/etc/hosts

  6. echo "10.10.10.24 slavenfs ">>/etc/hosts

  7. hostname masternfs

  8. hostname slavenfs

  9. fdisk -l

  10. fdisk /dev/xxx

  11. partprobe /dev/sdb

  12. cat /proc/partitions

  13. yum -y install kmod-drbd83 drbd83

  14. modprobe drbd

  15. lsmod |grep drbd

  16. rm /etc/drbd.conf -f

  17. cp -f /usr/share/doc/drbd83*/drbd.conf /etc/

  18. cd /etc/drbd.d/

  19. cp global_common.conf global_common.conf.bak

  20. vim global_common.conf

  21. global {

  22. usage-count no;

  23. # minor-count dialog-refresh disable-ip-verification

  24. }

  25. common {

  26. protocol C;

  27. startup {

  28. wfc-timeout 120;

  29. degr-wfc-timeout 120;

  30. }

  31. disk {

  32. on-io-error detach;

  33. fencing resource-only;

  34. }

  35. net {

  36. cram-hmac-alg "sha1";

  37. shared-secret "mydrbdlab";

  38. }

  39. syncer {

  40. rate 100M;

  41. }

  42. }

  43. vim web.res

  44. resource web {

  45. on masternfs {

  46. device /dev/drbd0;

  47. disk /dev/sdb1;

  48. address 10.10.10.22:7898;

  49. meta-disk internal;

  50. }

  51. on slavenfs {

  52. device /dev/drbd0;

  53. disk /dev/sdb1;

  54. address 10.10.10.24:7898;

  55. meta-disk internal;

  56. }

  57. }

  58. scp global_common.conf 10.10.10.22:/etc/drbd.d/

  59. scp web.res 10.10.10.24:/etc/drbd.d/

  60. #创建资源,在两个节点都执行,会有提示sucess

  61. drbdadm create-md web

  62. #启动drbd,在两个节点都支持

  63. service drbd start

  64. #查看状态的信息

  65. drbd-overview

  66. #查看启动状态

  67. cat /proc/drbd

  68. 设置主节点

  69. drbdadm -- --overwrite-data-of-peer primary web

  70. drbd-overview

  71. mkfs -t ext3 -L drbdweb /dev/drbd0

  72. mount /dev/drbd0 /web

  73. #查看主从的状态,drbd只能同时mount一个。

  74. cat /proc/drbd

  75. service drbd status

  76. df -h

  77. yum -y install nfs* portmap

  78. vi /etc/exports

  79. /web *(rw)

  80. service portmap start

  81. chkconfig portmap on

  82. service nfs start

  83. chkconfig nfs on

  84. #将/etc/init.d/nfs 脚本中的stop 部分中的killproc

  85. #nfsd -2 修改为 -9

  86. yum install heartbeat* libnet* �Cy

  87. cd /usr/share/doc/heartbeat*

  88. cp -f authkeys haresources ha.cf /etc/ha.d/

  89. cd /etc/ha.d/

  90. cat >> ha.cf <<EOF

  91. debugfile /var/log/ha-debug

  92. logfile /var/log/ha-log

  93. logfacility local0

  94. keepalive 2

  95. deadtime 10

  96. udpport 694

  97. #对方的ip

  98. ucast eth0 10.10.10.24

  99. #最好是路由的,ping节点仅仅用来测试网络连接

  100. ping 10.10.10.1

  101. auto_failback off

  102. node masternfs

  103. node slavenfs

  104. EOF

  105. echo "masternfs IPaddr::10.10.10.88/24/eth0 drbddisk::web Filesystem::/dev/drbd0::/data::ext3 killnfsd" >> haresources

  106. cat >> authkeys <<EOF

  107. auth 1

  108. 1 crc

  109. EOF

  110. chmod 600 /etc/ha.d/authkeys

  111. chmod 755 /etc/ha.d/resource.d/killnfsd

  112. echo "killall -9 nfsd; /etc/init.d/nfs restart; exit 0 " >> /etc/ha.d/resource.d/killnfsd

  113. service heartbeat start

  114. chkconfig heartbeat on

  115. 查看是主节点还是从节点:

  116. # drbdadm role web《-----node1上执行的结果

  117. Primary/Secondary

  118. # drbdadm role web《------node2上执行的结果

  119. Secondary/Primary

  120. 如果我们想把自己的设置为从节点:

  121. # umount /web

  122. # drbdadm secondary web

  123. 然后再把原来的从节点设置为主节点:

  124. # mkdir /web

  125. # drbdadm primary web

  126. # mount /dev/drbd0 /web 《----注意此时一定不要再格式化/dev/drbd0

  127. #cd /web

  128. [root@node2 web]# ls

  129. inittab lost+found<--------验证此时文件仍然存在


你可能感兴趣的:(heartbeat,nfs,drbd,drbd,drbd)