服务器挂载nfs共享存储盘

安装了nfs后,我们想一下,怎么在其他机器上挂载文件系统到nfs上。其实在nfs服务器上,也可以自己挂载自己。


改变nfs共享目录的用户和用户组:

将nfs目录设置为root用户权限,肯定会有安全问题,所以,我们需要对共享的目录,赋予一个特定的用户和用户组,可以通过下面的命令,将/root/nfs/设置为nfsnoboby用户。。

chown nfsnobody:nfsnobody -R /root/nfs/

nfs增加共享目录

增加共享目录需要编辑/etc/exports文件,如下:

$ vi /etc/exports

我的电脑上,改文件的内容如下:

/root/nfs   192.168.1.0/24(rw,sync,no_root_squash)
/nfsdata/pv001   192.168.1.0/24(rw,sync,no_root_squash)
/nfsdata/pv002   192.168.1.0/24(rw,sync,no_root_squash)
/nfsdata/pv003   192.168.1.0/24(rw,sync,no_root_squash)
/nfsdata/pv004   192.168.1.0/24(rw,sync,no_root_squash)
/nfsdata/pv005   192.168.1.0/24(rw,sync,no_root_squash)
/nfsdata/pv006   192.168.1.0/24(rw,sync,no_root_squash)
/nfsdata/pv007   192.168.1.0/24(rw,sync,no_root_squash)
/nfsdata/pv008   192.168.1.0/24(rw,sync,no_root_squash)

目录部分

上面代码中,第一部分是需要共享的目录,你可以指定本机上的目录,这个目录必须存在。 如:/nfsdata/pv001


IP部分

第二部分是权限的IP部分,表示哪个IP段的机器可以访问nfs文件系统。192.168.1.0/24表示只要ip前几位是192.168.1的机器,都可以访问。

当然,你可以写完成的ip,从而指定只有一台机器可以访问。 如:

/nfsdata/pv001   192.168.1.12(rw,sync,no_root_squash)

你还可以写*号,表示任何ip的机器都可以访问,如:

/nfsdata/pv001   *(rw,sync,no_root_squash)

为了实验方便,我们这里让任何ip都可以访问,如下:

/root/nfs   *(rw,sync,no_root_squash)
/nfsdata/pv001   *(rw,sync,no_root_squash)
/nfsdata/pv002   *(rw,sync,no_root_squash)
/nfsdata/pv003   *(rw,sync,no_root_squash)
/nfsdata/pv004   *(rw,sync,no_root_squash)
/nfsdata/pv005   *(rw,sync,no_root_squash)
/nfsdata/pv006   *(rw,sync,no_root_squash)
/nfsdata/pv007   *(rw,sync,no_root_squash)
/nfsdata/pv008   *(rw,sync,no_root_squash)

权限部分

最后一部分是权限部分,可以写如下的参数:

下面是常用的参数:

参数 解释
Ro 该主机对该共享目录有只读权限
Rw 该主机对该共享目录有读写权限
sync 数据同步写入硬盘。
async 不同步写在硬盘中,在内存中缓存,这样速度更快,但是在极端情况下可能丢失数据
no_root_squash 不压制root权限,用root登录nfs,身份就是root
root_squash 压制root权限 ,使用root登录nfs,身份自动切换为nfsnobody,nfsnobody是一个匿名用户

其他参数,不太常用,但值得大家仔细阅读一遍:

Exports文件中可以设定的参数主要有以下这些:

参数 解释
All_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
Anonuid 将客户机上的用户映射成指定的本地用户ID的用户
Anongid 将客户机上的用户映射成属于指定的本地用户组ID
Insecure 允许从这台机器过来的非授权访问
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送