NFS(Network File System)即網絡文件系統,它允許網絡中的計算機之間通過網絡共享資源。
網絡文件系統NFS時Unix系統和網絡附加存儲文件管理器常用的網絡文件系統,允許多個用戶端通過網絡共享文件訪問。它可用於對共享二進制目錄的訪問,也可以用於允用戶在同一工作組客戶端訪問其文件。
NFSv4比NFSV3多提供了更安全的身份驗證的支持,甚至可以通過kerberos進行加密。
實驗環境
centos6.8_x64
nfs_server 192.168.0.13 nfs+rpcbind
nfs_slave 192.168.0.15 nfs+rpcbind
實驗軟件
nfs-utils.x86_64
rpcbind.x86_64
軟件安裝
yum install -y nfs-utils rpcbind
service rpcbind restart && service nfs restart
chkconfig --level 35 rpcbind on && chkconfig --level 35 nfs on
cp -pv /etc/exports /etc/exports.bak
chown -R nfsnobody:nfsnobody /home/backup/
cat /etc/exports
/home/backup 192.168.0.0/24(rw,sync)
/etc/exports文件內容格式:
<輸出目錄> [客戶端1 選項(訪問權限,用戶映射,其他)] [客戶端2 選項(訪問權限,用戶映射,其他)]
輸出目錄:
輸出目錄是指NFS系統中需要共享給客戶機使用的目錄
客戶端:
客戶端是指網絡中可以訪問這個NFS輸出目錄的計算機
客戶端常用的指定方式
指定ip地址的主機:192.168.0.200
指定子網中的所有主機:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主機:david.bsmart.cn
指定域中的所有主機:*.bsmart.cn
所有主機:*
選項
選項用來設置輸出目錄的訪問權限、用戶映射等。NFS主要有3類選項:
訪問權限
設置輸出目錄只讀:ro
設置輸出目錄讀寫:rw
用戶映射
all_squash:將遠程訪問的所有普通用戶及所屬組都映射爲匿名用戶或用戶組(nfsnobody)
no_all_squash:與all_squash取反(默認設置)
root_squash:將root用戶及所屬組都映射爲匿名用戶或用戶組(默認設置)
no_root_squash:與rootsquash取反
anonuid=xxx:將遠程訪問的所有用戶都映射爲匿名用戶,並指定該用戶爲本地用戶(UID=xxx)
anongid=xxx:將遠程訪問的所有用戶組都映射爲匿名用戶組賬戶,並指定該匿名用戶組賬戶爲本地用戶組賬戶(GID=xxx)
secure:限制客戶端只能從小於1024的tcp/ip端口連接nfs服務器(默認設置)
insecure:允許客戶端從大於1024的tcp/ip端口連接服務器
sync:將數據同步寫入內存緩衝區與磁盤中,效率低,但可以保證數據的一致性
async:將數據先保存在內存緩衝區中,必要時才寫入磁盤
wdelay:檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率(默認設置)
no_wdelay:若有寫操作則立即執行,應與sync配合使用
subtree:若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置)
no_subtree:即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率
exportfs -rav 配置立刻生效
exporting 192.168.0.0/24:/home/backup
showmount -e 192.168.0.13
Export list for 192.168.0.13:
/home/backup 172.16.0.0/24
mount -t nfs 192.168.0.13:/home/backup/ /data
cp -pv /etc/rc.d/rc.local /etc/rc.d/rc.local.bak
echo mount -t nfs 192.168.0.13:/home/backup/ /data >> /etc/rc.d/rc.local
cat /etc/rc.d/rc.local
mount -t nfs 192.168.0.13:/home/backup/ /data
df -Th
192.168.0.13:/home/backup/ nfs 58G 1.4G 54G 3% /data 查看磁盤掛載次操作只限於臨時掛載
cp -pv /etc/fstab /etc/fstab.bak 設置永久掛載
cat /etc/fstab
192.168.0.13:/home/backup /data proc defaults 0 0 最後一行添加配置
init6 查看掛載是否生效,以上操作均爲nfs_server操作
yum install -y nfs-utils rpcbind
service rpcbind restart && service nfs restart
chkconfig --level 35 rpcbind on && chkconfig --level 35 nfs on
mkdir -pv /home/backup
chown -R nfsnobody:nfsnobody /home/backup/ 同步目錄可自定義
showmount -e 192.168.0.13
Export list for 192.168.0.13:
/home/backup 192.168.0.0/24
cp -pv /etc/rc.d/rc.local /etc/rc.d/rc.local.bak
echo mount -t nfs 192.168.0.13:/home/backup/ /data >> /etc/rc.d/rc.local
df -Th
192.168.0.13:/home/backup/ nfs 58G 1.4G 54G 3% /data 以上操作爲nfs_slave操作
mkdir -pv /home/backup
cd /home/backup && touch {aa.conf,aa.txt,test.txt,index.html}
chown -R nfsnobody:nfsnobody /home/backup/
ll /home/backup/
aa.conf
aa.txt
index.html
test.txt nfs_server操作
ll /data nfs_slave操作
aa.conf
index.html
test.txt
aa.txt