Network File System (NFS) เป็น distributed file system protocol ซึ่งอนุญาตให้เราแชร์ remote directories ข้ามระบบ Network สำหรับรับส่งไฟล์ระหว่างเครื่อง Client และ Server โดยเราสามารถ mount remote directories บนเครื่องของเรา และใช้งานไฟล์บน remote directories เหมือนกับว่าไฟล์เหล่านั้นอยู่บนเครื่องเราเอง
บนระบบปฏิบัติการ Linux และ UNIX เราสามารถใช้คำสั่ง mount ในการ mount share NFS directory บนไดเร็กทอรี่ที่ต้องการ
บทความนี้จะกล่าวถึงการ mount NFS share เข้ามาใน Linux ทั้งแบบ manual และอัตโนมัติ
อันดับแรกต้องทำการติดตั้ง NFS Client packages ก่อน
การติดตั้ง NFS Client บน Ubuntu และ Debian:
$ sudo apt update
$ sudo apt install nfs-common
การติดตั้ง NFS Client บน RedHat, CenOS และ Fedora:
$ sudo yum install nfs-utils
หลังจากนั้น เราสามารถดำเนินการ Mount NFS share ได้
การ mount NFS file system แบบ manual
การ mount NFS file system สามารถใช้คำสั่ง mount ในรูปแบบดังนี้
mount [OPTION...] NFS_SERVER:EXPORTED_DIRECTORY MOUNT_POINT
สำหรับขั้นตอนในการ Mount แบบ manual ทำได้ดังนี้
1. สร้างไดเร็กทอรี่สำหรับเป็น NFS mount point บนเครื่องของเรา (client)
$ sudo mkdir /nfs-backup
2. ทำการ mount NFS share ด้วยตัวอย่างคำสั่ง
$ sudo mount -t nfs 192.168.151.74:/nfs-share /nfs-backup
โดยที่
192.168.151.74 เป็น IP address ของ NFS server
/nfs-share เป็นไดเร็กทอรี่ที่ server ทำการเปิด share ไว้
/nfs-backup เป็น mount point directory บนเครื่องเรา (client)
ถ้าต้องการ mount option เพิ่มเติมสามารถทำใด้โดยการใส่ option "-o" โดยที่แต่ละค่าจะคั่นด้วยเครื่องหมาย ''," ถ้าต้องการรายละเอียด สามารถอ่านเพิ่มเติมจาก "man mount"
3. ตรวจสอบว่าสามารถ mount NFS volume ได้สำเร็จหรือไม่ด้วยคำสั่ง
$ df -h
การ mount แบบ manual จะใช้งานได้จนกว่าจะมีการ reboot ถ้าต้องการให้ใช้งานได้ถาวรต้องทำในขั้นตอนแบบอัตโนมัติ
การ mount NFS file system แบบอัตโนมัติ
โดยปกติถ้าเราต้องการให้ mount NFS directory แบบอัตโนมัติเมื่อระบบเปิดใช้งานนั้น จะต้องเก็บรายละเอียดของแต่ละ file system ไว้ในไฟล์ /etc/fstab เพื่อที่จะถูกอ่านค่าแต่ละบรรทัดและ mount ตอนที่ระบบเริ่มทำงาน
ขั้นตอนในการทำการ mount แบบอัตโนมัติ
1. สร้างไดเร็กทอรี่สำหรับเป็น NFS mount point บนเครื่องของเรา (client)
$ sudo mkdir /nfs-backup
2. แก้ไขไฟล์ /etc/fstab ด้วย editor (vi, vim, nano)
$ sudo vi /etc/fstab
เพิ่มบรรทัดด้านล่างในไฟล์ /etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>
192.168.151.74:/nfs-share /nfs-backup nfs defaults 0 0
โดยที่
192.168.151.74 เป็น IP address ของ NFS server
/nfs-share เป็นไดเร็กทอรี่ที่ server ทำการเปิด share ไว้
/nfs-backup เป็น mount point directory บนเครื่องเรา (client)
3. ทำการ mount NFS share โดยการอ่านค่าจาก /etc/fstab
$ sudo mount /nfs-backup
หรือ
$ sudo mount 192.168.151.74:/nfs-share
คำสั่ง mount จะทำการอ่านค่าจากไฟล์ /etc/fstab และ mount NFS share นั้น
เมื่อมีการ reboot ครั้งต่อไป ระบบจะทำการ mount NFS share โดยอัตโนมัติ
การยกเลิกการใช้งาน NFS share (unmount)
คำสั่ง umount ใช้สำหรับยกเลิกการใช้งาน file system จาก mount point ในกรณีที่ต้องการยกเลิก NFS share สามารถทำได้ด้วยคำสั่งดังนี้
$ sudo umount /nfs-backup
หรือ
$ sudo umount 192.168.151.74:/nfs-share
คำสั่ง umount จะ fail ในการยกเลิกการ share ถ้า mount volume ถูกใช้งานอยู่
เราสามารถค้นหาว่ามี process ไหนกำลังเข้าถึงไฟล์ใน NFS share โดยใช้คำสั่ง fuser
$ fuser -m MOUNT_POINT
เมื่อทราบว่า process ไหน เราก็สามารถหยุดการทำงานของ process นั้นด้วยคำสั่ง kill และทำการ unmount NFS share อีกครั้ง
ถ้ายังคงเจอปัญหาไม่สามารถ unmount ได้ ให้ใช้ option "-l" (--lazy) เพื่ออนุญาตให้เราสามารถ unmount file system ที่ยังคงทำงานอยู่ (busy) ทันทีเมื่อใดก็ตามที่ file system นี้ ว่างหรือไม่ทำงาน
$ sudo umount -l MOUNT_POINT
ถ้าหากว่า remote NFS server มีสถานะที่ไม่สามารถเข้าถึงได้ (unreachable) ให้ใช้ option "-f" (--force) ในการบังคับให้ทำการ unmount
$ umount -f MOUNT_POINT
โดยทั่วไปไม่มีเหตุผลที่ดีที่จะใช้ force option (-f) ซึ่งอาจทำให้ข้อมูลเกิดความเสียหายได้
การใช้ option "-l' เป็นการป้องกันระบบค้างจากการ shutdown เมื่อไม่สามารถเข้าถึง network share ได้
ขณะที่การ umount แบบปกติจะค้างเมื่อไม่สามารถเข้าถึง network share ได้
บนระบบปฏิบัติการ Linux และ UNIX เราสามารถใช้คำสั่ง mount ในการ mount share NFS directory บนไดเร็กทอรี่ที่ต้องการ
บทความนี้จะกล่าวถึงการ mount NFS share เข้ามาใน Linux ทั้งแบบ manual และอัตโนมัติ
อันดับแรกต้องทำการติดตั้ง NFS Client packages ก่อน
การติดตั้ง NFS Client บน Ubuntu และ Debian:
$ sudo apt update
$ sudo apt install nfs-common
การติดตั้ง NFS Client บน RedHat, CenOS และ Fedora:
$ sudo yum install nfs-utils
หลังจากนั้น เราสามารถดำเนินการ Mount NFS share ได้
การ mount NFS file system แบบ manual
การ mount NFS file system สามารถใช้คำสั่ง mount ในรูปแบบดังนี้
mount [OPTION...] NFS_SERVER:EXPORTED_DIRECTORY MOUNT_POINT
สำหรับขั้นตอนในการ Mount แบบ manual ทำได้ดังนี้
1. สร้างไดเร็กทอรี่สำหรับเป็น NFS mount point บนเครื่องของเรา (client)
$ sudo mkdir /nfs-backup
2. ทำการ mount NFS share ด้วยตัวอย่างคำสั่ง
$ sudo mount -t nfs 192.168.151.74:/nfs-share /nfs-backup
โดยที่
192.168.151.74 เป็น IP address ของ NFS server
/nfs-share เป็นไดเร็กทอรี่ที่ server ทำการเปิด share ไว้
/nfs-backup เป็น mount point directory บนเครื่องเรา (client)
ถ้าต้องการ mount option เพิ่มเติมสามารถทำใด้โดยการใส่ option "-o" โดยที่แต่ละค่าจะคั่นด้วยเครื่องหมาย ''," ถ้าต้องการรายละเอียด สามารถอ่านเพิ่มเติมจาก "man mount"
3. ตรวจสอบว่าสามารถ mount NFS volume ได้สำเร็จหรือไม่ด้วยคำสั่ง
$ df -h
การ mount แบบ manual จะใช้งานได้จนกว่าจะมีการ reboot ถ้าต้องการให้ใช้งานได้ถาวรต้องทำในขั้นตอนแบบอัตโนมัติ
การ mount NFS file system แบบอัตโนมัติ
โดยปกติถ้าเราต้องการให้ mount NFS directory แบบอัตโนมัติเมื่อระบบเปิดใช้งานนั้น จะต้องเก็บรายละเอียดของแต่ละ file system ไว้ในไฟล์ /etc/fstab เพื่อที่จะถูกอ่านค่าแต่ละบรรทัดและ mount ตอนที่ระบบเริ่มทำงาน
ขั้นตอนในการทำการ mount แบบอัตโนมัติ
1. สร้างไดเร็กทอรี่สำหรับเป็น NFS mount point บนเครื่องของเรา (client)
$ sudo mkdir /nfs-backup
2. แก้ไขไฟล์ /etc/fstab ด้วย editor (vi, vim, nano)
$ sudo vi /etc/fstab
เพิ่มบรรทัดด้านล่างในไฟล์ /etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>
192.168.151.74:/nfs-share /nfs-backup nfs defaults 0 0
โดยที่
192.168.151.74 เป็น IP address ของ NFS server
/nfs-share เป็นไดเร็กทอรี่ที่ server ทำการเปิด share ไว้
/nfs-backup เป็น mount point directory บนเครื่องเรา (client)
3. ทำการ mount NFS share โดยการอ่านค่าจาก /etc/fstab
$ sudo mount /nfs-backup
หรือ
$ sudo mount 192.168.151.74:/nfs-share
คำสั่ง mount จะทำการอ่านค่าจากไฟล์ /etc/fstab และ mount NFS share นั้น
เมื่อมีการ reboot ครั้งต่อไป ระบบจะทำการ mount NFS share โดยอัตโนมัติ
การยกเลิกการใช้งาน NFS share (unmount)
คำสั่ง umount ใช้สำหรับยกเลิกการใช้งาน file system จาก mount point ในกรณีที่ต้องการยกเลิก NFS share สามารถทำได้ด้วยคำสั่งดังนี้
$ sudo umount /nfs-backup
หรือ
$ sudo umount 192.168.151.74:/nfs-share
คำสั่ง umount จะ fail ในการยกเลิกการ share ถ้า mount volume ถูกใช้งานอยู่
เราสามารถค้นหาว่ามี process ไหนกำลังเข้าถึงไฟล์ใน NFS share โดยใช้คำสั่ง fuser
$ fuser -m MOUNT_POINT
เมื่อทราบว่า process ไหน เราก็สามารถหยุดการทำงานของ process นั้นด้วยคำสั่ง kill และทำการ unmount NFS share อีกครั้ง
ถ้ายังคงเจอปัญหาไม่สามารถ unmount ได้ ให้ใช้ option "-l" (--lazy) เพื่ออนุญาตให้เราสามารถ unmount file system ที่ยังคงทำงานอยู่ (busy) ทันทีเมื่อใดก็ตามที่ file system นี้ ว่างหรือไม่ทำงาน
$ sudo umount -l MOUNT_POINT
ถ้าหากว่า remote NFS server มีสถานะที่ไม่สามารถเข้าถึงได้ (unreachable) ให้ใช้ option "-f" (--force) ในการบังคับให้ทำการ unmount
$ umount -f MOUNT_POINT
โดยทั่วไปไม่มีเหตุผลที่ดีที่จะใช้ force option (-f) ซึ่งอาจทำให้ข้อมูลเกิดความเสียหายได้
การใช้ option "-l' เป็นการป้องกันระบบค้างจากการ shutdown เมื่อไม่สามารถเข้าถึง network share ได้
ขณะที่การ umount แบบปกติจะค้างเมื่อไม่สามารถเข้าถึง network share ได้
How to mount NFS share in Linux
Reviewed by Wisoot Amatariyakul
on
12:05 AM
Rating:
No comments: