How to mount NFS share in Linux

Most Recent

Seo Services
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 ได้

How to mount NFS share in Linux How to mount NFS share in Linux Reviewed by Wisoot Amatariyakul on 12:05 AM Rating: 5

No comments:

Powered by Blogger.