资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共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)查看系统版本信息rootClient-02 # cat /etc/redhat-releaseCentOS release 6.6 (Final)rootClient-02 # uname -r2.6.32-504.el6.x86_64rootClient-02 # uname -mx86_642) NFS Server 192.168.47.128rootserver # 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)rootserver # exportfs -rvexporting 192.168.47.0/24:/oldboyexporting 192.168.47.0/24:/data3)NFS Client-01 192.168.47.129rootClient-01 # mount -t nfs 192.168.47.128:/data /mntmount.nfs: /mnt is busy or already mountedrootClient-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% /mntrootClient-01 # umount /mntrootClient-01 # mount -t nfs -o rw,nosuid,noexec,nodev 192.168.47.128:/data /mntrootClient-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 0rootClient-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.128rootserver # 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.128rootserver # 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)rootserver # exportfs -rvexporting 192.168.47.0/24:/data2)NFS Client-01 192.168.47.129rootClient-01 # umount /mntrootClient-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 0rootClient-01 # umount /mntrootClient-01 # mount -t nfs -o rw,nosuid,noexec,nodev 192.168.47.128:/data /mntrootClient-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 0rootClient-01 #touch /mnt/test.log测试shell执行rootClient-01 # echo echo pwd /mnt/paris.shrootClient-01 # cat /mnt/paris.shecho pwdrootClient-01 # /mnt/paris.sh-bash: /mnt/paris.sh: Permission deniedrootClient-01 # sh /mnt/paris.sh/root 即使加了权限x,本身执行不了;但通过sh等方式就可以rootClient-01 # chmod 4755 /mnt/paris.shrootClient-01 # ls -l /mnt/paris.sh-rwsr-xr-x. 1 nfsnobody nfsnobody 11 Mar 24 16:07 /mnt/paris.sh测试PHP执行rootClient-01 #cat /mnt/paris.phprootClient-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性能挂载参数:rootClient-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创建文件系统,看执行时间来看加与不加对系统性能的影响。压力测试,看看加不加参数到底性能有何差别?(虚拟机测试仅供参考,方法可借鉴)rootClient-01 # cat /etc/redhat-releaseCentOS release 6.6 (Final)rootClient-01 # uname -r2.6.32-504.el6.x86_64rootClient-01 # uname -mx86_64rootClient-01 # umount /mntrootClient-01 # df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 18G 1.6G 16G 10% /tmpfs 495M
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号