บทท 4 ผลการด าเน นงาน การประย กต ใช 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)
48 ข นตอนท 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 ภาพท 4-2 หน าจอแสดงการท างานของเคร อง Mysql server MGM
49 ส งเกตว า 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;
50 ผลล พท จะได ด งน ภาพท 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)
51 ภาพท 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 เคร องได ภาพท 4-8 ระบบ Load balancing บน Linux Ubuntu
52 ทดสอบการท างานของ 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 โดย อ ตโนม ต
53 ข นตอนท 2 ทดสอบการเก ด Failover ในกรณ ท เคร อง Server เคร องใดเคร องหน งล ม ทดสอบโดยสมม ต เหต การณ การเก ด Failover ข น ด วยการป ดเคร อง Server เคร องใด เคร องหน งหร อการเก ดสถานะท ไม พร อมใช แล วตรวจสอบด การท างานของเคร อง Server ท ย ง ให บร การอย ว าให บร การแทนเคร อง Server ท ด บไปหร อไม ภาพท 4-11 ภาพแสดงการเก ด Failover เร มทดสอบโดยการ ป ดเคร อง loadb01 ท าให อย ในสถาณะไม พร อมให บร การ ไปท loadb01 แล วพ มค าส งด งน #shutdown now h ผลล พท ด งภาพ ภาพท 4-12 ภาพแสดงการป ดเคร องของ Load01
54 จากน นจะทดสอบว า Server loadb02 ได มาท าหน าท แทนเคร อง Server loadb01 ท ด บไปหร อไม โดยลองเข าเว บไซต http://192.168.1.203 จากเคร อง client ภาพท 4-13 ภาพแสดงการท างานของ Web server