NFS挂载的安装部署和一些记录

来源:互联网 发布:淘宝新店写给顾客的话 编辑:程序博客网 时间:2024/06/04 20:04
NFS的基本概念:
块大小
mount命令的
  risize和wsize指定了server端和client端的传输的块大小。
如果没有指定,那么,系统根据nfs的版本来设置缺省的risize和wsize大小。大多数情况是4K(4096bytes),
对于nfs v2,最大是8K,
对于nfs v3,在server端设置risize和wsize的限制,
  最大块大小在kernel的常量 NFSSVC_MAXBLKSIZE,
  该常量在usr/src/linux2.4/include/linux/nfsd/const.h.
  所有的2.4 的client都支持最大32K的传输块。

测试时文件 /testfs/testfile 的大小至少是系统RAM的两倍,
每次测试都使用umount 和mount对/testfs进行挂载,
通过比较不同的块大小,得到优化的块大小。

nfs挂载的优化参数  
  timeo:如果超时,客户端等待的时间,以十分之一秒计算。
  retrans:超时尝试的次数。
 bg:后台挂载,很有用
 hard:如果server端没有响应,那么客户端一直尝试挂载。
 wsize:写块大小
 rsize:读块大小
 intr:可以中断不成功的挂载
 noatime:不更新文件的inode访问时间,可以提高速度。
 async:异步读写。

NFS的部署:

首先在两台服务器上确保用户组一致,如果不一致的话,需要修改用户id和组id,不然会重叠。

实验目标:将192.168.4.12 /data 挂载到 192.168.4.11 /data/nfsbak

1:查看nfs程序是否安装
[root@hadoop000 data]# rpm -qa |grep nfs 查看nfs是否安装
nfs-utils-1.2.3-39.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64
nfs-utils-lib-1.1.5-6.el6.x86_64

[root@hadoop000 data]# rpm -qa |grep rpcbind 查看RPC是否安装
rpcbind-0.2.0-11.el6.x86_64
rpcbind-0.2.0-11.el6.i686

2:启动服务并设为开机启动
[root@hadoop000 data]# service nfs start
[root@hadoop000 data]# service rpcbind start
[root@hadoop000 data]# chkconfig rpcbind on
[root@hadoop000 data]# chkconfig nfs on

3:备份nfs配置文件
[root@hadoop000 data]# cp /etc/exports /etc/exports.bak

4:编辑配置文件实现需求1,2要求
[root@hadoop000 data]# vim /etc/exports
[root@hadoop000 data]# cat /etc/exports
/root 192.168.4.11(insecure,rw,sync,no_root_squash)
/data 192.168.4.11(insecure,rw,async)

5:重启服务
[root@hadoop000 data]# service nfs restart
[root@hadoop000 data]# service rpcbind restart

6:服务器端设置/usr/src本地写权限
[root@hadoop000 data]# chmod o+w /data/

7:客户机测试
[root@client ~]# mkdir -p /data/orabak
[root@client ~]# mount 192.168.4.12:/data /data/orabak/
[root@client ~]# mount |tail -1

写速度测试方法:

time dd if=/dev/zero of=/data/nfsbak/nfs_test.flv bs=1M count=1024


第一种挂载方式(一般这两种就够了)
[root@dg1 ~]# mount -t nfs  -o nolock,rsize=32768,wsize=32768,timeo=15 192.168.4.12:/data /data/nfsbak/
[root@dg1 ~]# time dd if=/dev/zero of=/data/nfsbak/nfs_test.flv bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 21.3745 s, 50.2 MB/s

第二种挂载方式(一般这两种就够了)
[root@dg1 ~]# mount 192.168.4.12:/data /data/nfsbak/ -o rsize=32768,wsize=32768,timeo=14,intr
[root@dg1 ~]# time dd if=/dev/zero of=/data/nfsbak/nfs_test.flv bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 19.1536 s, 56.1 MB/s

大概50M每秒。

在nfs上查看是这个用户【只有root会这样,其他用户正常,rman备份可以直接备份到NFS上,但是不太稳定】,需要再研究
[root@hadoop000 data]# ll
total 1048580
-rw-r--r--. 1 nfsnobody nfsnobody 1073741824 Sep 16 02:18 nfs_test.flv
[oracle@dg1 nfsbak]$ touch 2 
-rw-r--r--. 1 oracle    dba                0 Sep 16  2017 2