ผมได้เครื่อง Sun Fire มาเล่นๆ 2 ตัว ที่มาที่ไปอ่าน Blog ของผม ที่ Goto Know เครื่อง Sun Fire 2 ตัวนี้มีตัวหนึ่ง คาดว่าจะมี Storage ขนาดใหญ่ ทำ LVM รวมพื้นที่ได้แค่ 100G เอง แต่ก็พอได้ล่ะน่า ด้วยความดันทุรัง แกมความบ้า ก้อเลยจับทำ NFS ซะเลย อ้อผมเอา Debian ที่ใช้กับ CPU Sparc ลงไปนะครับ เพราะฉนั้น NFS Server ว่ากันด้วย Debian ล้วนๆ อ้อลืมไป How-to นี้สามารถประยุกต์ใช้ได้กับ Ubuntu ครับ มาดูสภาพแวดล้อมกันก่อน ตอนนี้ผมมี Sun Fire 2 เครื่องคือ V210 และ V240 มี IP Address เป็น 192.168.80.95 และ 192.168.80.96 ตามลำดับ เครื่อง V240 ทำ LVM ไว้แล้วโดย mount Logical Volume ไว้ที่ /mnt/extra ส่วนเครื่อง V210 จะ mount ไว้ที่ /mnt/export ผ่าน NFS ไปยัง V240 ครับ :)

เมื่อเข้าใจกันแล้วมาเริ่มกันเลย

เครื่อง Sun Fire V240 (NFS Server)

ติดตั้ง NFS Server โดยติดตั้ง packge ที่ชื่อ nfs-kernel-server ดังนี้

sudo apt-get install nfs-kernel-server

จากนั้นตั้งค่า export directory ที่ /etc/exports ดังนี้

/mnt/extra *(rw,sync,no_root_squash)

จากนั้นสั่ง start NFS ดังนี้

/etc/init.d/nfs-kernel-server start

เครื่อง Sun Fire V210 (NFS Client)

หลังจากได้ NFS Server กันแล้ว มาติดตั้ง NFS Client เพื่อใช้เชื่อมต่อไปยัง NFS Server กัน ให้คุณติดตั้ง package ที่ชื่อ nfs-common ดังนี้

sudo apt-get install nfs-common

จากนั้นตั้งค่า /etc/fstab ดังนี้

192.168.80.96:/mnt/extra /mnt/extra nfs rsize=8192,wsize=8192,timeo=14,intr 0 2

จากนั้นสร้าง Directory เพื่อเป็นจุด mount ที่ /mnt/extra ดังนี้

sudo mkdir /mnt/extra

จากนั้นให้สั่ง mount ได้เลย โดยใช้คำสั่ง

mount -a

ใช้คำสั่ง df เพื่อดูว่ามีการเชื่อมต่อไปยัง NFS Server หรือไม่ ถ้ามีจะขึ้นข้อความประมาณนี้ครับ

192.168.80.96:/mnt/extra 99G 68G 27G 72% /mnt/extra

เท่านี้ เราก็สามารถใช้งานพื้นที่เก็บข้อมูลจาก NFS Server ได้แล้วง่ายมั๊ยครับ :)

ช่วงนี้เขียน How to บ่อยมากเนื่องจากซ้อมมือ Linux Server กลัวว่าสนิมจะขึ้นเพราะไม่ได้จับนานมากแล้ว 4 ปี เห็นจะได้ ตอนนี้มีเวลาว่างเลยได้ทดลองโน่น ทดลองนี่ ในครั้งนี้ก็จะมาว่ากันด้วยเรื่อง DNS Server ครับ DNS Server ถือเป็นแหล่งอ้างอิง Domain Name เพื่อทำหน้าที่แปลง URL ไปเป็น IP Address ซึ่งหน้าที่หลักของ DNS ก็ประมาณนี้ จริงๆ แล้วถ้าคนเราจำ IP Address ได้ทุกเว็บก็คงจะพิลึกไม่น้อย ;P เอ่อ เขาใช้ Domain กันน่ะครับ ทีนี้การประกาศ Domain Name ต้องอาศัย DNS Server เป็นตัวประกาศว่า Domain นี้ใช้ Name Server อะไร มี sub-domain อะไรบ้าง IP Address อะไร เป็นต้น ถ้าอ่านแล้วยังงงๆ ให้ท่านไปหาอ่านเอาเองที่ http://en.wikipedia.org/wiki/DomainNameServer ครับ

ในครั้งนี้จะมาแนะนำการตั้ง DNS Server แบบเร็วๆ โดยมี 2 เครื่อง คือ master และ slave โดยเครื่อง slave จะทำหน้าที่อัพเดทข้อมูลจาก master อัตโนมัติ (replication) มาเริ่มกันเลย ในตัวอย่างนี้เราจะตั้ง DNS Server เพื่อใช้กับ Domain ชื่อ EXAMPLE.COM (จำง่ายดีครับ) โดยจะมีข้อมูลดังนี้ (ของผมเองนะ เปลี่ยน IP ไปตามที่คุณต้องการ)

Server 1 : ns1.example.com
IP Address : 172.16.19.226
Netmask : 255.255.0.0
Gateway : 172.16.16.1

Server 2 : ns2.example.com
IP Address : 172.16.19.73
Netmask : 255.255.0.0
Gateway : 172.16.16.1

ให้ติดตั้ง Ubuntu Server ทั้ง 2 เครื่อง เลือกติดตั้ง DNS Server ทั้ง 2 เครื่องครับ ;) เมื่อติดตั้งเสร็จแล้วให้ config IP Address ให้ถูกต้อง

เครื่อง Server 1 (Master)

เพิ่ม Zone ลงในไฟล์ /etc/bind/named.conf.local ดังนี้

zone “example.com” {
type master;
file “/etc/bind/db.example.com”;
allow-transfer { 172.16.19.73/32; };
};

จาก config ข้างต้น ระบุ Zone เป็น example.com เป็น DNS master มีข้อมูล Zone ในไฟล์ /etc/bind/db.example.com และส่งข้อมูลการอัพเดทไปยังเครื่อง Server 2 ที่มี IP Address เป็น 172.16.19.73 สร้าง Zone File ชื่อ db.example.com มีข้อมูลดังนี้

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.example.com. admin@example.com. (
4 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN A 172.16.19.226
@ IN AAAA ::1

ns1 IN A 172.16.19.226
ns2 IN A 172.16.19.73

สั่ง restart service ของ bind แล้วทดสอบ dig ดูว่าได้ข้อมูลถูกต้องหรือไม่ หากว่าได้ข้อมูลถูกต้องแล้ว มาต่อกันที่เครื่องที่ 2 ครับ

เครื่อง Server 2 (Slave)

เพิ่ม Zone ลงในไฟล์ /etc/bind/named.conf.local ดังนี้

zone “example.com” {
type slave;
file “/etc/bind/db.example.com”;
masters { 172.16.19.226; };
};

จาก config ข้างต้น ระบุ Zone เป็น example.com เป็น DNS Slave มีข้อมูล Zone ในไฟล์ /etc/bind/db.example.com รับข้อมูลจาก DNS masters ที่มี IP Address เป็น 172.16.19.226 จากนั้นให้สร้างไฟล์เปล่าๆ ชื่อ db.example.com ขึ้นมาครับ จากนั้น chown ไดเรคทอรี /etc/bind ทั้งหมดโดยใช้ชื่อผู้ใช้ว่า bind

sudo chown bind -R /etc/bind

จากนั้นแก้ไขไฟล์ /etc/apparmor.d/usr.sbin.named ให้เพิ่ม กฏของ Apparmor ลงไปดังนี้

/etc/bind/** rw,
/etc/bind/ rw,

หากเก็บ Zone ไฟล์ไว้ที่ /var/cache/named ไม่ต้องแก้ไขคอนฟิกของ Appamor ครับ ในกรณีนี้เราแหกคอกเล็กน้อย :P จากนั้นก็สั่ง restart bind ได้เลย ให้สังเกต log ใน /var/log/syslog จะพบว่ามีการ sync zone example.com เข้ามา สังเกตดูในไฟล์ db.example.com ตอนนี้จะพบว่ามีข้อมูลเรียบร้อยแล้ว ในกรณีที่มีการอัพเดทใน NS1 ใน NS2 ก็จะมีการอัพเดทด้วย :)

คราวที่แล้วเขียนเรื่อง Wildcard DNS record ไป เพื่อบอกให้ Bind รู้ว่าอะไรที่เกี่ยวข้องหรือตรงกับเงื่อนไขให้อ้างอิง domain นั้นโดยตรง สำหรับ How-To ครั้งนี้จะมาเล่าวิธีกการประยุกต์ใช้  Wildcard DNS และการตั้งค่า VirtualHost เพื่อรองรับการเรียกผ่าน subdomain ใดๆ ใครจำเรื่อง DNS Wildcard ไม่ได้ลองมาพิจารณาดู record ดังนี้

example.com.        A    10.11.12.13
*.example.com.    CNAME    example.com.

หากเรา dig xyz.example.com เราจะพบว่า DNS จะบอกว่า IP เป็น 10.11.12.13 คือ CNAME ของ example.com นั่นเอง คราวนี้หากเราจะเพิ่ม VirtualHost ให้ Apache จะทำได้อย่างไร และต้องการให้ซัพพอร์ทในทุกๆ subdomain มาลองดูวิธีกันนะครับอันดับแรก เริ่มจากการตั้งค่า DNS กันก่อน ในโซนไฟล์ให้เพิ่ม wildcard สำหรับ domain ดังนี้

*.example.com.    IN      A       192.168.1.1

ผมยกตัวอย่าง domain ที่ชื่อ example.com นะครับ เมื่อกำหนด wildcard ให้กับ DNS แล้วนั่นหมายความว่า subdomain ใดๆ ที่อยู่ภายใต้โดเมน example จะถูกกำหนดเป็น IP 192.168.1.1 ทั้งหมด มาตั้งค่า VirtualHost ให้กับ Apache กันต่อครับ ในไฟล์ VirtualHost ให้เพิ่ม ServerAliase เป็น *.example ดังตัวอย่าง

<VirtualHost *>
        ServerName  www.example.com
        ServerAlias *.example.com

        DirectoryIndex index.html
        DocumentRoot /home/www/www.example.com/htdocs

    ….
</VirtualHost>

จากตัวอย่างข้างต้น subdomain ใดๆ ที่อยู่ภายใต้โดเมน example จะมี DocumentRoot อยู่ที่ /home/www/www.example.com/htdocs ตัวอย่างเช่น หากเราเปิด xxx.example.com ก้อจะเปิดไฟล์ index ที่อยู่ในไดเรคทอรี /home/www/www.example.com/htdocs หากต้องการแยก subdomain อยู่คนละ directory สามารถกำหนดเพิ่มได้ในส่วน VirtualHost เรื่อยๆ หากต้องการตั้งค่า VirtualHost เพียงครั้งเดียวเราสามารถใช้ mod_rewrite เพื่อสร้าง redirect ไปยังไดเรคทอรีใดๆ ที่อยู่ใน DocumentRoot ได้ ตัวอย่างเช่น

webmail.example.com    ชี้ไปที่ http://www.example.com/webmail
scm.example.com    ชี้ไปที่ http://www.example.com/scm
dm.example.com    ชี้ไปที่ http://www.example.com/dm
download.example.com    ชี้ไปที่ http://www.example.com/download

การตั้งค่า ใน VirtualHost เพื่อ redirect ในแต่ละ request ให้เพิ่มข้อมูลดังนี้

RewriteEngine on
RewriteCond %{http_host} .
RewriteCond %{http_host} !^www.example.com [NC]
RewriteCond %{http_host} ^([^.]+).example.com [NC]
RewriteRule ^(.*) http://www.example.com/%1/ [R=301,L,QSA]

ในกรณีที่เราเรียกใช้ subdomain ที่ไม่มีไดเรคทอรีรองรับ เช่น dummy.example.com จะต้องมีไดเรคทอรี dummy อยู่ที่ DocumentRoot หากไม่มีจะพบข้อความ Error 404 ซึ่งเป็นค่า default หากต้องการกำหนด Error Page เฉพาะในแต่ละ VirtualHost สามารถเพิ่มไฟล์แสดงผล Error ในแบบต่างๆ ของเราลงไปได้

Alias /error/ "/home/www/www.example.com/htdocs"
ErrorDocument 400 /error/invalidSyntax.html
ErrorDocument 401 /error/authorizationRequired.html
ErrorDocument 403 /error/forbidden.html
ErrorDocument 404 /error/fileNotFound.html
ErrorDocument 405 /error/methodNotAllowed.html
ErrorDocument 500 /error/internalServerError.html
ErrorDocument 503 /error/overloaded.html

เท่านี้คุณก็สามารถตั้งค่า DNS แบบ Wildcard เพื่อเชื่อมต่อกับ Apache VirtualHost ได้แล้ว ลองนำไปประยุกต์ใช้ดูนะครับ

ผมมีปัญหาเกี่ยวกับ DNS บ่อยมากแล้วคนที่ดูแลเกี่ยวกับ DNS ก้อไม่ใช่ผมซะด้วย จริงๆ เรื่องของเรื่องคือไม่ค่อยได้วางแผนเรื่อง DNS สักเท่าไร วันดีคืนดีก้อคิดจะตั้ง sub domain ใหม่ขึ้นมา ไม่ตั้งค่า Virtual Host บน Apache ไม่เท่าไรครับ เพราะตัวเว็บเซิร์ฟเวอร์เราแก้ไขเองได้ แต่ DNS Server นี่สิมันอยู่คนละเครื่อง กว่าจะรอ Admin มาช่วยจัดการก้อช้าไปซะแล้ว จะแก้ปัญหายังไงดี วิธีง่ายๆ เราสามารถใช้ Wildcard สำหรับ domain record ได้ครับ มาดูตัวอย่างกัน

สมมุติว่าผมมี domain ชื่อ sexy.com แต่ sub domain ของผมไม่ค่อยคงที่สักเท่าไร วันดีคือดีก้ออยากจะมี subdomain เช่น gumara.sexy.com, bigtux.sexy.com เป็นต้น แต่ไม่อยากไปยุ่งกับ DNS ให้มันยุ่งยากมากนัก ไปตั้งค่าเพียง Virtual Host ของ Apache อย่างเดียวก้อพอ เราก้อใส่ Wildcard เข้าไปข้าหน้าแบบนี้เลยครับ *.sexy.com เอ้าไม่ได้ล้อเล่นนะครับ

sexy.com.       A       10.11.12.1
*.sexy.com.       CNAME       sexy.com.

ทีนี้จะให้ใคร dot อะไร sexy.com ก้อได้แล้วครับ :)

เมื่อคราวที่แล้วเขียนเรื่อง Load Balance ให้ Apache Web Serverv ง่ายๆ โดยใช้ DNS Round Robin ซึ่งสามารถทำ Load Balance ได้ง่ายๆ แต่มีปัญหาที่มีโอกาสเกิดขึ้นได้ คือ เมื่อ Web Server ตัวใดตัวหนึ่งมีปัญหา ผู้เข้าเว็บที่โชคดีได้ IP Address เครื่องนั้นไปก็จะไม่สามารถเข้าถึงเว็บได้ DNS Round Robin ช่วยเรื่อง Load Balance ได้จริง แต่จัดการเรื่อง fail over ไม่ได้ :) ครั้งนี้จะมาแนะนำการทำ Load Balance ง่ายๆ อีกเช่นเคย โดยใช้ Pound

Pound ทำหน้าที่

  • reverse proxy : ส่ง request จากเว็บเบราเซอร์ไปยัง back-end server ที่มีอยู่
  • load balancer : ส่ง request จากเว็บเบราเซอร์ไปยัง back-end server ที่มีอยู่และจัดการข้อมูล session ด้วย
  • SSL Wrapper : ถอดรหัส HTTPS จากเว็บเบราเซอร์และส่งไปยัง back-end server ที่มีอยู่
  • กลั่นกรอง HTTP/HTTPS : ตรวจสอบ request เพื่อความถูกต้องและรับ reuest ที่มีรูปแบบถูกต้องเท่านั้น
  • fail over-server : หากมี back-end server ตาย Pound จะจำเครื่อง server นั้นและหยุดส่ง request จนกว่าจะมีการแก้ไข
  • request redirector : request จาก Pound สามารถกระจายไปยัง back-end server ทั้งหมดได้ขึ้นอยู่กับ request URL

    Pound เป็นโปรแกรมเล็กๆ ง่ายในการจัดการ คุณสามารถสั่งให้ Pound ทำงานแบบ chroot jail ได้โดยการกำหนด uid/gid ได้ :) ก่อนจะติดตั้งและใช้งาน Pound มาทำความเข้าใจโครงสร้างการเชื่อมต่อกันก่อน

จากภาพข้างต้นเราใช้ Pound เป็น Balancer เพื่อกระจาย request จาก Client ไปยังเครื่องเซิร์ฟเวอร์ที่ต่อกับ Pound อยู่ มาติดตั้ง Pound กันเลย สำหรับท่านที่ใช้ Debian, Ubuntu ติดตั้งดังนี้

sudo apt-get install pound

จากนั้นแก้ไข config ที่ /etc/default/pound ดูตรงบรรทัด startup=0 เปลี่ยนเป็น startup=1 จากนั้นมาแก้ไข /etc/pound/pound.cfg ดูในส่วน ListenHTTP ดังนี้

ListenHTTP
Address 10.11.12.10
Port 80
Service
BackEnd
Address 10.11.12.11
Port 80
End
BackEnd
Address 10.11.12.12
Port 80
End
BackEnd
Address 10.11.12.13
Port 80
End
End
End

หากต้องการกำหนด Priority เพื่อกระจายโหลดไปยังเครื่องใดเครื่องหนึ่งมากกว่าเครื่องอื่นๆ ในกรณีที่มีเครื่องใดเครื่องหนึ่งมี Resource มากกว่าเครื่องอื่นๆ และสามารถรับโหลดได้มากกว่าเครื่องอื่นๆ เราสามารถกำหนด Priority เพื่อกระจายโหลดไปยังเครื่องนั้นๆ ได้ ยกตัวอย่าง เช่น เครื่อง Web Server 1 เพียงเพิ่ม Config เข้าไปอีก 1 บรรทัดเพื่อกำหนด Priority ดังนี้

ListenHTTP
Address 10.11.12.10
Port 80
Service
BackEnd
Address 10.11.12.11
Port 80
Priority 7
End
BackEnd
Address 10.11.12.12
Port 80
End
BackEnd
Address 10.11.12.13
Port 80
End
End
End

เพียงเท่านี้คุณก็สามารถจัดการ Load Balance ให้กับ Web Server ของคุณได้แล้วครับ ;)

อย่างที่ทุกท่านทราบกันแล้วว่าโครงการ Suriyan & Chantra จบลงแล้วตามระยะเวลาและปีงบประมาณ หลังจากนี้โครงการ Suriyan จะจัดการโดยทีมงานนักพัฒนาอิสระ ซึ่งคิดว่าจะฟอร์มทีมในอนาคตอันใกล้นี้ แต่งานสนับสนุนในส่วนคลังซอฟต์แวร์จะมีอยู่อย่างต่อเนื่อง เพื่อให้ผู้ใช้เดิมสามารถติดตั้งซอฟต์แวร์เพิ่มเติมได้ง่ายขึ้น สำหรับงานของโครงการ Suriyan ในรุ่นถัดไปจะเป็นรุ่น spin จาก Ubuntu และการประกอบจากคลังซอฟต์แวร์ของ Suriyan เอง สำหรับใน Suriyan 53.10+1 spin นี้ หน้าตาของระบบปฏิบัติการจะออกมาในแนวนี้ครับ ในรุ่นนี้รวมโปรแกรมหลายตัวไว้ด้วยกัน ไม่ว่าจะเป็น Shutter, GIMP, Inkscape, Font Manager, Firefox, Thunderbird, FreeMind, OpenOffice.org 3.3, Sound Jouicer, Sound Converter, EasyTag, Deja-Dup, Hard-Info, Background Slide Show, Simple CCSM และ Grave Layout Switcher เพื่อให้ง่ายต่อการเปลี่ยนแป้นพิมพ์ นอกจากนี้ยังรวบรวมแบบอักษรไทยมากกว่า 40 แบบ พร้อมแม่แบบเอกสารราชการสำเร็จรูปง่ายต่อการใช้งาน

สำหรับท่านที่กลัวว่าจะใช้ไม่เป็น เรามีคู่มือภาษาไทยหนากว่า 300 หน้า วิดีโอสอนการใช้งานกว่า 30 หัวข้อ แผ่น Suriyan 53.10 respin ไม่มีแจก ไม่มีจำหน่าย ใครอยากเป็นตัวแทนจำหน่ายให้ตามดาวน์โหลดเอาไปจำหน่ายเอง

บังเอิญมีปัญหาเรื่องเซิร์ฟเวอร์ตายบ่อยๆ เพราะคนเข้าเว็บเยอะจนล้น แก้ปัญหาโดยการบีบโดนการใช้ mod_cband ไม่ได้ผลเพราะจะไม่มีใครเข้าเว็บได้เลย ซึ่งอาการหนักพอสมควร กรณีนี้แก้ไขได้โดยใช้ load balancing แต่ขึ้นอยู่ว่าจะ load balance ที่ไหน มาทำความเข้าใจปัญหากันก่อนครับ ตอนนี้ Web Server มีตัวเดียว เครื่องเซิร์ฟเวอร์รองรับ load ไม่ได้มากนัก CPU/RAM เต็มบ่อยๆ จนนิ่ง ปรับแก้ไข Config แล้วก็ตายเช่นเดิม ดังนั้นแก้ไขโดนการเพิ่มเซิร์ฟเวอร์เข้าไปอีก ในกรณีนี้เลือกวิธี load balancing ที่ง่ายสุดคือใช้ DNS load balancing คือ เป็นเว็บเดียวกันแต่มีหลายเครื่องและบอก DNS ว่ามีเซิร์ฟเวอร์หลายเครื่อง หมุน IP Address เอา ลองดูตัวอย่าง Google กัน

# host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 64.233.181.105
www.l.google.com has address 64.233.181.106
www.l.google.com has address 64.233.181.147
www.l.google.com has address 64.233.181.99
www.l.google.com has address 64.233.181.103
www.l.google.com has address 64.233.181.104

จากข้อมูลข้างต้น www.google.com มี aliase อยู่ 6 ตัว ถ้าคุณเข้า www.google.com มันก็จะหมุน IP Address ให้เราใหม่ให้ลองใช้คำสั่ง host www.google.com อีกครั้งคุณจะได้ข้อมูลดังนี้

#host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 64.233.181.106
www.l.google.com has address 64.233.181.105
www.l.google.com has address 64.233.181.104
www.l.google.com has address 64.233.181.103
www.l.google.com has address 64.233.181.99
www.l.google.com has address 64.233.181.147

# host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 64.233.181.103
www.l.google.com has address 64.233.181.99
www.l.google.com has address 64.233.181.147
www.l.google.com has address 64.233.181.106
www.l.google.com has address 64.233.181.105
www.l.google.com has address 64.233.181.104

จะเห็นว่า IP Address จะหมุนเป็น Round Robin ซึ่งเครื่อง client ก็จะเลือก IP Address ที่อยู่อันดับแรกเสมอ นั่นคือเวลาเราเข้าเว็บ www.google.com ในแต่ละครั้งเรียกเว็บเซิร์ฟเวอร์คนละตัวกันแต่หน้าเว็บเหมือนกัน ซึ่งเป็นการกระจาย load ให้เว็บเซิร์ฟเวอร์อย่างง่ายๆ ไม่ต้องคิดมาก :) วิธีการตั้งค่า DNS Load balancing มีดังนี้

www 60 IN 10.1.1.111
www 60 IN 10.1.1.112
www 60 IN 10.1.1.113
www 60 IN 10.1.1.114
www 60 IN 10.1.1.115
www 60 IN 10.1.1.116

หรือตั้งค่าแบบนี้ก็ได้ผลเช่นเดียวกัน

www 60 IN 10.1.1.111
60 IN 10.1.1.112
60 IN 10.1.1.113
60 IN 10.1.1.114
60 IN 10.1.1.115
60 IN 10.1.1.116

ทีนี้เราก็กระจาย load ของเว็บเซิร์ฟเวอร์ได้แล้ว แต่กรณีนี้ไม่ได้แก้ปัญหา fail over นะครับ มาดูกรณีที่เป็นปัญหากันครับ หากเว็บเซิร์ฟเวอร์ตายไปสักตัวนึงใน 6 ตัวนี้แล้ว ผู้ใช้โชคดีได้ IP Address ของเว็บเซิร์ฟเวอร์ที่ตาย ก็จะเข้าหน้าเว็บไม่ได้นั่นไง ดังนั้นกรณีนี้ต้อง monitor เครื่องเว็บเซิร์ฟเวอร์ให้อยู่ในดีมีสุขอยู่เสมอ เพราะถึงมีเว็บเซิร์ฟเวอร์ มากขึ้นแต่โอกาสที่จะเข้าเว็บแล้วเจอเว็บเซิร์ฟเวอร์ที่ตายก็ยังมีอยู่ แต่อย่างน้อยก็กระจาย load ได้ครับ