11/06/2016

Virtual Box Server High Availability HA

Virtual Box Server High Availability HA
1. ติดตั้ง Ubuntu Server 64bit 2 เครื่อง Set IP ให้อยู่ในวงเดียวกัน Update Upgrade ให้เรียบร้อย
SERVERA
  1. auto eth0
  2. iface eth0 inet static
  3.         address         192.168.2.11
  4.         netmask         255.255.255.0
  5.         network         192.168.2.0
  6.         broadcast       192.168.2.255
  7.         gateway         192.168.2.2
  8.         dns-nameserver  192.168.2.2

SERVERB
  1. auto eth0
  2. iface eth0 inet static
  3.         address         192.168.2.22
  4.         netmask         255.255.255.0
  5.         network         192.168.2.0
  6.         broadcast       192.168.2.255
  7.         gateway         192.168.2.2
  8.         dns-nameserver  192.168.2.2


2. สร้าง Hard disk ให้เป็นดังนี้ ทั้ง 2 เครื่อง
2.1 ext4 ขนาด 200 GB ยังไม่ต้อง mount
2.2 ext4 ขนาด 200 GB ยังไม่ต้อง mount
2.3 ext4 ขนาด 160 GB ติดตั้ง System Ubuntu

ผังการทำงาน
3. Download Scrip
CenOS :
  1. wget http://goo.gl/n17LhP -O sv.sh

Ubuntu :
  1. wget http://goo.gl/WCzuzl -O sv.sh

Run ด้วยคำสั่ง
  1. sudo sh sv.sh


4. ติดตั้ง Mini GUI Server เอาไว้ใช้งานจะได้สะดวกเวลาทำหน้าเครื่อง โดยเฉพาะตอน LAN ใช้งานไม่ได้ (Desktop Ubuntu)
5. ติดตั้ง VirtualBox (VM Server)
6. ติดตั้ง PHPVirtualBox (Host Monitering) ให้เราสามารถควบคุม guest os บน virtualbox ได้ผ่าน web browser (ใช้ User และ Password กับ User Admin ของเครื่องเลยก็ได้) ติดตั้งผ่าน Scrip ไม่ได้ให้ติดตั้งเอง Manual http://porpramarn.blogspot.com/2016/11/ha-program-phpvirtualbox-vm-web-control.html

และ Program อื่น ๆ ถ้าต้องการ (แต่ถ้าไม่ใช้ก็ไม่ต้องติดตั้ง)
ติดตั้ง Webmin Control Panel
ติดตั้ง Monitorix (Host Monitering) ใช้สำหรับดูกราฟสถานะการทำงานของเครื่อง server

** Backup Snap Shot ไว้ก่อนติดตั้ง HA เพื่อมีปัญหาจะได้กลับมาได้ไม่ต้องทำใหม่หมด **
7. ติดตั้ง VboxHA (High Avaliability)
หัวใจ หลักของระบบเพื่อที่จะทำให้ server 2 ตัว backup ซึ่งกันและกัน และพร้อมที่จะทำงานแทนกันได้เสมอเมื่อเครื่องใดเครื่องหนึ่ง down ก็คือ VboxHA
นี่แหละครับ โดยทำงานร่วมกับ DRBD
ขั้นตอนการติดตั้ง HA

1. ให้ระบุ Index 1 หรือ 2 ตามตัวอย่างเครื่อง Server A ใส่เป็น 1
เมื่อย้ายไปติดตั้ง script บน Server B ให้กำหนดข้อนี้เป็น 2

2. ใส่ชื่อ host ตามตัวอย่างเครื่อง Server A ใส่เป็น SERVERA
เมื่อย้ายไปติดตั้ง script บน Server B ให้กำหนดข้อนี้เป็น SERVERB
3. ใส่ IP Address ตามตัวอย่างเครื่อง Server A นี้ผมกำหนดเป็น 192.168.2.11 (เป็น IP ของ eth0 ตามแผนภาพด้านบน)
เมื่อย้ายไปติดตั้ง scriptบน Server B ให้กำหนดข้อนี้เป็น 192.168.2.22

4. ให้ระบุ Partition ที่จะใช้รัน guest ตามตัวอย่างเครื่อง Server A นี้ผมกำหนดเป็น /dev/sda3 (ตามแผนภาพด้านบน)
เมื่อย้ายไปติดตั้ง script บน Server B ให้กำหนดข้อนี้เป็น /dev/sda4
ถ้าทำจริง dev ของ Disk จะเปลี่ยนไป เช่น
SERVERA เป็น /dev/sdb1
SERVERB เป็น /dev/sdc1
5. ชื่อ Host ของอีกเครื่องที่เหลือตามตัวอย่างการติดตั้งบนเครื่อง Server A นี้ผมกำหนดเป็น SERVERB
เมื่อย้ายไปติดตั้ง script บน Server B ให้กำหนดข้อนี้เป็น SERVERA
6. IP Address ของอีกเครื่องที่เหลือตามตัวอย่างการติดตั้งบนเครื่อง Server A กำหนดเป็น 192.168.2.22
เมื่อย้ายไปติดตั้ง script บน Server B ให้กำหนดข้อนี้เป็น 192.168.2.11
7. Partition ที่จะใช้รัน guest ของอีกเครื่องที่เหลือตามตัวอย่างการติดตั้งบนเครื่อง Server A กำหนดเป็น /dev/sda4 ตามรูปผังด้านบน
เมื่อย้ายไปติดตั้ง script บน Server B ให้กำหนดข้อนี้เป็น /dev/sda3
ถ้าทำจริง dev ของ Disk จะเปลี่ยนไป เช่น
SERVERA เป็น /dev/sdc1
SERVERB เป็น /dev/sdb1


8. ตอบ Yes เพื่อยืนยันและเริ่มติดตั้ง packet ต่างๆ ที่จำเป็น หากไม่แน่ใจกด Back เพื่อกลับไปตั้งค่าใหม่ตั้งแต่ข้อ 1.
9. เสร็จแล้วกด Finish แล้ว Restart เครื่อง 1 รอบเพื่อให้ script vboxha เริ่มทำงาน
10. ใช้คำสั่ง df -h ดู จะมี Hard disk ขึ้นมาหนึ่งลูก



ทำเครื่อง ServerB เครื่องที่ 2 คำอธิบายดูตาม ServerA
รูป











ทดลองสร้าง Virtual Box โดยการเปิด Server ขึ้นมา แล้วเปิด Virtual Box สร้าง Windows หรือ Ubuntu ขึ้นมาทั้ง 2 เครื่องเพื่อทดลองย้าย และปิดดูอีกเครื่องว่า vm จะไป run อีกเครื่องหรือไม่
คำสั่งมีดังนี้
vboxha.sh --status (ดูสถานะการเชื่อมต่อระหว่าง host หลัก และ Host Backup)
vboxha.sh --myhost-move (ย้าย guest os บนเครื่องปัจจุบันไปรันบนเครื่อง backup โดยอิงสถานะเดิมของ guest os)
vboxha.sh --myhost-move-start (ย้าย guest os บนเครื่องปัจจุบันไปรันบนเครื่อง backup โดย start guest os ขึ้นมาโดยอัตโนมัติ)
vboxha.sh --myhost-move-stop (ย้าย guest os บนเครื่องปัจจุบันไปรันบนเครื่อง backup โดย stop guest os ทั้งหมด)
vboxha.sh --bkhost-move (ย้าย guest os ที่ backup กลับไปยัง host เดิม โดยอิงสถานะเดิมของ guest os)
vboxha.sh --bkhost-move-start (ย้าย guest os ที่ backup กลับไปยัง host เดิม โดย start guest os ขึ้นมาโดยอัตโนมัติ)
vboxha.sh --bkhost-move-stop (ย้าย guest os ที่ backup กลับไปยัง host เดิม โดย stop guest os ทั้งหมด)

ที่มา
http://www.thaiadmin.org/board/index.php?topic=16763446.0;wap2
https://www2.thaiadmin.org/board/index.php?topic=16769263.0

No comments:

Post a Comment