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