自动挂载技术:
如果想实现客户端开机自动挂载nfs文件系统,可以进行相应的设置,无需手工执行挂载命令。
一、在/etc/fstab文件中,追加nfs文件系统的挂载信息,如下:
192.168.0.187:/data/lutixia /mnt/nfs nfs defaults,_netdev 0 0
_netdev 防止客户端在网络就绪之前开始挂载文件系统
如果服务端的nfs正常,这时客户端会开机自动挂载。
如果服务端nfs关闭了,这时客户端虽然能正常开机,但是会变得异常缓慢,而且不会挂载此文件系统。
二、把挂载命令写入/etc/rc.local文件中实现开机挂载,但是要保证/etc/rc.d/rc.local,这个文件有可执行权限:
mount -t nfs -o soft,,timeo=10 192.168.0.187:/data/lutixia /mnt/nfs
soft 软挂载,当超过我们配置的时间,则会返回错误,不会一直阻塞,推荐这种挂载方式,默认是硬挂载,服务端挂载会一直阻塞。
timeo 指定客户端去连接服务端的时长(单位为 0.1 秒),不要设置太长了。
授权:
chmod +x /etc/rc.d/rc.local
ps:但是不管是以上那种方式,如果服务端出现异常,客户端的开机会异常缓慢,因为客户端一直在尝试挂载,所以以上两种方式并不是很可取!
三、自动挂载软件
自动挂载软件是触发式的,进入到指定挂载目录,自动实现挂载。
1、在客户端安装autofs软件包, 一般已经安装好了,如果没有执行以下命令:
yum install autofs -y
2、编辑/etc/auto.master
vim /etc/auto.master
/mnt/nfs /etc/nfs.misc
/mnt/nfs 是总的访问目录(客户端的目录)
/etc/nfs.misc 是对总访问目录的描述,可用于编辑子目录,实现用户或者目录权限分离
3、编辑/etc/nfs.misc
vim /etc/nfs.misc
xiaoming -fstype=nfs,ro,sync 192.168.0.187:/data/lutixia
xiaowang -fstype=nfs,rw,sync 192.168.0.187:/data/lutixia
解释:
xiaoming/xiaowang 是/mnt/nfs目录下的子目录,不用提前创建好
一旦进入到xiaoming目录,会自动挂载,并且对服务端的文件只有可读权限;
一旦进入到xiaowang目录,会自动挂载,但是对服务器的文件有可读可写权限。
ps:这里要注意/data/lutixia是nfs服务器的共享的目录,但是是在客户端编辑。
4、启动autofs服务
systemctl start autofs
5、登录到目录访问,便可实现自动挂载
[root@localhost ~]# cd /mnt/nfs
#进入到挂载目录,什么都没有
[root@localhost nfs]# ls
[root@localhost nfs]#
[root@localhost nfs]#
#但是我们却可以进入到“没有的目录”:
[root@localhost nfs]# cd xiaoming
#可以看到已经实现了挂载
[root@localhost xiaoming]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 20G 2.0G 18G 11% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.7M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 297M 108M 190M 37% /boot
tmpfs 99M 0 99M 0% /run/user/0
192.168.0.187:/data/lutixia 20G 5.2G 15G 27% /mnt/nfs/xiaoming
但是此时,我们是无法写文件的,即使我们进入到有写权限的目录:
#abc目录的其他用户权限是可写的
[root@localhost xiaoming]# ll
total 0
drwxr-xrwx 2 root root 6 Aug 14 23:07 abc
[root@localhost xiaoming]# cd abc/
#但是我们还是无法创建文件
[root@localhost abc]# touch xiaoming.txt
touch: cannot touch ‘xiaoming.txt’: Read-only file system
#因为通过xiaoming目录挂载,是只读的
切换到xiaowang目录:
[root@localhost xiaowang]# ll
total 0
drwxr-xrwx 2 root root 6 Aug 14 23:07 abc
[root@localhost xiaowang]# cd abc/
#可以创建新文件
[root@localhost abc]# touch xiaowang.txt
[root@localhost abc]# ll
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Aug 14 23:16 xiaowang.txt
#通过xiaowang目录挂载,是可读可写。这些权限,就是在上面的nfs.misc文件中设置的
NFS常用命令:
服务端和客户端均可使用:
nfsstat :
-m, --mounts 显示已经挂载的nfs文件系统的详细参数/客户端使用
-c, --client 显示NFS客户端的统计信息/客户端使用
-s, --server 显示NFS服务器端的统计信息/服务端使用
-2 显示nfsv2的统计信息
-3 显示nfsv3的统计信息
-4 显示nfsv4的统计信息
-o [facility] 显示指定类型的统计信息
nfs NFS协议信息
rpc 一般RPC信息
net 网络统计信息
all 显示以上所有信息
主要用于服务端:
rpcinfo :
-p 显示注册的端口
-m 显示 rpcbind 操作的统计信息表
-s 显示所有已注册的 RPC 程序的简明列表
-T 显示有关使用特定传输或协议的服务的信息
-t 探测使用 TCP 的 RPC 程序
-u 探测使用 UDP 的 RPC 程序
自动挂载就先说到这,我们来考虑另外一个问题,在企业中如果保障nfs服务器的可用性呢?也就是说如何保障nfs服务端不宕机?如果服务端宕机了,那么客户端就没法使用共享文件了,这时很严重的问题。那么,我们就需要做备份服务器了,这就是涉及到了nfs的高可用,我们后面慢慢聊。
获取文章更新,以及常用软件,可以关注公众号: 笨办法学linux