創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2016年5月13日 星期五

在內部網路的Ubuntu機器之間使用NFS存取資料

NFS最早由Sun Microsystem所發展出來,常用在Unix或類Unix系統的連路存取方式。

以下只做簡易的介紹,假定內部網路有幾部Ubuntu機器,某部機器做NFS server,而其它幾部用戶端以NFS連到server存取資料。此處所做的設置較為簡單,為了資料安全考量,建議只用在內部而且是單純的網路環境(意思指的是不會有外部人士來“借用”你的網路)。

Server端要做的動作:

  1. 安裝NFS server
  2. 設置要輸出哪些資料夾
  3. 輸出

1.安裝NFS server:


sudo apt install nfs-kernel-server
裝好後,查看狀態:

service nfs-kernel-server status
停止或啟動就是把status換成stop或start即可。

2.設置輸出資料夾:

寫在/etc/exports中,格式像:

/file/system yourhost(options)
  • /file/system即要輸出的資料夾
  • yourhost主機名稱也可用域名,像:*.domain.com;或IP,像:192.168.1.0/24
  • options選項,像:rw可讀寫。
詳情可見exports的manpage

舉個例子:

/home/fygul/shared_folder 192.168.1.0/24(rw,sync,no_root_squash)
此例把/home/fygul/shared_folder輸出供192.168.1.0/24的機器讀寫。

3.設置好後,加入輸出條目:


sudo exportfs -a
如果更動了/ect/exports,要重新輸出時就用-r選項。也記得重啟NFS server。

Ubuntu MATE 16.04雖然也有提供圖形工具可執行上述部分工作,不過會出錯,不是很好用。

圖形工具的選單位置:系統/管理/共享的資料夾。

用戶端要做的動作:

  1. 安裝nfs-common
  2. 掛載NFS server輸出的資料夾

1.安裝nfs-common:


sudo apt install nfs-common

2.掛載NFS server輸出的資料夾:

可用/etc/fstab,就如同掛載本機file system般,像:

192.168.1.101:/home/fygul/shared_folder  /mnt   none   nfs  0    0
此例把IP為192.168.1.101的NFS server的/home/fygul/shared_folder掛載到/mnt

如果不想用/etc/fstab,也可用mount指令手動掛載:

sudo mount -t nfs 192.168.1.101:/home/fygul/shared_folder /mnt
完成後可用df指令確認一下掛載的情形。

沒有留言:

張貼留言