码迷,mamicode.com
首页 > 其他好文 > 详细

NFS文件系统挂载与优化

时间:2016-09-07 11:07:29      阅读:1297      评论:0      收藏:0      [点我收藏+]

标签:nfs 优化

NFSNetwork File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

1、         安装NFS

1.1  安装服务器软件

[root@fileserver ~]yum install –y nfs-utilsrpcbind
[root@fileserver ~]chkconfig nfs on
[root@fileserver ~]chkconfig rpcbind on
[root@fileserver ~]# chkconfig --list |egrep"nfs|rpcbind"
nfs                    0:off1:off2:on3:on4:on5:on6:off
nfslock        0:off1:off2:off3:on4:on5:on6:off
rpcbind                 0:off1:off2:on3:on4:on5:on6:off


2、         服务端配置

2.1  服务端配置文件详解

服务端配置文件为/etc/exports,格式如下:

/www/appData/upload/172.16.11.0/24(rw,async,all_squash)

/www/appData/upload/为本地要发布的目录,172.16.11.0/24为将此NFS目录发布给指定范围内的主机,支持单个主机、网络用户组@group,通配符*,?等、IP网络,本例中就是使用的IP网络

括号内的参数说明如下所示(可以使用manexports查看帮助)

ro:共享目录只读;
rw:共享目录可读可写;
all_squash:所有访问用户都映射为匿名用户或用户组;
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
root_squash(默认):将来访的root用户映射为匿名用户或用户组;
no_root_squash:来访的root用户保持root帐号权限;
anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;


2.2  创建挂载目录

mkdir –p /www/appData/upload
chownnfsnobody:nfsnobody /www/appData/upload

2.3  启动nfs服务

[root@fileserver ~]#/etc/init.d/rpcbind start
[root@fileserver ~]#/etc/init.d/nfs start

查看nfs发布情况

[root@fileserver ~]#exportfs -v
/www/appData/upload
              172.16.11.0/24(rw,async,wdelay,root_squash,all_squash,no_subtree_check,sec=sys,rw,root_squash,all_squash)
[root@fileserver ~]#showmount -e 172.16.11.15
Export list for172.16.11.15:
/www/appData/upload172.16.11.0/24

exportfs –r可以在不重启nfs服务的情况下重读配置文件

本地查看无误后可以转到客户端配置

3、         客户端配置

3.1  客户端环境配置

nfsrpcbind加入开机自启动

chkconfig nfs on
chkconfig rpcbind on

启动rpcbindnfs

/etc/init.d/rpcbindstart
/etc/init.d/nfs start

查看fileserver端的NFS文件情况

# showmount -e172.16.11.15
Export list for172.16.11.15:
/www/appData/upload172.16.11.0/24

挂载参数介绍(可以使用man 8 mount查看帮助)

ro 以只读模式加载。
rw 以可读写模式加载。
sync 以同步方式执行文件系统的输入输出动作。
async 以非同步的方式执行文件系统的输入输出动作。
defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async。
atime 每次存取都更新inode的存取时间,默认设置,取消选项为noatime。
noatime 每次存取时不更新inode的存取时间。
dev 可读文件系统上的字符或块设备,取消选项为nodev。
nodev 不读文件系统上的字符或块设备。
exec 可执行二进制文件,取消选项为noexec。
noexec 无法执行二进制文件。
auto 必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。
noauto 无法使用-a参数来加载。
suid 启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。
nosuid 关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。
user 普通用户可以执行加载操作。
nouser 普通用户无法执行加载操作,默认设置。
remount 重新加载设备。通常用于改变设备的设置状态。
rsize 读取数据缓冲大小,默认设置1048576(rhel6.6)。
wsize 写入数据缓冲大小,默认设置1048576(rhel6.6)。
fg 以前台形式执行挂载操作,默认设置。在挂载失败时会影响正常操作响应。
bg 以后台形式执行挂载操作。
hard 硬式挂载,默认设置。如果与服务器通讯失败,让试图访问它的操作被阻塞,直到服务器恢复为止。
soft 软式挂载。如果服务器通讯失败,让试图访问它的操作失败,返回一条出错消息。这项功能对于避免进程“挂”在无关紧要的安装操作上来说非常有用。
retrans=n 指定在以软方式安装的文件系统上,在返回一条出错消息之前重复发出请求的次数。
nointr 不允许用户中断,默认设置。
intr 允许用户中断被阻塞的操作(并且让它们返回一条出错消息)。
timeo=n 设置请求的超时时间(以十分之一秒为单位)。


命令提示符中挂载:

# mount -t nfs -onoexec,nosuid,nodev,noatime 172.16.11.15:/www/appData/upload /www/appData/upload/
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             243G  4.8G 226G   3% /
tmpfs                 101G     0 101G   0% /dev/shm
/dev/sda1             772M   32M 700M   5% /boot
172.16.11.15:/www/appData/upload
                      2.7T  5.8G 2.6T   1% /www/appData/upload

写入/etc/fstab使其开机自动生效

172.16.11.15:/www/appData/upload         /www/appData/upload nfs  noatime,nosuid,noexec,nodev        0 0

挂载测试

# umount/www/appData/upload/
# mount -a
# df -h
Filesystem            Size Used Avail Use% Mounted on
/dev/sda3             243G  4.8G 226G   3% /
tmpfs                 101G     0 101G   0% /dev/shm
/dev/sda1             772M   32M 700M   5% /boot
172.16.11.15:/www/appData/upload
                      2.7T  5.8G 2.6T   1% /www/appData/upload

3.2  查看挂载状态和参数

# cat/proc/mounts|grep upload
172.16.11.15:/www/appData/upload/www/appData/upload nfs4rw,nosuid,nodev,noexec,noatime,vers=4,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.16.11.10,minorversion=0,local_lock=none,addr=172.16.11.150 0

使用rpcinfo查看rpc信息

使用nfsstat查看nfs的状态

#nfsstat -l
nfs v4 client        total:  110127
-------------------------- --------
nfs v4 client        write:        1
nfs v4 client         open:    55000
nfs v4 client    open_conf:        3
nfs v4 client        close:   55000
nfs v4 client      setattr:        2
nfs v4 client       fsinfo:        9
nfs v4 client        renew:       25
nfs v4 client    setclntid:        2
nfs v4 client      confirm:        2
nfs v4 client       access:       17
nfs v4 client      getattr:       20
nfs v4 client       lookup:       13
nfs v4 client  lookup_root:        3
nfs v4 client       remove:        1
nfs v4 client     pathconf:        6
nfs v4 client       statfs:        4
nfs v4 client      readdir:        4
nfs v4 client  server_caps:       15

使用-o选项查看网络状态

nfsstat –o net

3.3  NFS挂载优化

noexec:不允许执行二进制文件
nodev:不读文件系统上的字符或块设备
nosuid:关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位
noatime:每次存取时不更新inode的存取时间


优化内核参数:/etc/sysctl.conf

cat >>/etc/sysctl.conf<<EOF
net.core.rmem_default=8838608
net.core.wmem_default=262144
net.core.rmem_max=16777216
net.core.wmem_max=1048576
EOF

3.4  性能测试

读取文件速度测试

# ll -h/www/appData/upload/services
-rw-r--r-- 1nfsnobody nfsnobody 626K 9月   6 14:53 /www/appData/upload/services
cp /etc/services/www/appData/upload
# time for((i=1;i<500;i++));do cat /www/appData/upload/services >/dev/null;done
real        0m1.562s
user       0m0.227s
sys         0m0.654s

写入文件测试

[root@wcweb01upload]# time dd if=/dev/zero of=/www/appData/upload/testbigfile bs=1Mcount=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,10.1055 秒,104 MB/秒
real        0m10.109s
user       0m0.002s
sys         0m1.599s


本文出自 “sunny” 博客,请务必保留此出处http://francis198.blog.51cto.com/720670/1847103

NFS文件系统挂载与优化

标签:nfs 优化

原文地址:http://francis198.blog.51cto.com/720670/1847103

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!