• No results found

(cluster01: และ cluster02: )

N/A
N/A
Protected

Academic year: 2021

Share "(cluster01: และ cluster02: )"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

การประยุกต์ใช้ Ubuntu ในการบริหารจัดการ Cluster และ Load balance ผู้ศึกษานําเสนอ การทดสอบระบบและผลการทดสอบระบบ ซึ่งจะมีการแสดงผลการทดสอบระบบในกรณีต่างๆ โดยมี ขั้นตอนดังนี้

4.1 การทดสอบระบบ

ในการทดสอบระบบ Cluster Server และ Load Balancing บน Ubuntu linux นั้นทางผู้ ศึกษานั้นได้ใช้คอมพิวเตอร์ PC จํานวน 4 เครื่อง ในการทําระบบ Cluster Server และ Load Balancing บน Ubuntu linux โดยทั้ง 4 เครื่องจะต้องมีสภาพแวดล้อมเดียวกัน โดยคณะผู้ศึกษาได้ ทําการเขียน Web Application ด้วย html ขึ้นมาเพื่อใช้ในการเข้าสอบการ Request Web ของ เครื่อง Client อีกทั้งยังมีเครื่องคอมพิวเตอร์อีก 3 เครื่องที่เป็นเครื่อง Client ซึ่งทําหน้าที่ในการทํา การ Request Web ไปยังระบบ Cluster Server และ Load Balancing บน Ubuntu linux ดังกล่าว โดยทางผู้ศึกษาจะทําการจําลองสถานการณ์ Failover หรือ สถานะของเครื่อง Director Server คือเครื่องเซิร์ฟเวอร์ที่ใช้ในการกระจายภาระ ไม่สามารถทํางานได้ของเครื่องคอมพิวเตอร์ใน ระบบ Cluster Server และ Load Balancing บน Ubuntu linux โดยทําการปิดเครื่องคอมพิวเตอร์ Load balance เครื่องที่1 และเครื่องคอมพิวเตอร์ Load balance เครื่องที่ 2 ให้มีสถานะเป็น Stop หรือ หยุดการทํางานของเครื่องคอมพิวเตอร์ Server นั้นๆ ในระบบ Cluster Server และ Load Balancing บน Ubuntu linux โดยทําการปิดสถานะให้สลับกันระหว่างเครื่องคอมพิวเตอร์ Load Balancing 1 และ Load Balancing 2 กล่าวคือ ถ้าคอมพิวเตอร์ Load Balancing 1 มีสถานะเป็น Stop คอมพิวเตอร์ Load Balancing 2 จะต้องมีสถานะเป็น Start ทันที เพื่อเรียกใช้งานเครื่อง Real Server คือ เซิร์ฟเวอร์คลัสเตอร์ อีก 2 เครื่อง ที่จะให้เครื่อง Client ทําการ Request Web เข้ามายัง ระบบ Cluster Server และ Load Balancing บน Ubuntu Linux

4.2 ผลการทดสอบระบบ

4.2.1 ผลการทดสอบระบบคลัสเตอร์

ขั้นตอนที่ 1 : ทดสอบว่า MySQL cluster management server (loadb02: 192.168.1.202) สามารถ query สถานะของ cluster ได้หรือไม่

ขั้นตอนที่ 2 : ทดสอบการ Replicate ข้อมูลของ storage node ทั้งสองเครื่อง (cluster01:192.168.1.101 และ cluster02:192.168.1.102)

(2)

ขั้นตอนที่ 1 : จะทดสอบโดยการ ปิดเครื่อง Server cluster01 (192.168.0.1) กรณีที่ Storage node ทั้งสองเครื่องทํางานปกติ

ใช้คําสั่ง ndb_mgm เพื่อ run cluster management client (ndb_mgm) สําหรับ ตรวจสอบว่ามี cluster (storage node) ใด connect อยู่บ้าง

ใช้คําสั่ง ndb_mgm จะแสดงผล

– NDB Cluster — Management Client – ndb_mgm>

ใช้คําสั่ง show สําหรับการแสดงผล ndb_mgm>show

ภาพที่ 4-1 หน้าจอแสดงการทํางานของเครื่อง Mysql server MGM ใช้คําสั่ง quit เพื่อออกจาก ndb_mgm client console

ndb_mgm> quit;

กรณีที่ Storage node เครื่องใดเครื่องหนึ่ง (ในที่นี้เลือก cluster01:192.168.1.101) ไม่ ทํางาน ทําการ Shutdown เครื่อง Cluster01

จากนั้นให้ทําการตรวจสอบสถานะของ Cluster บน MySQL cluster management server (loadb02:192.168.1.202)

ndb_mgm>show

(3)

สังเกตว่า cluster02:192.168.1.102 จะทําหน้าที่เป็น Master แทน cluster01:192.168.1.101

จากนั้นก็ทําการเปิดเรื่อง Storage node 1 หรือ cluster01: 191.168.1.101 เพื่อให้ สามารถกลับมาทํางานได้อีกครั้ง แล้วไปตรวจสอบสถานะการทํางานของ cluster บน MySQL cluster management server (loadb02:192.168.1.202)

ใช้คําสั่ง Show สําหรับการแสดงผล ndb_mgm>show ภาพที่ 4-3 หน้าจอแสดงการทํางานของเครื่อง Mysql server MGM จะเห็นได้ว่า cluster02:192.168.1.102 จะยังคงทําหน้าที่เป็น Master อยู่ถึงแม้ cluster01:192.168.1.101 จะทํางานได้ตามปกติแล้ว ขั้นตอนที่ 2: ทดสอบโดยจะสลับกันเพิ่มข้อมูลที่ storage node เครื่องใดเครื่องหนึ่ง ซึ่ง ผลที่ได้ข้อมูลภายในฐานข้อมูลที่ storage node ทั้งสองต้องเหมือนกัน เริ่มต้นสร้างฐานข้อมูลและ Table สําหรับการทดสอบที่ cluster01:192.168.1.101 root@cluster01:~# mysql -u root –p

Enter password: (ใส่ Password) mysql> create database test01; Query OK, 1 row affected (0.24 sec) mysql> use test01;

Database changed

mysql> create table customer (ID int) engine=ndbcluster; Query OK, 0 rows affected (0.64 sec)

mysql> insert into customer value(1); Query OK, 1 row affected (0.01 sec) mysql> select * from customer;

(4)

ผลลัพท์จะได้ดังนี้

ภาพที่ 4-4 หน้าจอแสดงการทํางานของเครื่อง Mysql server MGM

หลังจากนั้นมาทดสอบที่เครื่อง cluster01:192.168.1.102 ว่าข้อมูลได้เพิ่มเหมือนกัน หรือไม่

root@cluster02:~# mysql -u root –p Enter password: (ใส่ Password) mysql> use test01;

Database changed

mysql> select * from customer; ผลลัพท์จะได้ดังนี้ ภาพที่ 4-5 หน้าจอแสดงการทํางานของเครื่อง Mysql server MGM จากการทดสอบนี้แสดงให้เห็นว่าข้อมูลได้ถูก Replicate จาก cluster01:192.168.1.101 มาที่ cluster02:192.168.1.102 ลองเปลี่ยนให้มีการ Replicate ข้อมูลจาก cluster02:192.168.1.102ไปที่ cluster01:192.168.1.101 บ้าง ที่เครื่อง cluster02:192.168.1.102 root@cluster02:~# mysql -u root –p Enter password: (ใส่ Password) mysql> use test01;

Database changed

mysql> insert into customer values (2); Query OK, 1 row affected (0.00 sec)

(5)

ภาพที่ 4-6 หน้าจอแสดงการทํางานของเครื่อง Mysql server MGM

หลังจากนั้นมาทดสอบที่เครื่อง cluster01:192.168.1.101 ว่าข้อมูลได้เพิ่มเหมือนกัน หรือไม่

mysql> select * from customer;

ภาพที่ 4-7 หน้าจอแสดงการทํางานของเครื่อง Mysql server MGM จะเห็นว่าข้อมูลที่ Storage node ทั้งสองเครื่อง cluster01:192.168.1.101 และ cluster: 192.168.1.102 เหมือนกันตลอด

4.2.2 ผลการทดสอบระบบโหลดบาลานซ์

ขั้นตอนที่ 1 ทดสอบ Cluster server ทั้ง 2 เครื่อง ว่าได้รับงานจากเครื่อง Load balance หรือไม่ และสามารถกระจาย Load ไปยังเครื่อง Cluster server ทั้ง 2 เครื่องได้

(6)

ทดสอบการทํางานของ haproxy โดย ลองเข้าเว็บไซต์ http://192.168.1.203 จาก เครื่อง client แล้วเราสามารถดูผลว่า HTML Page ถูกส่งมาจาก Web Server เครื่องไหน ทดลอง เข้าเว็บไซต์ http://192.168.1.203 จะพบว่าหน้า HTML ส่งมาจาก Web Server เครื่องที่ 1

ภาพที่ 4-9 ภาพแสดงการกระจาย Load ของระบบ Load balance แล้วทําการ Refresh browser อีกครั้ง

ภาพที่ 4-10 ภาพแสดงการกระจาย Load ของระบบ Load balance

จะเห็นได้ว่า เมื่อมีการ Request งานเข้าไปที่เครื่อง Web Server เครื่องใดเครื่องหนึ่ง จํานวนมากๆ ตัวจัดการ Load balance จะกระจาย Load ไปยังเครื่อง Web Server ทั้ง2 โดย อัตโนมัติ

(7)

ขั้นตอนที่ 2 ทดสอบการเกิด Failover ในกรณีที่เครื่อง Server เครื่องใดเครื่องหนึ่งล่ม ทดสอบโดยสมมุติเหตุการณ์การเกิด Failover ขึ้น ด้วยการปิดเครื่อง Server เครื่องใด เครื่องหนึ่งหรือการเกิดสถานะที่ไม่พร้อมใช้ แล้วตรวจสอบดูการทํางานของเครื่อง Server ที่ยัง ให้บริการอยู่ว่าให้บริการแทนเครื่อง Server ที่ดับไปหรือไม่ ภาพที่ 4-11 ภาพแสดงการเกิด Failover เริ่มทดสอบโดยการ ปิดเครื่อง loadb01 ทําให้อยู่ในสถาณะไม่พร้อมให้บริการ ไปที่ loadb01 แล้วพิมคําสั่งดังนี้ #shutdown now –h ผลลัพท์ดังภาพ ภาพที่ 4-12 ภาพแสดงการปิดเครื่องของ Load01

(8)

จากนั้นจะทดสอบว่า Server loadb02 ได้มาทําหน้าที่แทนเครื่อง Server loadb01 ที่ ดับไปหรือไม่ โดยลองเข้าเว็บไซต์ http://192.168.1.203 จากเครื่อง client

References

Related documents