服务器挂载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以上的端口发送 |