คอนฟิก Linux HA บน Fedora 9 ตอนที่ 1

บทความนี้จะแนะนำการคอนฟิก Linux HA บน server สองตัว โดยใช้โปรแกรม heartbeat โดยในบทความตอนแรกนี้ จะคอนฟิกเป็นแบบ Active Standby คือ ณ ขณะหนึ่งจะมีเครื่องที่ใช้งานเพียงเครื่องเดียวเท่านั้น ส่วนอีกเครื่องจะเป็นเครื่องสำรอง แล้วจะถูกใช้งานโดยอัตโนมัติเมื่อเครื่องหลักมีปัญหา

ระบบที่ทดสอบ

  • Fedora 9
  • heartbeat-2.1.3-1.fc9.i386.rpm

ข้อมูลพื้นฐาน
Primary Server (เครื่องหลัก): linux-ha01.example.com
Secondary Server (เครื่องสำรอง): linux-ha02.example.com
Virtual IP Address: 192.168.1.1
Default gateway: 192.168.1.254

ติดตั้งโปรแกรม
เริ่มต้นติดตั้งโปรแกรมตามตัวอย่างต่อไปนี้บนเครื่องทั้งสอง (ดูข้อมูลอ้างอิงสำหรับการดาวน์โหลด)

# rpm -ivh --nodeps fedora-usermgmt-core-0.10-1.fc8.noarch.rpm
# rpm -ivh --nodeps fedora-usermgmt-shadow-utils-0.10-1.fc8.noarch.rpm
# rpm -ivh fedora-usermgmt-default-fedora-setup-0.10-1.fc8.noarch.rpm
# rpm -ivh fedora-usermgmt-0.10-1.fc8.noarch.rpm
# rpm -ivh ipvsadm-1.24-11.i386.rpm
# rpm -ivh perl-MailTools-2.02-3.fc9.noarch.rpm
# rpm -ivh perl-TimeDate-1.16-8.fc9.noarch.rpm
# rpm -ivh perl-MailTools-2.02-3.fc9.noarch.rpm
# rpm -ivh ldirectord-2.1.3-1.fc9.i386.rpm
# rpm -ivh pils-2.1.3-1.fc9.i386.rpm
# rpm -ivh lm_sensors-3.0.1-5.fc9.i386.rpm
# rpm -ivh net-snmp-libs-5.4.1-14.fc9.i386.rpm
# rpm -ivh stonith-2.1.3-1.fc9.i386.rpm
# rpm -ivh heartbeat-2.1.3-1.fc9.i386.rpm

คอนฟิกไฟล์ของ heartbeat
สร้างไฟล์คอนฟิกขึ้นมาบนเครื่องทั้งสองให้เหมือนกัน โดยไฟล์คอนฟิกทั้งหมดของ heartbeat จะอยู่ใน /etc/ha.d/

ตัวอย่างคอนฟิกไฟล์ /etc/ha.d/ha.cf

logfacility daemon         # Log to syslog as facility "daemon"
node linux-ha01.example.com
node linux-ha02.example.com
keepalive 1                # Send one heartbeat each second
deadtime 10                # Declare nodes dead after 10 seconds
bcast eth0                 # Broadcast heartbeats on eth0 and eth1 interfaces
ping 192.168.1.254              # Ping our router to monitor ethernet connectivity
auto_failback no           # Try and keep resources on their "preferred" hosts
respawn hacluster /usr/lib/heartbeat/ipfail  # Failover on network failures

ตัวอย่างคอนฟิกไฟล์ /etc/ha.d/haresources

linux-ha01.example.com  192.168.1.1

สร้าง key สำหรับใส่ในไฟล์ authkeys โดยใช้คำสั่งดังนี้

# dd if=/dev/urandom count=4 2>/dev/null | md5sum | cut -c1-32
0a7ee4ce653744cb5ecbcbdc0ef52487

ตัวอย่างคอนฟิกไฟล์ /etc/ha.d/authkeys

auth 1
1 sha1 0a7ee4ce653744cb5ecbcbdc0ef52487

เริ่มต้นโปรแกรม heartbeat
เมื่อสร้างคอนฟิกทั้งสองเครื่องเรียบร้อยแล้ว ต้องเริ่มต้นโปรแกรม heartbeat ทั้องสองเคริ่องโดยแนะนำให้เริ่มจากเครื่องหลักก่อน

# /etc/init.d/heartbeat start
Starting High-Availability services:                                                           [  OK  ]

ทดสอบการใช้งาน
เราสามารถทดสอบการทำงานโดยใช้คำสั่ง ping ไปที่ Virtual IP Address จากเครื่องอื่นๆ โดยถ้าทั้งสองเครื่องทำงานปกติ เครื่องหลัก (Primary Server) จะทำหน้าที่เป็น Virtual IP แต่ถ้าเครื่องหลักมีปัญหา (อาจทดสอบโดยการดึงสาย LAN ออก) เครื่องสำรองจะทำหน้าที่เป็น Virtual IP แทน

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.