Sunday, March 1, 2009

ไกลปืนเที่ยง : FreeBSD --> disk partition

ไกลปืนเที่ยง วันนี้ใคร่ขอแนะนำถึง disk partion ที่จำเป็นต้องมี สำหรับการใช้งาน FreeBSD ให้เกิดประสิทธิภาพ และ ยังประสิทธิผล ให้ได้สูงสุด

เกี่ยวกับกรณีนี้, disk partition, สำหรับมือใหม่ อาจจะนึกไม่ถึงว่า จำเป็นต้องมีด้วยรึ เพราะเห็นว่า ลงทีไรก็มีครบทุกส่วน มาให้ทุกที อันนี้ ขอยืนยันไว้ตรงนี้เลยครับว่า เท่าที่จะแนะนำต่อไปนี้ ต้องมีครับ ต้องมี

ที่ท่านเจอไปทุกทีนั้น เขาก็สร้างมาให้ ให้ครบไปทุกทีแหละครับ ขอยืนยันอีกทีละกัน ซึ่งทั้งหมดที่ว่า เท่าที่จำเป็นต้องมีนั้น ก็คือ

Filesystem      partition   file type      Mounted point


/dev/ad0s1a         a               FS                     /
/dev/ad0s1b         b              swap
/dev/ad0s1d         d              FS                     /var
/dev/ad0s1e         e               FS                     /usr
/dev/ad0s1f          f                FS                     /home

กล่าวโดยรวมก็คือ ท่านต้องมี file system สำหรับ /var, /usr, /home และแน่นอนที่สุดว่า root file system กับ swap area ต้องมีในกรณีที่เป็น hard disk ก้อนแรก

ตัวอย่างที่ยกมานี้ เป็น hard disk ก้อนแรกก้อนเดียว แต่ถ้าท่านสามารถมี hard disk ได้หลายก้อน ท่านอาจจะจัดที่ให้กับวา, /var, หรือโอม, /home, เป็นพิเศษ ก็ได้ ไม่แปลก

สำหรับขนาดนั้น ก็ขึ้นอยู่กับงาน

เรื่องเคยมีมาแล้ว ผู้รู้จักท่านหนึ่ง เขาลง MySQL โดยนำ tarred ball มาระเบิดเอง แล้วมีปัญหา ผมเข้าไปแนะนำให้ลงจาก ports เพราะง่ายกว่า ก็ลงได้ ผ่านแบบไม่มีปัญหา แต่กลับไม่สามารถ start mysqlserver ได้ สาเหตุก็คือ
  1. ผู้ที่เป็นเจ้าของโปรแกรม mysql ไม่ใช่ mysql และไม่ได้อยู่ในกรุ้ปของ mysql
  2. เนื้อที่สำหรับวา, /var, มีไม่พอ เพราะไม่ได้เตรียมไว้ให้สำหรับวา
ซึ่งประการหลังนี่ ถกกันอยู่นาน ท่านก็ว่าท่านมี ผมก็ว่า ท่านไม่ได้เตรียมเนื้อที่สำหรับวาไว้ ซึ่งในที่สุด ก็ต้องทำซิมลิ้ง, symbolic link, เอา ทั้งนี้ก็เพื่อให้ มัน อั้บแอ่นรันนิ่ง ซะก่อน

ที่ผมมั่นใจว่าท่านนั้นไม่ได้เตรียมที่ไว้ สำหรับวา ก็เพราะ ท่านนั้นรายงานว่า สั่งวิ่งทีไร มันเจอ ไฟซีสเต็มฟูล ไปซะทุกที ก็จะไม่ให้มัน เต็ม ได้อย่างไรกันเล่า ในเมื่อ ไม่ได้จัดที่ไว้ให้วา วาก็ไปอิงแอบกับ รู้ท , /, เท่านั้นเอง ซึ่งก็รู้ๆกันอยู่ว่า รู้ท ของ FreeBSD นั้น เล็กนิดเดียว แต่ mysql นั้นเป็นฐานข้อมูลซึ่งต้องการเนื้อที่ สำหรับแค่ วิ่ง อย่างเดียวโดยไม่รวมตัวข้อมูลด้วยนี่ ก็ร่วมๆ ครึ่งเม้กกาไบท์แล่ว

สำหรับประการแรก ที่ว่า ผู้ที่สั่งวิ่งโปรแกรม mysql ไม่ใช่ mysql และไม่ได้อยู่ในกรุ้บ mysql นั้น ดอยปุย: แต่งเช้า เขาจัดงานฉลองให้ตอนค่ำก็เป็นอันที่ยืนยันความจริง ได้อย่างหนึ่งแหละว่า ลูกใคร เมียใคร ใครเขาก็รัก ใครเขาก็หวง จะมาทำยุ่มย่ามยุ่งขิง โดยไม่รู้จักความเป้นเจ้าเข้าเจ้าของนั้น ไม่ได้หรอก ผิดศีลข้อ กาเมฯ น่ะโยม ซึ่งถ้าหากว่า รัก ชอบ ก็ให้มาสู่ขออย่างเปิดเผยไม่ต้องหลบๆ ซ่อนๆกัน ผู้อื่น เขาก็จะได้รับรู้ด้วยว่า อ้อ นี่ มีเจ้าของ, สามี, แล้วน่ะ ฉันเป็นภรรยาของสามีฉัน แล้วน่ะ นี่คือภรรยาผมน่ะ ฯลฯ ประดานี้ ซึ่งผลดีคือ ไม่ทำให้กิดความผิดพลาดบกพร่องขึ้นมา

ประเด็นนี้ แก้ได้ง่ายด้วย chown(1) ซึ่งเป็นประโยชน์โดยตรงจากข้อเขียนที่แล้ว ในเรื่องของ file permission นั่นแหละ

ก็หวังว่าประสบการณ์จริงเหล่านี้ คงให้ข้อคิด ที่เป็นประโยชน์ สำหรับเพื่อนรัก นักอ่านบ้าง ไม่มากก็น้อย

2 comments:

dekdar said...

คุ้นๆกับเหตุการนี้หรือป่าว ทีชื่อน้องเฟรส

แต่ก็ขอบคุณสำหรับคำสั่งสอน "ริอาจเป็นคน ต้องมีภรรยา" เอ๋ เกียวกันไหมเนีย

อืม ลุง บัชอยากทราบว่า หากเราแบ่งเป็น ออโต้
สำหรับการใช้งานเบืองต้น (แค่รันweb server โดดๆ)
เพียงพอหรือป่าวครับ (แบบว่าสะดวกดี แต่ทำให้เรานิสัย
ไม่ดีเลย "อาหารจานด่วน") และมันก็ไม่มี โฮม ด้วยสิ
เกิดว่าต้องการมี พาติชั่น โฮมข้นมา จะทำอย่างไร หว่า..

มะขาม said...

home ต้องมี ยังไงเสีย เขาก็ทำ ซิมลิง เอ้ย symbolic link ให้
แหม ซิมลิง คิกคิก
ทำไมรึ เฟส มันเป็นอะไร มีอะไรเกิดขึ้นกับมันหรือ ฮี

อ้อ เหลืออีก ๑ คำถาม ออโต ทำให้มีที่สำหรับเก็บ log น้อยไป กับที่สำหรับ databases ไม่พอ


View My Stats