NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过网络共享资源。
网络文件系统NFS时Unix系统和网络附加存储文件管理器常用的网络文件系统,允许多个用户端通过网络共享文件访问。它可用于对共享二进制目录的访问,也可以用于允用户在同一工作组客户端访问其文件。
NFSv4比NFSV3多提供了更安全的身份验证的支持,甚至可以通过kerberos进行加密。
实验环境
centos6.8_x64
nfs_server 192.168.10.13 nfs+rpcbind
nfs_slave 192.168.10.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.10.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.10.0/24:/home/backup
showmount -e 192.168.10.13
Export list for 192.168.10.13:
/home/backup 192.168.0.0/24
mount -t nfs 192.168.10.13:/home/backup/ /data
cp -pv /etc/rc.d/rc.local /etc/rc.d/rc.local.bak
echo mount -t nfs 192.168.10.13:/home/backup/ /data >> /etc/rc.d/rc.local
cat /etc/rc.d/rc.local
mount -t nfs 192.168.10.13:/home/backup/ /data
df -Th
192.168.10.13:/home/backup/ nfs 58G 1.4G 54G 3% /data 查看磁盘挂载次操作只限于临时挂载
cp -pv /etc/fstab /etc/fstab.bak 设置永久挂载
cat /etc/fstab
192.168.10.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.10.13
Export list for 192.168.10.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.10.13:/home/backup/ /data >> /etc/rc.d/rc.local
df -Th
192.168.10.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