电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

28-1NFS文件系统企业级优化实战

17页
  • 卖家[上传人]:南方****远方
  • 文档编号:317869690
  • 上传时间:2022-06-26
  • 文档格式:DOCX
  • 文档大小:32.90KB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • NFS文件系统企业级优化实战一、 NFS客户端mount挂载优化在企业生产环境中,NFS客户端挂载有没有必要加参数,如noexec、nosuid、nodev、bg、soft、rsize、wsize等参数,书上说rsize、wsize是两个缓存参数,是否建议加呢,生产中该怎么做?解答:该问题属于mount挂载优化内容(有些参数也适合其他文件系统),一般来说要适当加挂载参数,但是最好是做好测试,用数据来说话,决定挂载还是不挂载1.1 有关系统安全挂载参数选项在企业工作中,一般来说,NFS服务器共享的只是普通静态数据(图片、附件、视频等),不需要执行suid、exec等权限,挂载这个文件系统只能作为数据存取之用,无法执行程序,对于客户端来讲增加了安全行例如:很多木马篡改站点文件都是由上传入口上传的程序到存储目录,然后执行的???这个结论对不对?因此在挂载的时候,用下面的命令很有必要:1.1.1安全挂载参数:mount -t nfs -o rw,nosuid,nodev,noexec, 192.168.47.128:/oldboy /mnt(1)测试NFS服务器端默认共享参数选项:1)查看系统版本信息[root@Client-02 ~]# cat /etc/redhat-releaseCentOS release 6.6 (Final)[root@Client-02 ~]# uname -r2.6.32-504.el6.x86_64[root@Client-02 ~]# uname -mx86_642) NFS Server 192.168.47.128[root@server ~]# cat /etc/exports#shared data for bbs by oldboy at 20180308/data 192.168.47.0/24(rw,sync,all_squash,anonuid=888,anongid=888)[root@server ~]# exportfs -rvexporting 192.168.47.0/24:/oldboyexporting 192.168.47.0/24:/data3)NFS Client-01 192.168.47.129[root@Client-01 ~]# mount -t nfs 192.168.47.128:/data /mntmount.nfs: /mnt is busy or already mounted[root@Client-01 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 18G 1.6G 16G 9% /tmpfs 495M 0 495M 0% /dev/shm/dev/sda1 190M 27M 153M 15% /boot192.168.47.128:/data 23G 1.7G 20G 8% /mnt[root@Client-01 ~]# umount /mnt[root@Client-01 ~]# mount -t nfs -o rw,nosuid,noexec,nodev 192.168.47.128:/data /mnt[root@Client-01 ~]# grep mnt /proc/mounts →NFS Client默认的挂载参数192.168.47.128:/data/ /mnt nfs4 rw,nosuid,nodev,noexec,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.47.129,minorversion=0,local_lock=none,addr=192.168.47.128 0 0[root@Client-01 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 18G 1.6G 16G 9% /tmpfs 495M 0 495M 0% /dev/shm/dev/sda1 190M 27M 153M 15% /boot192.168.47.128:/data 23G 1.7G 20G 8% /mnt4)NFS Server 192.168.47.128[root@server ~]# cat /var/lib/nfs/etab/data 192.168.47.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,anonuid=888,anongid=888,sec=sys,rw,root_squash,all_squash)(2) 测试客户端挂载mount的安全优化参数1) NFS Server 192.168.47.128[root@server ~]# cat /etc/exports#shared data for bbs by oldboy at 20180308/data 192.168.47.0/24(rw,sync,all_squash,anonuid=888,anongid=888)[root@server ~]# exportfs -rvexporting 192.168.47.0/24:/data2)NFS Client-01 192.168.47.129[root@Client-01 ~]# umount /mnt[root@Client-01 ~]# grep mnt /proc/mounts192.168.47.128:/data/ /mnt nfs4 rw,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.47.129,minorversion=0,local_lock=none,addr=192.168.47.128 0 0[root@Client-01 ~]# umount /mnt[root@Client-01 ~]# mount -t nfs -o rw,nosuid,noexec,nodev 192.168.47.128:/data /mnt[root@Client-01 ~]# grep mnt /proc/mounts192.168.47.128:/data/ /mnt nfs4 rw,nosuid,nodev,noexec,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.47.129,minorversion=0,local_lock=none,addr=192.168.47.128 0 0[root@Client-01 ~]#touch /mnt/test.log测试shell执行[root@Client-01 ~]# echo 'echo `pwd`' >/mnt/paris.sh[root@Client-01 ~]# cat /mnt/paris.shecho `pwd`[root@Client-01 ~]# /mnt/paris.sh-bash: /mnt/paris.sh: Permission denied[root@Client-01 ~]# sh /mnt/paris.sh/root →即使加了权限x,本身执行不了;但通过sh等方式就可以[root@Client-01 ~]# chmod 4755 /mnt/paris.sh[root@Client-01 ~]# ls -l /mnt/paris.sh-rwsr-xr-x. 1 nfsnobody nfsnobody 11 Mar 24 16:07 /mnt/paris.sh测试PHP执行[root@Client-01 ~]#cat /mnt/paris.php[root@Client-01 ~]#/application/php/bin/php /mnt/paris.phpThis is oldboytraining结论:A. nosuid、noexec对于shell脚本、php脚本的执行也生效。

      注意:通过sh paris.sh以及/application/php/bin/php /mnt/paris.php依然是可以执行程序的不带解释器的情况如:/mnt/pairs.sh,/mnt/paris.php即使有执行权限也无法执行B.对于二进制程序,例如cat,生效测试如下:1.1.2性能挂载参数:[root@Client-01 ~]# grep mnt /proc/mounts192.168.47.128:/data/ /mnt nfs4 rw,nosuid,nodev,noexec,noatime,nodiratime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.47.129,minorversion=0,local_lock=none,addr=192.168.47.128 0 0客户端优化主要参数是rsize、wsize,即客户端服务端数据通信的传输数据块的大小测试如下:分别在加参数和不加参数时,通过time dd创建文件系统,看执行时间来看加与不加对系统性能的影响。

      压力测试,看看加不加参数到底性能有何差别?(虚拟机测试仅供参考,方法可借鉴)[root@Client-01 ~]# cat /etc/redhat-releaseCentOS release 6.6 (Final)[root@Client-01 ~]# uname -r2.6.32-504.el6.x86_64[root@Client-01 ~]# uname -mx86_64[root@Client-01 ~]# umount /mnt[root@Client-01 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 18G 1.6G 16G 10% /tmpfs 495M 。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.