Linux之nfs网络文件系统

nfs 概念

网络文件系统(NFS)是 Unix 系统和网络附加存储文件管理器常用的网络文件系统,允许多个客户端通过网络对共享文件访问和写入。
1、用于linux之间的共享
2、客户端使用挂载的方式查看共享资源
3、没有客户认证机制,且数据在网络上明文传输,一般只能在局域网中使用
4、在企业中用于web集群的后台存储

nfs 服务器配置

查看具体使用规则:man 5 exports
编辑:/etc/exports
目录名 192.168.0.0/24(ro,sync) #指定网关,只读挂载,sync是远程数据同步的意思
目录名 *.example.com(rw,sync) #指定主机名,可写挂载
目录名 192.168.0.1(rw,no_root_squash) #指定ip,当客户端挂载时仍然使用超级用户的身份执行
相关参数:
rw:挂载可谍写的文件系统
ro:挂载只读文件系统
vers=4尝试只使用指定的NFS版本进行挂载。如果服务器不支持该版本,则挂载请求失败
soft:如果NFS请求超时,三次尝试后返回错误。权衢数据完性与提高客户端响应性。(默认行为hard,特无限期地试)

实验:

准备三台主机一个服务端两个客户端

1、只读挂载

服务端:

[root@server ~]# yum install nfs-utils -y
[root@server ~]# systemctl start nfs
[root@server ~]# vim /etc/exports

文件内容如图:
这里写图片描述
文中的内容意为客户端对目录 mnt 是只读挂载

[root@server ~]# exportfs -rv   #刷新
exporting *:/mnt

客户端:

[root@client ~]# yum install nfs-utils -y   #下载nfs服务软件
[root@client ~]# showmount -e 172.25.254.196   #查看远程同步nfs共享的系统文件
Export list for 172.25.254.196:
/mnt *
[root@client ~]# mount 172.25.254.196:/mnt /mnt    #将共享目录挂载到mnt下
[root@client ~]# ls /mnt/
file1  file2  file3
[root@client ~]# rm -fr /mnt/file1   #对目录中的文件进行删除时提示只读
rm: cannot remove ‘/mnt/file1’: Read-only file system
[root@client ~]# umount /mnt
2、测试读写挂载

服务端:

[root@server ~]# vim /etc/exports

文件内容如下:
这里写图片描述
文中的内容意为客户端对目录 mnt 是读写挂载

[root@server ~]# exportfs -rv
exporting *:/mnt
[root@server ~]# ls -ld /mnt
drwxr-xr-x. 2 root root 42 Jun  5 08:52 /mnt
[root@server ~]# chmod 777 /mnt   #这里对目录修改权限是方便实验,实际操作时依照情况对各用户加权限

客户端:

[root@client ~]# mount 172.25.254.196:/mnt /mnt
[root@client ~]# touch /mnt/file4
[root@client ~]# ls /mnt/
file1  file2  file3  file4
[root@client ~]# umount /mnt

服务端:

[root@server ~]# ls -ld /mnt/file4   #这里查看到目录的所属用户及组都是匿名用户
-rw-r--r--. 1 nfsnobody nfsnobody 0 Jun  5 10:04 /mnt/file4
3、测试挂载时使用超级用户的身份执行的挂载

服务端:

[root@server ~]# vim /etc/exports

文件内容如下:
这里写图片描述

[root@server ~]# exportfs -rv
exporting *:/mnt

客户端:

[root@client ~]# mount 172.25.254.196:/mnt /mnt
[root@client ~]# touch /mnt/file5
[root@client ~]# umount /mnt

服务端:

[root@server ~]# ls -ld /mnt/file5  #查看到文件的所属组及用户为超级用户
-rw-r--r--. 1 root root 0 Jun  5 10:06 /mnt/file5
4、测试以指定用户身份执行的挂载

服务端:

[root@server ~]# vim /etc/exports

文件内容如下:
这里写图片描述

[root@server ~]# exportfs -rv
exporting *:/mnt
[root@server ~]# chmod 777 /mnt

客户端:

[root@client ~]# mount 172.25.254.196:/mnt /mnt
[root@client ~]# touch /mnt/file6
[root@client ~]# umount /mnt

服务端:

[root@server ~]# ls -ld /mnt/file6  #查看到文件的所属组及用户为配置文件中指定用户
-rw-r--r--. 1 student student 0 Jun  5 10:07 /mnt/file6
5、测试指定ip的挂载

服务端:

[root@server ~]# vim /etc/exports

文件内容如下:
这里写图片描述
文中的内容意 test 目录对 ip 为172.25.254.169的用户只读,对172.25.254.69的用户可读写

[root@server ~]# exportfs -rv
exporting 172.25.254.69:/test
exporting 172.25.254.169/24:/test
[root@server ~]# chmod 777 /test

客户端69:

[root@foundation69 Desktop]# mount 172.25.254.196:/test /mnt
[root@foundation69 Desktop]# rm -fr /mnt/*
[root@foundation69 Desktop]# ls /mnt/
[root@foundation69 Desktop]# touch /mnt/file
[root@foundation69 Desktop]# umount /mnt

客户端169:

[root@client ~]# mount 172.25.254.196:/test /mnt
[root@client ~]# rm -fr /mnt/*
rm: cannot remove ‘/mnt/file’: Read-only file system
[root@client ~]# umount /mnt

autofs 自动挂卸载

服务端:

[root@server ~]# systemctl start nfs   #开启服务
[root@server ~]# vim /etc/exports

文件内容如下:
这里写图片描述

[root@server ~]# exportfs -rv
exporting 172.25.254.69:/test
exporting 172.25.254.169/24:/test
[root@server ~]# chmod 777 /test

客户端:

[root@client ~]# yum install autofs   #下载软件
[root@client ~]# systemctl start autofs   #开启服务,会出现目录net
[root@client ~]# cd /net/172.25.254.196   #进入目录
[root@client 172.25.254.196]# ls  #可以查看到目录
test
[root@client 172.25.254.196]# cd test
[root@client test]# ls
file
[root@client test]# df   #显示自动挂载
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/vda1             10473900 3187212   7286688  31% /
devtmpfs                469344       0    469344   0% /dev
tmpfs                   484932      80    484852   1% /dev/shm
tmpfs                   484932   12772    472160   3% /run
tmpfs                   484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo      483670    2355    451824   1% /home
172.25.254.196:/test  10473984 3168256   7305728  31% /net/172.25.254.196/test
[root@client test]# cd  #退出目录
[root@client ~]# vim /etc/sysconfig/autofs   #修改自动卸载时间

文件内容如下:
这里写图片描述

[root@client ~]# systemctl restart autofs  #重启服务
[root@client ~]# df  #5秒后查看已经卸载
Filesystem         1K-blocks    Used Available Use% Mounted on
/dev/vda1           10473900 3187212   7286688  31% /
devtmpfs              469344       0    469344   0% /dev
tmpfs                 484932      80    484852   1% /dev/shm
tmpfs                 484932   12772    472160   3% /run
tmpfs                 484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo    483670    2355    451824   1% /home

autofs 自定义挂载点

[root@client ~]# cd /net/172.25.254.196
[root@client 172.25.254.196]# cd test
[root@client test]# df   #查看挂载点
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/vda1             10473900 3187212   7286688  31% /
devtmpfs                469344       0    469344   0% /dev
tmpfs                   484932      80    484852   1% /dev/shm
tmpfs                   484932   12772    472160   3% /run
tmpfs                   484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo      483670    2355    451824   1% /home
172.25.254.196:/test  10473984 3168256   7305728  31% /net/172.25.254.196/test
[root@client test]# vim /etc/auto.master   #编辑主策略文件

文件内容如下:
这里写图片描述
文中内容意思是最终挂载点的上层目录为 nfs

[root@client test]# vim /etc/auto.test   #子策略

文件内容如下:
这里写图片描述
文中内容:设备挂载点名称test ,-ro 只读挂载 ,172.25.254.196:/test 代表网络挂载参数

[root@client test]# systemctl restart autofs.service 
[root@client test]# cd /nfs/test
[root@client test]# df  #查看挂载点变成/nfs/test
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/vda1             10473900 3187220   7286680  31% /
devtmpfs                469344       0    469344   0% /dev
tmpfs                   484932      80    484852   1% /dev/shm
tmpfs                   484932   12772    472160   3% /run
tmpfs                   484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo      483670    2355    451824   1% /home
172.25.254.196:/test  10473984 3168256   7305728  31% /nfs/test
[root@client test]# cd
[root@client ~]# df  #退出后,自动卸载时间过后查看已经卸载
Filesystem         1K-blocks    Used Available Use% Mounted on
/dev/vda1           10473900 3188452   7285448  31% /
devtmpfs              469344       0    469344   0% /dev
tmpfs                 484932      80    484852   1% /dev/shm
tmpfs                 484932   12768    472164   3% /run
tmpfs                 484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo    483670    2355    451824   1% /home
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值