Advertisement
42n4

GlusterXenserver43servers_config

Mar 2nd, 2016
392
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.56 KB | None | 0 0
  1. #USE IT IN COMMAND LINE (without #):
  2. #curl http://pastebin.com/raw/vfhyM0xu > xendeletelocalsr.sh; tr -d "\015" < xendeletelocalsr.sh > xendeletelocalsrnew.sh
  3. #sh xendeletelocalsrnew.sh
  4. #I have managed to configure 4 servers of beta3 dundee with glusterfs and ctdb and fully working ha without SPOF.
  5. #I have four NICs: NIC0 management of xenserver 192.168.10.2*, NIC1 gluster vm client 192.168.10.14*, bond NIC2-3 10.10.10.1*, VIPs #from ctdb 192.168.10.13*. In /etc/hosts I keep only 10.10.10.1x server ips and use them in glusterfs volume creation and in #consequence in glusterfs backend traffic.
  6. #The main compilation script:
  7. #http://pastebin.com/mKn0ArbQ
  8. #Removing local storage and configuring ctdb, /etc/hosts:
  9. #http://pastebin.com/vfhyM0xu
  10. #At the end you should:
  11. #gluster peer probe servers
  12. #and
  13. #init_gluster4 "xenserverhw" "06" "08" "03" "04" "vol0" 4 #replica 4 at the end!
  14. #create SR nfs and iso, make vm and install xen tools and enable ha with 3 failovers.
  15. #You are encouraged to send some patches or opinions newfuntek(at)gmail.com
  16. #Here are some screenshots of the glusterfs sr in the xenserver pool:
  17. #http://s17.postimg.org/3y47n8w27/glusterfsxenserv03.jpg
  18. #http://s17.postimg.org/n4heqfcjz/glusterfsxenserv01.jpg
  19. #http://s17.postimg.org/gs29gl9hr/glusterfsxenserv02.jpg
  20. #uuid pbd http://blog.gluster.org/2012/
  21. #usunięcie Local Storage na sda3
  22. #sformatowanie i podmontowanie dwóch wolnych partycji sda2 i sda3 na dwa dyski sieciowe
  23. sed -i -e "s/metadata_read_only = 1/metadata_read_only = 0/" /etc/lvm/lvm.conf
  24. hname=`hostname`
  25. #hname=`echo $hname | tr [:lower:] [:upper:]`
  26. sruuid=`xe sr-list host=$hname name-label=Local\ storage --minimal`
  27. pbduid=`xe pbd-list sr-uuid=$sruuid --minimal`
  28. xe pbd-unplug uuid=$pbduid
  29. xe sr-forget uuid=$sruuid
  30. vgremove `vgdisplay -C | tail -n1 | cut -f3 -d' '` -f
  31. dev4gfs=`pvdisplay -C | tail -n1 | cut -f3 -d' '`
  32. pvremove $dev4gfs -f
  33.  
  34. umount $dev4gfs
  35. init_brick $dev4gfs "vol0"
  36.  
  37. umount "/dev/sda2"
  38. init_brick "/dev/sda2" "vol1"
  39.  
  40. #removeallandformat "/dev/sdb"
  41. #init_brick "/dev/sdb1" "vol2"
  42.  
  43. ###########################################################################
  44. #OnePool
  45. ###########################################################################
  46. server="xen"
  47. host01="1"
  48. host02="2"
  49. host03="3"
  50. #host04="8"
  51. echo "127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4" > /etc/hosts
  52. echo "10.10.10.1${host01} ${server}${host01}" >> /etc/hosts
  53. echo "10.10.10.1${host02} ${server}${host02}" >> /etc/hosts
  54. echo "10.10.10.1${host03} ${server}${host03}" >> /etc/hosts
  55. #echo "10.10.10.1${host04} ${server}${host04}" >> /etc/hosts
  56. echo "10.10.10.1${host01}" > /etc/ctdb/nodes
  57. echo "10.10.10.1${host02}" >> /etc/ctdb/nodes
  58. echo "10.10.10.1${host03}" >> /etc/ctdb/nodes
  59. #echo "10.10.10.1${host04}" >> /etc/ctdb/nodes
  60. echo "192.168.0.10${host01}/24 xenbr1" > /etc/ctdb/public_addresses
  61. echo "192.168.0.10${host02}/24 xenbr1" >> /etc/ctdb/public_addresses
  62. echo "192.168.0.10${host03}/24 xenbr1" >> /etc/ctdb/public_addresses
  63. #echo "192.168.0.10${host04}/24 xenbr1" >> /etc/ctdb/public_addresses
  64. chkconfig ctdb on
  65. #service ctdb restart
  66.  
  67. #init_gluster4 "xenserverhw" "06" "08" "03" "04" "vol0" 4
  68. #init_gluster3 "xen" "1" "2" "3" "vol0" 3
  69. #init_gluster3 "xen" "1" "2" "3" "vol1" 3
  70. #service ctdb restart
  71. ctdb status
  72.  
  73. #https://serversforhackers.com/an-ansible-tutorial
  74. #http://www.cyberciti.biz/faq/
  75. yum install ansible -y
  76. [ -f /etc/ansible/hosts ] && mv /etc/ansible/hosts /etc/ansible/hosts.orig
  77. echo "[web]" > /etc/ansible/hosts
  78. echo "10.10.10.13" >> /etc/ansible/hosts
  79. echo "10.10.10.14" >> /etc/ansible/hosts
  80. echo "10.10.10.16" >> /etc/ansible/hosts
  81. #echo "10.10.10.18" >> /etc/ansible/hosts
  82. #ssh-keygen -t rsa -b 2048 -N '' -f /root/.ssh/id_rsa
  83. #ssh-copy-id -i root@xenserverhw03
  84. #ssh-copy-id -i root@xenserverhw04
  85. #ssh-copy-id -i root@xenserverhw05
  86. #ssh-copy-id -i root@xenserverhw06
  87. #ansible all -s -m shell -a "ctdb status"
  88. echo 'ansible all -s -m shell -a "$1"' > /usr/local/bin/ae
  89. chmod 700 /usr/local/bin/ae
  90. #CRONTAB WORKS for test logs
  91. [ -f /var/log/checktime.log ] && mv /var/log/checktime.log /var/log/checktime.log.old -f
  92. echo 'echo "#########################"' > /usr/local/bin/checktime
  93. echo "date" >> /usr/local/bin/checktime
  94. echo "ntpstat -s" >> /usr/local/bin/checktime
  95. echo "/sbin/gluster volume status vol2" >> /usr/local/bin/checktime
  96. echo "ctdb status" >> /usr/local/bin/checktime
  97. echo "free" >> /usr/local/bin/checktime
  98. chmod 755 /usr/local/bin/checktime
  99. echo "/usr/local/bin/checktime  2>&1 | cat >> /var/log/checktime.log" > /usr/local/bin/cronuserlogs
  100. chmod 755 /usr/local/bin/cronuserlogs
  101. echo "* * * * * /usr/local/bin/cronuserlogs" > ./cronwork
  102. crontab -r
  103. crontab ./cronwork
  104. crontab -l
  105.  
  106. cat <<__EOF__ > /etc/logrotate.d/checktime
  107. /var/log/checktime.log {
  108.     daily
  109.     rotate 3
  110.     compress
  111.     delaycompress
  112.     missingok
  113.     notifempty
  114.     create 644 root root
  115. }
  116. __EOF__
  117.  
  118. echo 'Configure NIC1 (192.168.0.10?) i NIC2 (10.10.10.1?)'
  119.  
  120. echo 'Execute on one server:'
  121. echo 'gluster peer probe xen1'
  122. echo 'gluster peer probe xen2'
  123. echo 'gluster peer probe xen3'
  124. #echo 'gluster peer probe xen4'
  125. echo 'init_gluster3 "xen" "1" "2" "3" "vol0" 3'
  126. echo 'init_gluster3 "xen" "1" "2" "3" "vol1" 3'
  127.  
  128. echo 'Execute on every server:'
  129. echo 'service ctdb restart'
  130. echo 'ctdb status'
  131. #echo 'ip addr show | grep inet'
  132. echo "ssh-keygen -t rsa -b 2048 -N '' -f /root/.ssh/id_rsa"
  133. echo 'ssh-copy-id -i root@xen1'
  134. echo 'ssh-copy-id -i root@xen2'
  135. echo 'ssh-copy-id -i root@xen3'
  136. #echo 'ssh-copy-id -i root@xen4'
  137. echo 'Execute on one server: ae "ctdb status"'
  138. echo 'Mount SR iso, gfs1, gfs2'
  139.  
  140. #KONIEC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement