วันจันทร์ที่ 29 กรกฎาคม พ.ศ. 2556

setup filesystemที่สร้างใหม่ ให้ mount อัตโนมัติ

ในครั้งที่แล้ว ผมได้พูดถึงวิธีการสร้าง filesystem จาก  Logical Volume เหลืออีกขั้นตอนหนึ่งคือการกำหนดให้ filesystem ที่เราสร้าง  mount อัตโนมัติทุกครั้งที่เครื่อง boot

วิธีการง่ายๆ ครับ คือเพิ่มบรรทัดในไฟล์ /etc/fstab ไฟล์นี้ จะเป็นที่เก็บข้อมูลที่ช่วยในเราในการ mount  filesystem เข้า file structure ครับ โดย แต่ละบรรทัดใน /etc/fstab จะมีรูปแบบดังนี้ครับ

block_device    mount_point   filesystem_type   mount_options    fs_dump   check_on_boot

block_device : เป็นชื่อ device ที่จะทำการ mount
mount_point  :  directory ที่จะ mount filsystem
filesystem_type : ชนิดของ filesystem (ต้องตรงกับ ชนิดของ block_device)
mount_options  :  option ของการ mount ถ้ามี option  หลายตัวใช้ "," คั่นแต่ละ option ปกติเรากำหนดให้เป็น defaults
fs_dump :  เป็นการระบุว่า ให้คำสั่ง dump ทำการเก็บข้อมูลของ filesystem นี้ไว้(โดยใช้คำสั่ง dump) หรือเปล่า field นี้เป็นปัจจุบันนี้ field นี้ไม่ได้ใช้แล้วครับ แต่เราต้องระบุค่าไว้
check_on_boot : เป็นการบอกลำดับของการตรวจสอบ filesystem นี้ขณะที่มีการ  boot (โดยใช้คำสั่ง fsck )  ปกติ สำหรับ filesystem ทั่วไป ค่าจะเป็น 2 ยกเว้น  root filesystem (mount ที่  / ) ค่าจะเป็น 1  ครับ  ส่วน  filesystem ที่ไม่ต้องการใช้ ตรวจสอบ ค่าจะเป็น  0

จากตัวอย่างในครั้งที่แล้ว ผมจะเพิ่มบรรทัดนี้เข้าไปใน /etc/fstab


/dev/vol2/lvol0         /opt/zimbra         ext4     defaults 1   2

เป็นการบอก Linux ว่า ให้ mount /dev/vol2/lvol0  ซึ่งเป็น filesystem ชนิด ext4 ไปที่ /opt/zimbra  โดยใช้ default mount option ของ ext4 ครับ  ส่วนสอง field สุดท้าย ระบุเป็น 1 กับ 2 ไป

อีกอย่างนึงครับ เวลาเราจะ mount filesystem ไปที่ directory ไหน หรือที่ภาษา *nix (พวก Unix และ linux) เรียกว่า mount point ต้องดูให้ดีนะครับว่า directory นั้นต้องมีอยู่ ถ้าไม่มี ก็จัดการสร้าง directory  นั้นซะ
หลังจากเพิ่มบรรทัดนี้ ทดสอบการ mount โดยใช้คำสั่ง mount -a (mount all) หรือ reboot เครื่อง ก็ได้ครับ จะเห็น filesystem  ที่เราเพิ่งเพิ่มเข้าไปถูก mount  โดยอัตโนมัติ

หลังจากพูดปูพื้นฐานมาซะหลายตอน ครั้งหน้าผมจะพูดถึงวิธีการทำ snapshot logical volume เพื่อ backup zimbra กันนะครับ


วันอังคารที่ 16 กรกฎาคม พ.ศ. 2556

การนำ Logical Volume มาสร้างเป็น filesystem

จากตอนที่แล้ว เราได้ Logical Volume ที่พร้อมจะนำสร้างเป็น filesystem และ ไปใช้งานแล้วครับ

แต่ก่อนอื่น เราจะต้องนำ Logical Volume ที่ได้นี้ มาสร้างเป็น filesystem กันก่อนครับ วิธีการจะเหมือนกับการสร้าง filesystem จาก disk partition ทั้วไปครับ  เราใช้คำสั่ง  mkfs  ซึ่งมีรูปแบบดังนี้ครับ

mkfs -t fs_type  partition_name

fs_type  คือ ชนิดของ filesystem โดยปกติ จะเป็น ext3 หรือ ext4 ใน Linux รุ่นใหม่ๆ  จะใช้เป็น ext4 ครับ
partition_name คือ ชื่อของ disk partition ที่เรากำลังจะสร้างเป็น filesystem ในกรณีของเรา ก็คือชื่อของ Logical Volume โดยเราต้องระบบแบบเต็มคือขึ้นต้นด้วย /dev นะครับ โดยปกติ เป็น /dev/pv_name/lv_name

pv_name  จะเป็นชื่อของ physical volume ที่ logical volume นั้นอยู่ ส่วน lv_name เป็น ชื่อของ logical volume  ดังนั้นจากบทความที่แล้ว ชื่อของ disk partition  จะเป็น  /dev/vol2/lvol0

เมื่อ run คำสั่ง mkfs ถ้าไม่ติดอะไร จะได้ผลลัพท์คือ filesystem ที่สามารถนำไป mount (เชื่อมต่อ) เข้ากับ directory system ได้เลย จากตัวอย่างในรูป ผมสร้าง filesystem ชนิด ext4 บน  /dev/vol2/lvol0 เสร็จแล้ว mount  ไปที่ /opt/zimbra ครับ


รูป แบบของคำสั่ง mount คือ

mount device_name mount_point_dir

หลังจากที่เรา mount เสร้จ ต่อจากนี้ถ้าเรามีการสร้างไฟล์หรือ directory ภายใต้ mount_point_dir จะเป็นการใช้เนื้อที่บน device ที่เราเพิ่งทำการ  mount เข้าไปนะครับ

แต่อย่างไรก็ตาม การ mount แบบนี้ ถ้าเครื่องมีการ reboot   filesystem ที่เรา mount แบบนี้ จะไม่ถูก mount (แต่ยังอยู่) จะให้ mount อัตโนมัติเวลา boot เครื่อง จะมีขั้นตอนเพิ่มเติม ว่ากันในครั้งหน้าครับ