1. nfs 是什麼php
(略)http://vbird.dic.ksu.edu.tw/linux_server/linux_redhat9/0330nfs.phplinux
2. 安裝 nfs-kernel-server 和 rpcbind(替代portmap), 並啓動rpcbind和nfs-kernel-server服務.ubuntu
apt-get install nfs-common nfs-kernel-servervim
sudo apt-get install portmap安全
pi@raspberrypi ~ $ sudo service rpcbind start
[ ok ] Starting rpcbind daemon....
pi@raspberrypi ~ $ ps ax | grep rpcbind
4130 ? Ss 0:00 /sbin/rpcbind -w
4152 pts/0 S+ 0:00 grep --color=auto rpcbind服務器
創建要分享及掛載的目錄
# mkdir /home/partimag
修改設定檔 /etc/exports
加入下面一列
# vim /etc/exports
/home/partimag 192.168.66.0/24(rw,sync,no_subtree_check)
啟動 NFS Server
# /etc/init.d/nfs-kernel-server start
* Exporting directories for NFS kernel daemon... [ OK ]
* Starting NFS kernel daemon [ OK ]
檢查是是有啟動成功
# showmount -e localhost
Export list for localhost:
/home/partimag 192.168.66.0/24async
pi@raspberrypi ~ $ showmount -e localhost
Export list for localhost:
/home/pi/nfs_server *
pi@raspberrypi ~ $ sudo mount -t nfs 127.0.0.1:/home/pi/nfs_server /mnt -o nolock
pi@raspberrypi ~ $ cd /mnt/
pi@raspberrypi /mnt $ ls
pi@raspberrypi /mnt $ >nfs.txt
pi@raspberrypi /mnt $ ls
nfs.txt
pi@raspberrypi /mnt $ cd /home/pi/nfs_server/
pi@raspberrypi ~/nfs_server $ ls
nfs.txtide
修改/etc/exports文件,在其中增長NFS服務器目錄。 一個NFS服務器能夠共享多個NFS目錄,在/etc/exports文件中,每一個目錄的設置獨佔一行,編寫格式以下:ui
NFS共享目錄路徑 客戶機IP或者名稱(參數1,參數2,...,參數n)spa
說明:
q NFS共享目錄能夠是主機的任何一個目錄,爲了方便使用,最好將權限設置爲777。
q 客戶機指的是能夠訪問共享目錄的客戶機的IP或者主機名,能夠是指定的IP或者主機名。若是使用IP,可使用通配符。假如指定IP爲192.168.1.x的客戶機能夠訪問,能夠寫成192.168.1.*,若是設置爲*,則表示任何客戶機均可以訪問。
q 訪問參數能夠是一個,也能夠是多個,用逗號分開。可能的參數和說明如 REF _Ref286733518 \h 表 5.108D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200380036003700330033003500310038000000 所列。
表 STYLEREF 1 \s 5. SEQ 表 \* ARABIC \s 1 1 NFS設置參數和說明
參數 |
說明 |
ro |
只讀訪問 |
rw |
讀寫訪問 |
sync |
全部數據在請求時寫入共享 |
async |
nfs在寫入數據前能夠響應請求 |
secure |
nfs經過1024如下的安全TCP/IP端口發送 |
insecure |
nfs經過1024以上的端口發送 |
wdelay |
若是多個用戶要寫入nfs目錄,則歸組寫入(默認) |
no_wdelay |
若是多個用戶要寫入nfs目錄,則當即寫入,當使用async時,無需此設置 |
hide |
在nfs共享目錄中不共享其子目錄 |
no_hide |
共享nfs目錄的子目錄 |
subtree_check |
若是共享/usr/bin之類的子目錄時,強制nfs檢查父目錄的權限(默認) |
no_subtree_check |
不檢查父目錄權限 |
all_squash |
共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄 |
no_all_squash |
保留共享文件的UID和GID(默認) |
root_squash |
root用戶的全部請求映射成如anonymous用戶同樣的權限(默認) |
no_root_squash |
root用戶具備根目錄的徹底管理訪問權限 |
anonuid=xxx |
指定nfs服務器/etc/passwd文件中匿名用戶的UID |
anongid=xxx |
指定nfs服務器/etc/passwd文件中匿名用戶的GID |
假定NFS共享目錄是/home/ky/nfs,容許全部客戶機訪問,/etc/exports文件可寫爲:
/home/ky/nfs *(rw,sync,no_subtree_check, no_root_squash)
若是NFS已經啓動,修改了/etc/exports文件,執行以下命令,新的設置便可生效:
ky@ubuntu:~$ exportfs -ra
本地驗證NFS服務器。將NFS服務器目錄掛載到本機另一個目錄下,能夠看到掛載點目錄下能夠看到NFS服務器目錄中的文件。
ky@ubuntu:~$ ls /home/ky/nfs/
aaaa
ky@ubuntu:~$ sudo mount -t nfs 127.0.0.1:/home/ky/nfs /mnt
ke@ubuntu:~$ ls /mnt
aaaa
ky@ubuntu:~$ sudo umount /mnt/
用開發板驗證NFS服務器是否可用。啓動開發板,進入系統,配置好開發板的IP地址後,用mount命令掛載NFS服務器的NFS目錄:
target# mount -t nfs 192.168.1.3:/home/ky/nfs /mnt -o nolock
target# ls /mnt
kingyee
target# umount /mnt/
掛載成功後,能夠在開發板的/mnt目錄下看到NFS服務器上的文件。
說明,使用開發板與虛擬機安裝的客戶系統進行NFS掛載,須要將虛擬網卡設置爲Bridged模式,並建議使用靜態IP地址。
若是在使用中須要增長新的NFS共享目錄,直接修改/etc/exports文件便可。修改該文件後,能夠不用重啓NFS服務,用exportfs命令讀取/etc/exports文件,從新共享輸出。exportfs命令語法以下:
exportfs [-aruv]
選項說明:
-a:所有掛載(或卸載) /etc/exports的設置;
-r:從新掛載/etc/exports的設置;
-u:卸載某一個目錄;
-v:在輸出的時候,把共享目錄顯示出來。