linux服务-nfs网络文件系统

1.安装nfs,需安装rpcbind(远程过程调用)

[root@xuegod63 ~]# yum -y install rpcbind nfs-utils

 

配置文件位置

[root@xuegod63 ~]# ls /etc/exports

/etc/exports

 

2.启动NFS服务

[root@xuegod63 ~]# systemctl start rpcbind

[root@xuegod63 ~]# systemctl start nfs-server.service

nfs使用2049端口:

[root@xuegod63 ~]# netstat -antpu | grep 2049

tcp        0      0 0.0.0.0:2049                0.0.0.0:*                   LISTEN      -

tcp        0      0 :::2049                     :::*                        LISTEN     +

配置开机自动启动

[root@xuegod63 ~]# chkconfig nfs-server on

 

3.修改配置文件,实战举例

[root@xuegod63 ~]# vim /etc/exports

/media  *(rw)

注意: * 表示对所有网段开放权限

也可以指定特定的网段

 

重启服务

[root@xuegod63 ~]# exportfs -rv   ##重新读取配置文件,不中断服务.

 

客户端查看:

[root@xuegod64 ~]# showmount -e 192.168.0.63

Export list for 192.168.0.63:

/media *

 

挂载共享

[root@xuegod64 ~]# mount -t nfs 192.168.0.63:/media/ /opt/

[root@xuegod64 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2             9.7G  4.0G  5.2G  44% /

tmpfs                 996M   80K  996M   1% /dev/shm

/dev/sda1             485M   39M  421M   9% /boot

/dev/sr0              3.7G  3.7G     0 100% /mnt

192.168.0.63:/media/  9.7G  4.0G  5.3G  43% /opt

 

开机自动挂载

编辑 [root@xuegod63 ~]# vim /etc/fstab

在文件最后添加自动挂载的信息:

 

nfs默认使用nfsnobody用户,所以修改共享目录权限:

[root@xuegod63 ~]# grep nfs /etc/passwd

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

 

修改权限

[root@xuegod63 ~]# chmod 777 -R /media/

[root@xuegod63 ~]# chown nfsnobody.nfsnobody -R /media/

 

 

 

4.下面是一些NFS共享的常用参数: 


 ro                    只读访问 
 rw                   读写访问 
 sync               资料同步写入到内存与硬盘当中
 async             资料会先暂存于内存当中,而非直接写入硬盘 

 secure             NFS通过1024以下的安全TCP/IP端口发送 
 insecure          NFS通过1024以上的端口发送 
 wdelay            如果多个用户要写入NFS目录,则归组写入(默认) 
 no_wdelay      如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 
 Hide                在NFS共享目录中不共享其子目录 
 no_hide           共享NFS目录的子目录 
 subtree_check   如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) 
 no_subtree_check   和上面相对,不检查父目录权限 
 all_squash               共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 
 no_all_squash         保留共享文件的UID和GID(默认) 
 root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认) 
 no_root_squash        root用户具有根目录的完全管理访问权限 

 

 [root@xue63 a]# cat /etc/exports

/tmp/a/no_root_squash      *(rw,no_root_squash)

/tmp/a/sync               192.168.0.0/24(rw,sync)

/tmp/a/ro                  192.168.1.64(ro)

/tmp/a/all_squash             192.168.0.0/24(rw,all_squash,anonuid=500,anongid=500)

/tmp/a/async                    192.168.3.0/255.255.255.0(async)

/tmp/a/rw          192.168.3.0/255.255.255.0(rw)    192.168.4.0/255.255.255.0(rw)

/tmp/a/root_squash   *(rw,root_squash)    

 

注意:在发布共享目录的格式中除了共享目录是必跟参数外,其他参数都是可选的。并且共享

目录与客户端之间及客户端与客户端之间需要使用空格符号,但是客户端与参数之间是不能有

空格的

 

 

5.NFS客户端挂载参数的优化:

 

NFS高并发环境下的服务端重要优化(mount -o 参数)

 

async 异步同步,此参数会提高I/O性能,但会降低数据安全(除非对性能要求很高,对数据可靠性不要求的场合。一般生产环境,不推荐使用)

 

noatime 取消更新文件系统上的inode访问时间,提升I/O性能,优化I/O目的,推荐使用。

 

nodiratime 取消更新文件系统上的directory inode访问时间,高并发环境,推荐显式应用该选项,提高系统性能

 

intr:可以中断不成功的挂载

 

rsize/wsize 读取(rsize)/写入(wsize)的区块大小(block size),这个设置值可以影响客户端与服

务端传输数据的缓冲存储量。一般来说,如果在局域网内,并且客户端与服务端都具有足够的内存,这个

值可以设置大一点,比如说32768(bytes),提升缓冲区块将可提升NFS文件系统的传输能力。但设置的值也不要太大,最好是实现网络能够传输的最大值为限。

 

内核优化:

 

net.core.wmem_default = 8388608     #内核默认读缓存

net.core.rmem_default = 8388608      #内核默认写缓存

net.core.rmem_max = 16777216        #内核最大读缓存

net.core.wmem_max = 16777216    #内核最大写缓存

 

 

用法:

mount -t nfs -o noatime,nodiratime,rsize=131072,wsize=131072,intr 192.168.0.63:/backup/NFS  /mnt

 

或者写到挂载文件里:

192.168.0.63:/backup/NFS /mnt nfs       noatime,nodiratime,rsize=131072,wsize=131072,intr 0 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值