ขอปรึกษาเกี่ยวกับการทำ web server Balance หน่อยครับ

ตอนนี้ที่ทำ web server loadbalance อยู่ดูเหมือนจะไม่ work เท่าไหร่ครับสิ่งที่ทำครับ
ใช้ server 4 ตัว
server ตัวที่ 1 --> ทำเป็น virtual IP เป็นตัวกระจายโหลด ไปยัง web service
server 2 ตัว —> ทำหน้าที่เป็น web service
server 1 ตัว ----> ทำหน้าที่เป็น mysql
server 1 ตัว ----> ทำหน้าที่เป็น file server
โดยหลายละเอียดผมเข้าใจไม่รู้ถูกหรือปล่าว คือทำการ config server โดยใช้ nfs ติดตั้งที่เครื่อง file server และ web service 2 ตัว
ทำการ mount path file จาก file server ที่ทำการ share ผ่าน nfs ครับ
ปัญหาคือ การอ่านเขียน file จะช้าลง แล้วที่ตัว file service มี error
kernel: lockd: check f=ffff8804313e7cc0 pd=109922 0-9223372036854775807 ty=1 cookie=dc1c0100
kernel: lockd: check f=ffff8804313e7cc0 pd=110061 0-9223372036854775807 ty=1 cookie=251d0100
เต็มไปหมดดูได้จาก /var/log/message ของเครื่อง file server

ผมเลยอยากขอคำแนะนำครับว่า ควรทำอย่างไรเพื่อให้ใช้ server เหล่านี้ให้เกิดประโยชน์ในการ run web เป็น load balance
แล้วตัดปัญหาเรื่องการแสดงผลหน้าเว็บช้าลง หรือว่าท่านใดมีแนวคิดการทำ web server Load balance แบบอื่นช่วยแนะนำด้วยครับ เพื่อว่าผมจะได้นำไปต่อยอดระบบของผมได้

ขอบคุณครับ

พวกนี้สำคัญที่การกระจายข้อมูลมากกว่าครับ อาจต้องดู mount point เทียบกับการใช้งานให้ดีๆ น่าจะพอ optimize อะไรเพิ่มได้บ้าง

nfs server ทำงานที่ file server อย่างเดียว และ ตัว web server 2 ตัวมาร่วมกันใช้งาน ใช่ไหมครับ
nfs v4?
mount ยังไงครับ

nfs client webserver /etc/fstab
ip server:/home/web /home/web4 nfs rsize=32768,wsize=32768,noatime,rw,sync,hard,intr,vers=3 0 0

ตรง vers=3 นั้นทำไว้เพื่อว่าสามารถ mount group owner permission ftp ของ clients มายัง path ได้ครับ

nfs server experts
/home/web ip client(rw,sync,no_root_squash,anonuid=500,anongid=500) ipclient(rw,sync,no_root_squash,anonuid=500,anongid=500)

ตามนี้ครับ

ผิดถูกตรงใหนช่วยแนะนำด้วยครับ

ตัว file server load เยอะมั้ยครับ
ลองเปลี่ยน sync เป็น async แต่ระวังเรื่องข้อมูลไม่สด 100% (เสียววินาที)
filesystem ที่ file server -> noatime ด้วยนะครับ

คุณ pizzaman ครับ ตรง filesystem ที่ file server -> noatime ด้วยนะครับ
ที่ file server ต้องแก้ไขตรงใหนครับ ตรง experts เหรอครับ ใช่ป่าว ครับ

k. pizzaman ครับ ผมรอง add noatime ที่ /etc/exports ที่ file server แล้ว error ครับ
Starting NFS services: exportfs: /etc/exports:1: unknown keyword “noatime”

/etc/fstab ที่ file server ครับ ไม่ใช่ /etc/exports

ตามด้านล่างเลยครับ

แล้วลองดูโหลด

ถ้าโหลดหนักๆ จูนแล้วไม่ไหว nfs อาจไม่ใช่คำตอบครับ

ถ้ามีสี่ตัว สมมุติเป็น PHP ผมจะ

1.mysql + load balancer
2.File Server + WWW (Static) + Memcache
3.PHP 100%
4.PHP 100%

ถ้า 3 กะ 4 ไม่พอกระจายไป 1 2 ได้นิดหน่อย

ถ้าโหลดหนักๆ การแยก file server กะ www อาจจะไม่ใช่คำตอบนะครับ

การทำ cluster file system จะได้ผลมาก ถ้า www มีหลายเครื่องครับ

ขอโทษนะครับ ที่เครื่อง file server ไม่ได้ใส่อะไรไปเลยครับ
ยังเป็นค่า default อยุ่

ผมควรใส่ยังงัยเหรอครับ เพราะตรง /etc/fstab นั้นผมใส่แค่ที่ client web service เท่านั้น ครับ

ผมขอถามหน่อยครับ การทำ system file cluster ควรทำแบบใหนครับ
ทำ cluster ทั้ง 4 ตัว ยกเว้น virtual ip หรือว่าทำแค่ 3 ตัวคือ web service 2 กับ file server 1 ครับ
แล้วการทำควรใช้ service ใหนครับ หรือว่า drdb

ขอบคุณครับ

drbd มันไว้กรณีที่คุณจะทำ HA เท่านั้นครับ ถ้าไม่ทำ HA ก็ไม่ต้องใช้ครับ write performance จะตก

cluster file system ต้องมี SAN หรืออะไรสักอย่างที่ export ออกเป็น block device ได้
จริงๆรัน drbd active+active แล้วเอา ocfs2 หรือ cluster fs อื่นๆ มา on top ก็ทำได้ แต่ อันนี้ถ้าไม่รู้ว่าตัวเองกำลังทำอะไรอยู่ผมไม่แนะนำให้ทำอย่างยิ่งครับ ค่อนข้างซับซ้อน พลาดทำพังมากู้ยากนะ

จริงๆผมอยากทำ Load Balance web server โดยเอา server ที่ผมมีมาทำครับ(ไม่มี san ครับ) แต่ไม่รู้จะทำตัวใหนถึงจะ work และรองรับการทำงานที่ client UIP ประมาณ 100000 ต่อวันครับ
เป็น server 1 U ครับ ช่วยแนะนำ solution ด้วยจะขอบคุณมากครับ เพราะตอนนี้เท่าที่ทำ โดยใช้ nfs นั้นไม่ค่อยจะ work เท่าไหร่ หรือว่าเป็นเพราะผม config ไม่ดี ก็ไม่รู้ครับ

มีข้อมูลที่ client upload มาเองด้วยเหรอครับ?

จริงๆมันควรจะรู้ ลักษณะการใช้งาน/รูปแบบเว็บ ก่อนถึงจะมาวางระบบให้สอดคล้อง
เริ่มจากเครื่องเดียวก็ต้องรู้มาก่อนแล้วว่าอะไรที่หนักที่ควรกระจายออกไป

เว็บเกี่ยวกับอะไร ทำงานลักษณะไหน คนใช้งานต่อวันเท่าไร กี่ UIP กี่ PV ครับ ?
Server Spec เป็นยังไง CPU อะไร memory เท่าไร Disk แบบไหน ?

ครับผม คล้ายๆๆ ยกตัวอย่าง เว็บ Dek D ครับ

เป็นเว็บคล้ายๆๆ Dek D ครับ คือมีการ และเปลี่ยน ข้อมูลกัน
คนเข้าต่อวัน
UIP:70000, , PV:900000 โดยประมาณครับ
เป็น server Dell ครับ 1 U และ 2 U
web service 1 U Raid 1 ทั้ง 2 เครื่องครับ
Server file nfs 2 U ครับ Raid 5

cpu xeon

ทั้งสามเครื่อง ram เครื่องละ 16 Gb ครับ
ส่วน Disk web service เป็นแบบ hd sata ธรรมดา 7200 rpm
ส่วน file share nfs เป็น แบบ scsi 10000 rpm ครับ

คุณ Ton มีความเห็นอย่างไรบ้างครับ

ในส่วนนี้ได้ทำการกระจาย data web กับ mysql ออกจากกันแล้วครับ เพื่อแบ่งเบาภาระเครื่อง
แต่เนื่องจากมีการเข้าใช้งานเพิ่มขึ้น ทำให้ระบบให้บริการได้ไม่เต็มที่ครับ เลยต้องการที่จะทำ Web service load balance ครับ
โดยรวม mysql ยังพอรับไหวอยู่แต่อนาคตไม่แน่ ครับ

ตอนนี้ที่ run อยุ่คื่อ เอา data มารัน รวมกับ web service ไปด้วยกันครับ เพราะทำการติดตั้ง nfs server share file ผ่าน server อีกตัว ให้กับ web service แล้ว ไม่ work ครับ เลยขอคำแนะนำใหม่ว่าควรติดตั้งแบบใหนดี และยึดหยุ่นต่อการใช้งาน ที่เพิ่มขึ้น ครับ