[Ubuntu] NFS Kernel Server
คำสั่งที่ใช้ติดตั้ง NFS Server
sudo apt install nfs-kernel-server sudo mkdir -p /mnt/nfs_share sudo chown -R nobody:nogroup /mnt/nfs_share sudo chmod 777 /mnt/nfs_share sudo cp /etc/exports /etc/exports.bak sudo nano /etc/exports
# /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # # ----- EXAMPLE ----- /mnt/nfs_share 10.1.4.18(rw,sync,no_subtree_check) /mnt/nfs_share 10.1.4.19(rw,sync,no_subtree_check) /mnt/nfs_share 172.168.0.10(rw,sync,no_subtree_check)
sudo exportfs -a sudo systemctl restart nfs-kernel-server
คำสั่งใช้ติดตั้ง NFS Client
sudo apt install nfs-common sudo showmount -e 10.1.4.20 sudo mkdir -p /mnt/nfs_client sudo mount 10.1.4.20:/mnt/nfs_share /mnt/nfs_client # un mount # sudo umount /mnt/nfs_client # config when restart will auto mount nano /etc/fstab
# ----- EXAMPLE ----- 10.1.4.20:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0
เสร็จแล้วทดสอบ Restart Container แล้วลองเข้าไปดูที่ Path ที่เราแชร์ไว้
Reference: Install NFS Server and Client
VITUX - Install NFS Server and Client on Ubuntu
Tecmint - How to Install and Configure an NFS Server on Ubuntu 18.04
How to Unmount A Busy Device
Which Ports Need to Open in Firewall to Use NFS
PSU.AC.TH - ติดตั้ง NFS Server บน Ubuntu 16.04 Server
วิธีติดตั้ง NFS (Network File System) บน RHEL/CentOS/Fedora and Debian/Ubuntu
[Linux Container] การ Mount NFS ใน Container
เมื่อทำการ Mount ไปใน Container ไม่สามารถ Mount ได้ได้ Error มาแบบนี้ตอนที่สั่ง mount
root@ubuntu:/mnt# mount 10.1.4.20:/mnt/nfs_share /mnt/nfs_client/ mount.nfs: Operation not permitted
root@ubuntu:~# mount 10.1.4.20:/mnt/nfs_share /mnt/nfs_client -v mount.nfs: timeout set for Thu Oct 1 15:44:56 2020 mount.nfs: trying text-based options 'vers=4.2,addr=10.1.4.20,clientaddr=172.168.0.10' mount.nfs: mount(2): Operation not permitted mount.nfs: trying text-based options 'addr=10.1.4.20' mount.nfs: prog 100003, trying vers=3, prot=6 mount.nfs: trying 10.1.4.20 prog 100003 vers 3 prot TCP port 2049 mount.nfs: prog 100005, trying vers=3, prot=17 mount.nfs: trying 10.1.4.20 prog 100005 vers 3 prot UDP port 47102 mount.nfs: mount(2): Operation not permitted mount.nfs: Operation not permittedคือตัว "AppArmor" ทำการ block ไว้ไม่ให้เราสามารถทำการ mount ใน container ได้
ให้เราทำการ config เพิ่มไปยัง container แล้ว lxc restart container จากนั้นลอง mount อีกครั้ง
# lxc launch ubuntu:18.04 ubuntu --config raw.apparmor="mount fstype=nfs," lxc config set container-name raw.apparmor "mount fstype=nfs," lxc config set container-name security.privileged true
Thank: Solution - https://github.com/lxc/lxd/issues/1826
ไม่มีความคิดเห็น:
แสดงความคิดเห็น