การติดตั้ง NFS Server บน Oracle linux6.3
ลีนุกซ์ Oracle linux6.3 หลังจากที่เราติดตั้งตามปกติก็สามารถใช้งาน NFS ได้เลยเพราะ NFS มาพร้อมกับเคอร์เนลแล้ว การที่จะใช้งาน NFS จำาเป็นต้องเปิดเซอร์วิส rpcbind ด้วย ดังนี้
[root@server1~]# chkconfig rpcbind on
[root@server1~]# service rpcbind start
[root@server1~]# chkconfig nfs on
[root@server1~]# service nfs start
NFS Server (192.168.1.5)พร้อมใช้งานแล้ว แต่เรายังไม่ได้แชร์ไดเรกทอรีให้เครื่องลูกข่ายเข้ามาใช้งาน
ไฟล์ที่จะแชร์ไดเรกทอรีคือ /etc/exports โดยมีการแชร์ไฟล์ เช่น
/home/data 192.168.1.0/255.255.255.0(rw,sync,no_root_squash) *** ถ้า กำหนด แบบนี้ ไฟล์ ที่เขียน owner จะเป็น nobody
แต่ถ้าต้องการให้ owner เป็น user ที่ต้องการ เช่น ผม อยากให้ owner เป็น user oracle ให้ ทำดังนี้
ตรวจสอบ id ของ user และ group
[root@server1~]# id oracle
uid=502(oracle) gid=503(oinstall) groups=503(oinstall)
จากนั้น ในไฟล์ /etc/exports ใส่ option เพิ่มเข้าไป
/home/data 192.168.1.0/255.255.255.0(rw,sync,no_root_squash,anonuid=502,anongid=503)
/home/data คือไดเรกทอรีที่ต้องการแชร์
192.168.1.0/255.255.255.0 คือเครื่องลูกข่าย ชื่อเครื่อง หรือ IP Address ที่อนุญาตให้เข้าใช้งาน
options มีดังนี้
rw ให้สามารถอ่านเขียนไฟล์ได้
ro อ่านได้อย่างเดียว เขียนไม่ได้
async รายงานผลก่อนแล้วค่อยเขียนลงดิสก์ เสี่ยงต่อข้อมูลหาย
sync ให้เขียนไฟล์ลงดิสก์สำาเร็จก่อนแล้วค่อยรายงานผล
all_squash กำาหนดให้ทุกคนที่เข้ามาขอใช้ไฟล์ มีสิทธิ์เป็น anonymous
root_squash กำาหนดให้ถ้า root เข้ามาขอใช้ไฟล์มีสิทธิ์เป็น anonymous
no_root_squash กำาหนดให้ถ้า root เข้ามาใช้ไฟล์ก็มีสิทธิ์เป็น root
anonuid=uid กำาหนดให้ใครก็ตามที่เข้ามาใช้ไฟล์ จะมีสิทธิ์เท่ากับ uid ที่กำาหนด
anongid=gid กำาหนดให้ใครก็ตามที่เข้ามาใช้ไฟล์ จะมีสิทธิ์เท่ากับ gid ที่กำาหนด
no_delay เขียนลงดิสก์ทันที
รายละเอียดเพิ่มเติม http://www.troubleshooters.com/linux/nfs.htm
หลังจากที่เราแก้ไฟล์ /etc/exports เรียบร้อยแล้วเราก็ต้อง restart service ของ NFS ก่อน
[root@server1~]# service nfs restart
หลังจากนั้นก็ทดสอบดูว่า ไดเรกทอรีที่เราแชร์เอาไว้ใช้งานได้หรือเปล่า ถ้าได้ข้อความดังด้านล่างนี้ก็แสดงว่า NFS Server ของเราพร้อมใช้งาน ให้ลูกข่ายติดต่อเข้ามาได้แล้ว
[root@server1~]# exportfs
/home/data 192.168.1.0/255.255.255.0
[root@server1~]# showmount -e 192.168.1.5
Export list for 192.168.1.5:
/home/data 192.168.1.0/255.255.255.0
คราวนี้มาถึงเครื่องลูกข่ายที่จะขอไปใช้งานไฟล์และไดเรกทอรีบนเครื่อง server กันบ้างครับ
ตัวอย่างการ mount
[root@server1~]# mkdir /mnt/nfs
[root@server1~]# mount 192.168.1.5:/home/data /mnt/nfs
หรือ
[root@server1~]#mount -t nfs -o rw 192.168.1.5:/home/data /mnt/nfs
การ mount nfs แบบถาวร การเมาท์แบบถาวรคือ การที่เปิดเครื่องขึ้นมาไดเรกทอรีที่แชร์อยู่ก็จะถูก mount โดยอัตโนมัติ ให้เพิ่มเข้าไปที่ไฟล์
/etc/fstab ดังนี้
192.168.1.5:/home/data /mnt/nfs nfs defaults 0 0
ถ้า ยกเลิก mount
[root@server1~]#umount /mnt/nfs
credit : https://www.linuxquestions.org/questions/linux-server-73/nfs-mounts-always-as-user-nobody-on-centos-4175419723/