วัตถุประสงค์
จากปฏิบัติการในครั้งก่อนเราพบว่าระบบสามารถให้บริการแบบ High Availability ได้แม้ Data node บางเครื่องจะไม่สามารถให้บริการได้ แต่ระบบดังกล่าวยังมีจุดอ่อนตรงที่มีเครื่อง MGM เพียงเครื่องเดียว ถ้าหากเครื่องดังกล่าวไม่สามารถให้บริการได้ ย่อมส่งผลให้ระบบโดยรวมไม่สามารถให้บริการได้เช่นกัน
การปฏิบัติการครั้งนี้ แก้ไขปัญหาดังกล่าวข้างต้น เพื่อให้ระบบสามารถให้บริการได้แม้เครื่องใดเครื่องหนึ่งในระบบจะไม่สามารถให้บริการได้ก็ตาม
ขั้นตอนการปฏิบัติ
# Management process options:
[ndb_mgmd default]
DataDir=/var/lib/mysql-cluster # Directory for management node log files
[ndb_mgmd]
NodeId=99
hostname=mgm1 # Hostname or IP address of management node
[ndb_mgmd]
Id=100
HostName=client1
# Options affecting ndbd processes on all data nodes:
[ndbd default]
DataMemory=1024M # How much memory to allocate for data storage
IndexMemory=128M # How much memory to allocate for index storage
DataDir=/usr/local/mysql/data # Directory for this data node's data files
NoOfReplicas=2 # Number of replicas (Data Copies)
MaxNoOfExecutionThreads=2 # Max thread for Execution (Depend on CPU Cores)
[ndbd]
NodeId=1 # (one [ndbd] section per data node)
hostname=ndb1 # Hostname or IP address
[ndbd]
NodeId=2
hostname=ndb2
# SQL node options:
[mysqld]
NodeId=101
hostname=client1
[mysqld]
2. copy ไฟล์ config.ini จากเครื่อง MGM1 ไปยังเครื่อง ทีจะทําาเป็น MGM อีกเครื่องหนึ่งในที่นี้คือ client1 วางไฟล์ในตําาแหน่งเดียวกัน
3. เริ่มการทําางานเครื่อง MGM ทั้งสองเครื่อง ตามลําาดับดังต่อไปนี้
3.1 ที่เครือง mgm1 สั่ง ndb_mgmd --reload -f /var/lib/mysql-cluster/config.ini
3.2 ที่เครือง client1 สั่ง ndb_mgmd -f /var/lib/mysql-cluster/config.ini
4. สั่ง ndb_mgm เพื่อแสดงสถานะของระบบ ดูว่าเห็นเครือง MGM สองเครื่องหรือไม่
5. แก้ไขไฟล์/etc/my.cnf ที่ Data Nodes, SQL nodes โดยเพิ่มให้สามารถติดต่อกับ MGM ได้มากกว่าหนึ่งเครื่อง
# Options for mysqld process:
[mysqld]
ndbcluster
# run NDB storage engine
ndb-connectstring=mgm1,client1 # location of management server
# Options for ndbd process:
[mysql_cluster]
ndb-connectstring=mgm1,client1
6. สั่ง restart บริการบนเครื่อง ndb และ client ทุกเครื่อง เพื่อให้เครื่องไปอ่านคอนฟิกไฟล์ที่เปลี่ยนใหม่จากเครื่อง MGM
7. หลังจาก mgm ทําางานครบทั้ง 2 เครื่อง และรีสตาร์ทเครืองเพื่ออ่านคอนฟิกใหม่หมดแล้ว ให้ทดลองปิดเครื่อง mgm ลง เพื่อทดสอบการทําางานแบบ High Availability