Linux NFS | Export解析

wei_shuo 发表于 2022/11/15 09:23:03 2022/11/15
【摘要】 Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:Unix操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络

NFS (网络文件系统)

NFS -------Network File System 网络文件系统

功能

unix/linux和linux之间文件共享

优缺点:

优点:是局域网共享中速度最快的

缺点:不支持跨平台

什么是网络文件系统?

网络文件系统是一种将远程主机上的目录经过网络挂载到客户端本地系统的一种机制。

Linux 安装 NFS

yum install nfs-utils rpcbind -y
服务端
服务端配置要共享的资源
例:服务器共享/test目录,将/dev/sdb1分区挂载在此目录 
[root@nfs-server ~]# parted /dev/sdb mklabel gpt
[root@nfs-server ~]# parted /dev/sdb mkpart primary 1 3G 
[root@nfs-server ~]# ll /dev/sd
sda sda1 sda2 sdb sdb1
[root@nfs-server ~]# mkfs.xfs /dev/sdb1
[root@nfs-server ~]# mkdir /test
[root@nfs-server ~]# vim /etc/fstab 
/dev/sdb1 /test xfs defaults 0 0
[root@nfs-server ~]# mount -a
[root@nfs-server ~]# cd /test
[root@nfs-server test]# echo "nfs test" > test.txt
配置共享/test目录
[root@nfs-server ~]# vim /etc/exports
# man 5 exports
共享资源 共享给谁(共享的属性)
/test 192.168.1.251(rw)

chmod o+w /test     给共享资源/test设置读写权限
重启服务
[root@nfs-server ~]# systemctl restart nfs-server
[root@nfs-server ~]# systemctl reload nfs-server //修改配置文件重新读取 当nfs服务已经启动,可能客户端正在使用,不适合用restart
[root@nfs-server ~]# systemctl start rpcbind
查看共享资源
[root@nfs-server ~]# showmount -e 192.168.1.252
Export list for 192.168.1.252:
/test 192.168.1.251
客户端
查看共享资源
[root@client ~]# showmount -e 192.168.1.252
Export list for 192.168.1.252:
/test 192.168.1.251
挂载

语法:mount.nfs 服务器地址:服务器共享的目录 本地的挂载点

[root@client ~]# mount.nfs 192.168.1.252:/test /opt
[root@client ~]# vim /etc/fstab
192.168.1.252:/test /opt nfs defaults 0 0
查看是否挂载
[root@client ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/cl-root 17G 3.5G 14G 21% /
devtmpfs 473M 0 473M 0% /dev
tmpfs 489M 144K 489M 1% /dev/shm
tmpfs 489M 7.0M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 155M 860M 16% /boot
tmpfs 98M 16K 98M 1% /run/user/0
/dev/sr0 4.1G 4.1G 0 100% /run/media/root/CentOS 7 x86_64
192.168.1.252:/test 2.8G 33M 2.8G 2% /opt
测试
[root@client ~]# cd /opt
[root@client opt]# ls
[root@client opt]# mkdir a
mkdir: 无法创建目录"a": 只读文件系统
[root@client opt]# cat test.txt 
nfs test

vim /etc/exports

共享资源 共享给谁(共享的属性)

man 5 exports

共享资源:服务器的目录
共享给谁:多个主机 之间有空格隔开
192.168.1.251 某台主机
192.168.1.0/24
192.168.1.0/255.255.255.0
today.yuming.com 主机名
*.yuming.com 匹配yuming.com的所有主机

  • 表示任意

共享的属性:文件系统的属性
ro 只读
rw 可读写
async 异步
sync 同步
secure 小于1024端口连接
insecure 大于1024端口连接
root_squash 把客户端使用root操作的文件的uid和gid映射为匿名用户(nfsnobody)
no_root_squash 不映射,以管理员root身份操作
all_squash 把所有用户创建文件的uid和gid都映射为匿名用户 (nfsnobody)
anonuid=uid 设置匿名用户的UID
anongid=gid 设置匿名用户的GID

例如:
/pub *(ro,insecure,all_squash)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100) 将所有用户映射为匿名用户,设置匿名用户的UID=150,GID=100

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。