วันพฤหัสบดีที่ 23 พฤษภาคม พ.ศ. 2556

ระบบ filesystem ก่อนจะมี Logical Volume Manager (LVM)

ตามที่ได้เขียนไว้ครั้งที่แล้ว ว่าเราจะเกริ่นเรื่อง  Logical Volume Manager (LVM)  กัน แต่พอลองเรียบเรียงแล้ว เพื่อให้เนี้อหาในแต่ละตอนไม่ยาวมาก เลยจะขอตัดเป็นตอนสั้นๆ ก็แล้วกันนะครับ โดยตอนนี้ จะเล่าถึงประวัติศาสตร์ ระบบการใช้งาน disk และ Linux partition ในยุคแรกๆ ก่อนจะมี LVM

บน Linux (และ Unix)  การนำเนื้อที่ของ disk มาใช้งาน เราจะต้องจอง disk เป็นส่วนๆ (partition) แล้ว นำมา format สร้างเป็น filesystem หลังจากนั้นก็นำไป เชื่อมต่อ (mount) กับ directory  โดยการ mount เราต้องกำหนด mount point ด้วยครับ ว่า disk partition นั้น จะ mount ที่จุดไหน

โดยปกติ จะมี disk partition แรก mount  ที่ "/" directory หรือที่เราเรียกว่า root directory ครับ ใน directory นี้ และ directory ย่อยๆ ลงไป ถ้ามีการสร้างไฟล์ ก็จะกินเนื้อที่ของ disk partition นี้

แต่ถ้าเรามี disk อีก partition ที่สอง เพิ่มเข้ามา และ mount อยู่ที่ /usr การสร้างไฟล์ หรือ sub directory ย่อย ภายใต้ /usr จะใช้เนื้อที่ของ partition ที่สองครับ ไม่เกี่ยวข้องกับ partition แรก

disk แต่ละ partition ที่เรานำมา mount เข้ากับ directory tree  ถ้าเราจะดูว่าในเครื่องเรา มี filesystem  อะไรอยู่บ้าง mount อยู่ที่ไหน ก็ใช้คำสั่ง df ดูได้ครับ

การเพิ่มขยาย disk ของ Unix และ Linux ยุคแรกๆ ก็จะใช้วิธีการ mount disk เพิ่มแบบนี้หละครับ


การจอง partition เพื่อจะนำมาสร้างเป็น filesystem แบบนี้ มีข้อจำกัดคือ

1) เนื้อที่ในแต่ละ partition ต้องเป็นเนื้อที่ที่อยู่ติดต่อกัน 
2) ต้องอยู่บน harddisk ลูกเดียวกันเท่านั้น

การขยายเนื้อที่ใน filesystem  จะลำบากมาก ถ้าไม่มีเนื้อที่ติดกันกับ filesystem เดิมเหลืออยู่ ปกติก็คือ

1) ต้องจองเนื้อที่ใน partition ใหม่ ที่ใหญ่กว่าเดิม
2) copy ข้อมูลไป ยัง partition ใหม่
3) unmount filesystem เดิม
4) mount filesystem ใหม่ที่ mount point เดิม

วุ่นวายดีไหมครับ นี่แบบย่อๆ นะที่จริงซับซ้อนกว่านี้อีกนะ

ซึ่งการ unmount filesystem ได้นั้น จะต้องไม่มี process ไหนใช้งาน file หรือ directory บน filesystem นั้น ทำให้ การขยายบาง filesytem ที่ระบบใช้งานตลอด เช่น /usr หรือ /var ทำได้ค่อนข้างยาก ครับ

ถ้าทำได้ ก็จะมีปัญหาอีกอย่างคือ เนื้อที่ filesystem ของเดิมที่เลิกใช้แล้ว จะมีอยู่กระจัดกระจาย ไม่ติดต่อกัน บางที่เนื้อที่ว่างทั้ง disk เหลือพอ แต่อยู่กระจัดกระจาย จะเอามา recycle เพื่อสร้างเป็น filesytem ใหม่ ก็ทำได้แค่ filesystem ขนาดเล็กกว่า partition ที่มีอยู่ หรือเท่าเดิมเท่านั้นครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น