Showing posts with label slice. Show all posts
Showing posts with label slice. Show all posts

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 นั่นแหละ

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

Thursday, January 22, 2009

FreeBSD: /dev/ad0s1

ต้องกราบขออภัยเพื่อนรักนักอ่านด้วยแต่โดยดี ไม่ขอโต้เถียงแม้แต่น้อยหน่อยหนึ่ง ที่ข้อเขียนนี้ขาดหายไป แม้ว่าจะเริ่มไปแล้ว ไม่มากนักก็ตาม
ขอยอมรับผิดแต่โดยดุษฎี
จะเร่งรีบมาต่อเติมให้ได้สาระดังเดิม แต่เร็วเร็วนี้



โดยการออกแบบที่จุดเริ่มต้นเมื่อแรกมี hard disk หน่วยความจำภายนอก หรืออุปกรณ์ประกอบชิ้นนี้ ได้รับการออกแบบมาให้สามารถแบ่ง หรือเฉือนออกได้เป็น ๔ ชิ้น โดยที่แต่ละชิ้นที่เฉือนออกมานั้น สามารถกำหนดให้เป็นตัว boot เครื่องได้ทั้งสิ้น เรียกว่า สามารถกำหนดให้เป็น primary ได้

ทีนี้ ในแต่ละส่วนที่ดูเหมือนว่า แยก ออกมานั้น ยังแบ่งออกไปได้อีก ๘ ส่วน

ก็ขอให้เรามอง หรือ จินตนาการเอาว่ามีลูกล้อ ๔ ลูก มาวางเรียงชิดกันอยู่ ประกอบกันเป็นก้อนเดียว ก้อนเดียวนี่แหละคือ hard disk ล่ะครับ

แล้วเราจะเรียกหา hard disk ก้อนเดียวนี้กันยังไง

unix เขามองทุกอย่างเป็นแฟ้มครับ ไม่เว้นแม้แต่อุปกรณ์ประกอบต่างๆทีเป็น hardware วึ่ง unix จะเก็บไว้ภายใต้ /dev อีกทีหนึ่ง แลชื่อที่ใช้เรียกกัน ในที่นี้จะขอเน้นจำเพาะ hard disk ก่อน

ชื่อที่ใช้เรียกนั้น กำหนดตามชื่อของ drivers ของ hard disk ซึ่งจะเป็นอักขระโรมัน ๒ หรือ ๓ ตัว ตามด้วยตัวเลขโรมัน ๑ ตัวเพื่อให้ทราบว่าเป็น ก้อนลำดับที่เท่าไร ตามด้วยส่วนที่สามารถแบ่งเป็น primary ได้ ซึ่งเรียกกันรวมๆว่า slice ตามด้วยตัวเลขซึ่งบอกว่าใช้จริงๆ กี่ slice จากนั้นตามด้วยส่วนที่ใช้งานย่อย ทั้ง ๘ ส่วนอีกที ซึ่งเรียกรวมๆว่า partition ซึ่งอัน partition นี้แทนด้วยอักขระโรมันตัวเดียว เริ่มจาก a ไปจนถึง h





อย่างกับหัวข้อนี้ ลองอ่านดูซิว่า ได้อะไรบ้าง





/dev นั่นก็ผ่านไปก็แล้วกันน่ะ,
ad0 ก็เป็นชื่อของ hard disk ที่ใช้ driver ของ ATA ก้อนลำดับแรก, 0,
s1 บอกว่า เป็น slice แรก, ลำดับที่ 1 และมีเพียง slice เดียว,
partition นั้น ยังไม่กำหนดให้ชัดเจนลงไปว่าจะใช้ partition อะไร ซึ่งในชีวิตจริง อาจจะเป็น /dev/ad0s1e ก็ได้

หวังว่า เรื่องของแฟ้ม คงจะกระจ่างมาบ้างน่ะ

View My Stats