1、nfs解釋安全
NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它容許網絡中的計算機之間經過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用能夠透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件同樣。服務器
如下是NFS最顯而易見的好處:網絡
1. 節省本地存儲空間,將經常使用的數據存放在一臺NFS服務器上且能夠經過網絡訪問,那麼本地終端將能夠減小自身存儲空間的使用。app
2. 用戶不須要在網絡中的每一個機器上都建有Home目錄,Home目錄能夠放在NFS服務器上且能夠在網絡上被訪問使用。async
3. 一些存儲設備如軟驅、CDROM和Zip(一種高儲存密度的磁盤驅動器與磁盤)等均可以在網絡上被別的機器使用。這能夠減小整個網絡上可移動介質設備的數量。tcp
我主要是爲了節省本地存儲空間。ide
2、nfs安裝性能
服務器:10.201.82.6ui
客戶端:10.201.82.10spa
一、服務器端:
[root@nfs-server ~]# yum -y install nfs-utils rpcbind
把該目錄共享給客戶端82.10,可讀可寫,還同步,來訪的root用戶保持root賬號權限(可能會不安全)
[root@nfs-server ~]# vi /etc/exports
/var/log/shterm/2016/ 10.201.82.10(rw,sync,no_root_squash)
使配置生效
[root@nfs-server ~]# exportfs -rv
exporting 10.201.82.10:/var/log/shterm/2016
啓動服務
[root@nfs-server ~]# /etc/init.d/rpcbind start
[root@nfs-server ~]# /etc/init.d/nfs start
設置開機自動啓動nfs服務
chkconfig rpcbind on
chkconfig nfs on
二、客戶端:
[root@nfs-bljbak ~]# yum -y install nfs-utils
建立掛載目錄
[root@nfs-bljbak ~]# mkdir /home/shterm
查看共享狀態
[root@nfs-bljbak ~]# showmount -e 10.201.82.6
Export list for 10.201.82.6:
/var/log/shterm/2016 10.201.82.10
-t nfs :表示掛載文件的文件系統格式,也能夠省略
[root@nfs-bljbak ~]# mount -t nfs 10.201.82.6:/var/log/shterm/2016 /home/shterm/
掛載成功以後,能夠用df -h命令查看
設置開機自動掛載
[root@nfs-bljbak ~]# vi /etc/fstab
10.201.82.6:/var/log/shterm/2016 /home/shterm/ nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,nolock 0 0
mount命令
mount -a 的意思是將/etc/fstab的全部內容從新加載。
mount 是顯示/etc/fstab的內容。
3、命令參數
一、重啓nfs或者使用exportfs命令使nfs配置生效
service nfs restart 或者 exportfs -rv
#exportfs用法
-a :所有mount或者unmount /etc/exports中的內容
-r :從新mount /etc/exports中分享出來的目錄
-u :umount 目錄
-v :將詳細的信息輸出到屏幕上
二、nfs參數:
ro 該主機對該共享目錄有隻讀權限
rw 該主機對該共享目錄有讀寫權限
root_squash (默認)客戶機用root用戶訪問該共享文件夾時,將root用戶映射成匿名用戶
no_root_squash 客戶機用root訪問該共享文件夾時,不映射root用戶
all_squash 客戶機上的任何用戶訪問該共享目錄時都映射成匿名用戶
no_all_squash (默認):訪問用戶先與本機用戶匹配,匹配失敗後再映射爲匿名用戶或用戶組
anonuid 將客戶機上的用戶映射成指定的本地用戶ID的用戶。匿名用戶的UID值, 一般是nobody或nfsnobody,能夠在此處自行設定
anongid 將客戶機上的用戶映射成屬於指定的本地用戶組ID。匿名用戶的GID值
sync 資料同步寫入到內存與硬盤中,適用在通訊比較頻繁且實時性比較高的場合
async 資料會先暫存於內存中,稍候再寫入硬盤,性能較好(速度快), 適合超大或者超多文件的寫入,但有數據丟失的風險,好比忽然斷電等狀況
insecure 容許從這臺機器過來的非受權訪問
secure (默認):限制客戶端只能從小於1024的tcp/ip端口鏈接服務器
insecure 容許客戶端從大於1024的tcp/ip端口鏈接服務器
三、showmount命令
這是另外一個重要的nfs指令。exportfs是用於在nfs server端進行設置,查詢的。而showmount則主要用於Client端,用於查看NFS分享出來的目錄資源。
-e 顯示導出服務器上的全部文件系統。
-a 顯示每一個已安裝在服務器上的全部網絡文件系統 (NFS) 客戶端和目錄。
-d 顯示當前裝載 NFS 客戶端的服務器上的全部目錄。
四、客戶端報錯解決
(1) df: `/home/shterm': Stale file handle
[root@nfs-bljbak ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_nfsbljbak-lv_root
50G 814M 46G 2% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 485M 32M 428M 7% /boot
/dev/mapper/vg_nfsbljbak-lv_home
3.0T 593M 2.8T 1% /home
df: `/home/shterm': Stale file handle
卸載目錄,從新掛載便可
[root@nfs-bljbak ~]# umount -lf /home/shterm
[root@nfs-bljbak ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_nfsbljbak-lv_root
50G 814M 46G 2% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 485M 32M 428M 7% /boot
/dev/mapper/vg_nfsbljbak-lv_home
3.0T 593M 2.8T 1% /home
(2) umount.nfs: /home/shterm: device is busy
[root@nfs-bljbak ~]# umount -lf /home/shterm
[root@nfs-bljbak ~]# mount -t nfs 10.201.82.6:/var/log/shterm/ /home/shterm/
[root@nfs-bljbak ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_nfsbljbakserver-lv_root
50G 859M 46G 2% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 485M 32M 428M 7% /boot
/dev/mapper/vg_nfsbljbakserver-lv_home
3.0T 1.8T 1.1T 64% /home
10.201.82.6:/var/log/shterm/
1.8T 358G 1.4T 21% /home/shterm