NFS服务器搭建与autofs自动挂载

NFS服务器搭建与autofs自动挂载

一、手动挂载 (mount -t nfs 服务端IP:/共享目录 /本地挂载点)

客户端

安装nfs:

[root@localhost ~]# yum install nfs* portmap -y
[root@localhost ~]# rpm -qa nfs*
nfs-utils-lib-1.1.5-11.el6.x86_64
nfs4-acl-tools-0.3.3-8.el6.x86_64
nfs-utils-lib-devel-1.1.5-11.el6.x86_64
nfs-utils-1.2.3-70.el6_8.1.x86_64
[root@localhost ~]# rpm -qa rpcbind
rpcbind-0.2.0-12.el6.x86_64

启动rpc服务和nfs:

[root@localhost ~]# /etc/init.d/nfs restart
[root@localhost ~]# /etc/init.d/nfs restart

查看rpc服务注册情况:

[root@localhost ~]# rpcinfo -p 192.168.190.138
 program vers proto   port  service
100000    4   tcp    111  portmapper   (rpc服务默认端口:111)
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp  44957  status
100024    1   tcp  53988  status
100011    1   udp    875  rquotad
100011    2   udp    875  rquotad
100011    1   tcp    875  rquotad
100011    2   tcp    875  rquotad
100005    1   udp  53978  mountd
100005    1   tcp  57642  mountd
100005    2   udp  47255  mountd
100005    2   tcp  54213  mountd
100005    3   udp  55342  mountd
100005    3   tcp  43895  mountd
100003    2   tcp   2049  nfs  (nfs服务器默认端口:2049)
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100227    2   tcp   2049  nfs_acl
100227    3   tcp   2049  nfs_acl
100003    2   udp   2049  nfs
100003    3   udp   2049  nfs
100003    4   udp   2049  nfs
100227    2   udp   2049  nfs_acl
100227    3   udp   2049  nfs_acl
100021    1   udp  42653  nlockmgr
100021    3   udp  42653  nlockmgr
100021    4   udp  42653  nlockmgr
100021    1   tcp  57709  nlockmgr
100021    3   tcp  57709  nlockmgr
100021    4   tcp  57709  nlockmgr

编辑nfs主配置文件

[root@localhost ~]# vim /etc/exports (第一次使用nfs服务需手动创建)
/home/share *(rw,no_root_squash,sync)

【共享目录】 【主机名称,*是匹配所有】 【权限控制】
主机名称: 可使用IP、主机名或网段 192.168.0.1/24等同于192.168.0.1/255.255.255.0
权限控制: rw (可读写, ro(只读) sync(数据同步写入硬盘) async(暂存于内存,后写入硬盘)
no_root_squash (root权限) root_squash(默认root权限会变成nfsnobody权限)
all_squash(默认所有用户均匿名nofsnobody权限) anonuid(设置UID) anongid(设置GID)

创建本地共享目录

[root@localhost ~]# mkdir /home/share  # 创建共享目录
[root@localhost ~]# ll /home/share
total 0

重新加载配置文件使其生效

[root@localhost ~]# exportfs -arv
exporting *:/home/share

此步骤等同于 重启nfs服务 service nfs restart

关闭防火墙或者开启相应的端口,否则客服端无法连接

[root@localhost ~]# service iptables stop

至此, Server端 配置结束
客户端

确定启动rpcbind和nfs服务

[root@localhost ~]# yum install nfs* -y
[root@localhost ~]# rpm -qa rpcbind
rpcbind-0.2.0-8.el6.i686
[root@localhost ~]# rpm -qa nfs*
nfs4-acl-tools-0.3.3-8.el6.i686
nfs-utils-lib-1.1.5-11.el6.i686
nfs-utils-lib-devel-1.1.5-11.el6.i686
nfs-utils-1.2.3-70.el6_8.1.i686
[root@localhost ~]# service rpcbind restart
[root@localhost ~]# service nfs restart
[root@localhost ~]# service nfs restart

查看NFS联机状态

[root@localhost ~]# showmount -e 192.168.190.138
Export list for 192.168.190.138:
/home/share *

创建挂载点

[root@localhost ~]# mkdir /bak

使用mount命令挂载使用

[root@localhost ~]# mount 192.168.190.138:/home/share /bak

测试

客户端

[root@localhost ~]# cd /bak
[root@localhost bak]# mkdir l
[root@localhost bak]# touch 123
[root@localhost bak]# ll
total 4
-rw-r--r--. 1 root root    0 Sep 30 15:20 123
drwxr-xr-x. 2 root root 4096 Sep 30 15:20 l

创建目录默认权限:755
创建文件默认权限:644
服务端

[root@localhost ~]# cd /home/share
[root@localhost share]# ll
total 4
-rw-r--r--. 1 root root    0 Sep 30 15:20 123
drwxr-xr-x. 2 root root 4096 Sep 30 15:20 l

使用autofs自动挂载,默认5分钟取消挂载 (/etc/auto.master、 /etc/auto.misc)

服务端:创建共享目录

[root@localhost ~]# mkdir /user
[root@localhost ~]# vim /etc/exports
/user *(rw,no_root_squash,sync)
[root@localhost user]# exportfs -arv
exporting *:/user
exporting *:/home/share

客户端:创建挂载点

[root@localhost ~]# mkdir /var/autofs
[root@localhost ~]# yum install autofs -y

编辑 auto.master (主要是控制作用,指定默认目录及对应文件)

[root@localhost ~]# vim /etc/auto.master
/var/autofs /etc/auto.misc
[root@localhost ~]# cat /etc/auto.master | grep -v '#'
/misc	/etc/auto.misc
/var/autofs /etc/auto.misc
/net	-hosts
+auto.master

编辑 auto.misc (主要是定义挂载点及指定下一级目录,该目录可以不存在)

[root@localhost ~]# vim /etc/auto.misc
test -rw,soft,intr 192.168.190.138:/user

注意:这里test 是下级目录,千万不要画蛇添足的加/ ,否则自动挂载不成功!!

[root@localhost ~]# cat /etc/auto.misc | grep -v '#'
cd		-fstype=iso9660,ro,nosuid,nodev	:/dev/cdrom
test -rw,soft,intr 192.168.190.138:/user

重启autofs服务:

[root@localhost ~]# /etc/init.d/autofs restart

测试

[root@localhost autofs]# cd /var/autofs/test
[root@localhost test]# ls 
mount
[root@localhost test]# touch 123

服务器端

[root@localhost ~]# cd /user/
[root@localhost user]# ll
total 4
-rw-r--r--. 1 root root    0 Sep 30 15:57 123
drwxr-xr-x. 2 root root 4096 Sep 30 15:36 mount

autofs 服务 默认300s (5min) 会自动取消挂载 可参考文件 /etc/sysconfig/autofs 设置

[root@localhost ~]# cat /etc/sysconfig/autofs | grep 'TIMEOUT' | grep -v '#'
TIMEOUT=300

三、 开机自动挂载,永久生效 (修改/etc/fstab)

开机自动挂载nfs服务 修改/etc/fstab 即可

总结

客户端使用NFS服务,可以有3种方法挂载:

  1. 手动挂载 (mount -t nfs 服务端IP:/共享目录 /本地挂载点)
  2. 使用自动挂载,默认5分钟取消挂载 (/etc/auto.master、 /etc/auto.misc)
  3. 开机自动挂载,永久生效 (修改/etc/fstab)

你可能感兴趣的:(NFS服务器搭建与autofs自动挂载)