參考原文铁追,這里對原文做了一些簡化季蚂,把安裝過程整合成了一個shell腳本。
本文介紹如何在centos7上安裝NFS琅束,nfs是一個流行的分布式文件協(xié)議癣蟋,它可以允許用戶掛載遠(yuǎn)程目錄到客戶端目錄上.本文介紹如何在centos7上安裝NFS服務(wù),以及客戶端狰闪,并且在客戶端上掛載服務(wù)器目錄疯搅。
準(zhǔn)備工作
本文安裝了2個centos7系統(tǒng);
ip地址 | 作用 |
---|---|
192.168.3.100 | nfs服務(wù)器 |
192.168.3.101 | nfs客戶端 |
NFS 服務(wù)端
#!/bin/bash
# 參數(shù)
export server_ip='192.168.3.100'
export clinent_ip='192.168.3.101'
export path_nfs="/var/nfsshare"
# 安裝相關(guān)文件
yum install -y nfs-utils
mkdir -p ${path_nfs}
chmod -R 755 ${path_nfs}
chown nfsnobody:nfsnobody ${path_nfs}
# 設(shè)置開機(jī)啟動
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
# 配置客戶端
cat >/etc/exports <<EOF
/var/nfsshare ${clinent_ip}(rw,sync,no_root_squash,no_all_squash)
# /home ${clinent_ip}(rw,sync,no_root_squash,no_all_squash)
EOF
# 重啟埋泵,配置防火墻
systemctl restart nfs-server
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload
NFS 客戶端
#!/bin/bash
# 參數(shù)
export server_ip='192.168.3.100'
export path_nfs="/var/nfsshare"
# 安裝工具
yum install -y nfs-utils
# 掛載
# mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs${path_nfs}
# mount -t nfs ${server_ip}:/home /mnt/nfs/home/
mount -t nfs ${server_ip}:/var/nfsshare /mnt/nfs${path_nfs}
# 添加開機(jī)啟動
cat >/etc/fstab <<EOF
/var/nfsshare ${server_ip}(rw,sync,no_root_squash,no_all_squash)
# /home ${server_ip}(rw,sync,no_root_squash,no_all_squash)
EOF
結(jié)語
- 客戶端上查看掛載情況:
[root@localhost nfsshare]# df -kh
文件系統(tǒng) 容量 已用 可用 已用% 掛載點(diǎn)
/dev/mapper/centos-root 17G 1.1G 16G 7% /
devtmpfs 910M 0 910M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 8.4M 912M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 1014M 142M 873M 14% /boot
192.168.3.100:/var/nfsshare 17G 1.1G 16G 7% /mnt/nfs/var/nfsshare
tmpfs 184M 0 184M 0% /run/user/0
我們可以測試在客戶端
/mnt/nfs/var/nfsshare
目錄下新建幔欧,修改文件罪治,在服務(wù)器也能夠同步出現(xiàn)該文件。/etc/exports語法
#:允許ip地址范圍在192.168.0.*的計(jì)算機(jī)以讀寫的權(quán)限來訪問/home/work 目錄礁蔗。
/home/work 192.168.3.*(rw,sync,root_squash)
/home 192.168.3.120 (rw,sync)
/public * (rw,sync)
配置文件每行分為兩段:第一段為共享的目錄觉义,使用絕對路徑,第二段為客戶端地址及權(quán)限浴井。
地址可以使用完整IP或網(wǎng)段晒骇,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0當(dāng)然也可以地址可以使用主機(jī)名磺浙,DNS解析的和本地/etc/hosts解析的都行洪囤,支持通配符,例如:*.chengyongxu.com
權(quán)限有:
rw:read-write撕氧,可讀寫瘤缩; 注意,僅僅這里設(shè)置成讀寫客戶端還是不能正常寫入伦泥,還要正確地設(shè)置共享目錄的權(quán)限剥啤,參考問題7
ro:read-only,只讀不脯;
sync:文件同時寫入硬盤和內(nèi)存府怯;
async:文件暫存于內(nèi)存,而不是直接寫入內(nèi)存防楷;
no_root_squash:NFS客戶端連接服務(wù)端時如果使用的是root的話富腊,那么對服務(wù)端分享的目錄來說,也擁有root權(quán)限域帐。顯然開啟這項(xiàng)是不安全的。
root_squash:NFS客戶端連接服務(wù)端時如果使用的是root的話是整,那么對服務(wù)端分享的目錄來說肖揣,擁有匿名用戶權(quán)限,通常他將使用nobody或nfsnobody身份浮入;
all_squash:不論NFS客戶端連接服務(wù)端時使用什么用戶龙优,對服務(wù)端分享的目錄來說都是擁有匿名用戶權(quán)限;
anonuid:匿名用戶的UID值事秀,通常是nobody或nfsnobody彤断,可以在此處自行設(shè)定;
anongid:匿名用戶的GID值易迹。
- 卸妝目錄
umount -l 192.168.3.93:/var/nfsshare