L028老男孩实效教育nfs网络文件系统企业级优化实战12节资料Word格式.docx
《L028老男孩实效教育nfs网络文件系统企业级优化实战12节资料Word格式.docx》由会员分享,可在线阅读,更多相关《L028老男孩实效教育nfs网络文件系统企业级优化实战12节资料Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
[root@client1~]#/mnt/test.sh
-bash:
/mnt/test.sh:
Permissiondenied
[root@client1~]#chomod+x/mnt/test.sh
chomod:
commandnotfound
[root@client1~]#chmod+x/mnt/test.sh
[root@client1~]#ll/mnt
-rwxr-xr-x.1oldgirloldgirl11Jan1918:
Permissiondenied----更改多X权限还是无法执行,因为加了noexec参数
但是:
[root@client1~]#sh/mnt/test.sh
/root
可以使用sh直接执行可以。
结论:
a.Nosuid,noexec对于shell脚本,Php脚本的执行也生肖。
注意:
通过shtest.sh,以及/application/php/bin/test.php依然是可以执行程序的,不带解释器的情况如:
/mnt/test.sh,即使执行权限也无法执行。
b.对于二进制程序,例如cat,生效
例子如下:
[root@client1~]#cp/bin/cat/opt
[root@client1~]#/opt/cat/mnt/test.sh
echo`pwd`
cat还是能够运行的。
Nfs客户端优化:
rsize和wsize
[root@bogon~]#df-h
[root@bogon~]#umount/mnt
[root@bogon~]#mount-tnfs-onosuid,noexec,rsize=1024,wsize=1024,rw192.168.177.129:
/data/mnt
[root@bogon~]#grepmnt/proc/mounts
/data//mntnfs4rw,nosuid,noexec,relatime,vers=4,rsize=1024,wsize=1024,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.177.130,minorversion=0,local_lock=none,addr=192.168.177.12900
现在的rsize=1024,wsize=1024:
[root@bogon~]#timeddif=/dev/zeroof=/mnt/testfilebs=9kcount=20000
20000+0recordsin
20000+0recordsout
184320000bytes(184MB)copied,22.824s,8.1MB/s
real0m22.848s
user0m0.009s
sys0m5.344s
[root@bogon~]#umount-lf/mnt-----强制卸载挂载
[root@bogon~]#ll
total76
-rw-------.1rootroot3321Sep2806:
39anaconda-ks.cfg
-rw-r--r--.1rootroot4Oct1223:
54a.txt
-rw-r--r--.1rootroot5Oct1223:
54b.txt
-rw-r--r--.1rootroot41364Sep2806:
39install.log
-rw-r--r--.1rootroot9154Sep2806:
37install.log.syslog
-rw-r--r--.1rootroot14Oct1219:
30tet.txt
[root@bogon~]#mount-tnfs-onosuid,noexec,rw192.168.177.129:
/data/mnt
[root@localhost~]#grepmnt/proc/mounts
/data//mntnfs4rw,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.177.130,minorversion=0,local_lock=none,addr=192.168.177.12900
测试单个文件写入速度rsize=131072,wsize=131072,提高了性能:
[root@bogon~]#timeddif=/dev/zeroof=/mnt/testfilebs=9kcount=20000
184320000bytes(184MB)copied,2.05343s,89.8MB/s
real0m2.091s
user0m0.007s
sys0m0.225s
rsize和wsize的大小决定写入和读写的性能。
***测试增加noatime,nodiratime参数:
noatime不更改文件的时间撮,如果要更改就是要读写一次磁盘。
nodiratime不更改目录的时间撮,如果要更改就是要读写一次磁盘。
[root@localhost~]#mount-tnfs-onosuid,noexec,noatime,nodiratime,rw192.168.177.129:
[root@localhost~]#timeddif=/dev/zeroof=/mnt/testfilehbs=9kcount=20000
184320000bytes(184MB)copied,10.8852s,16.9MB/s
real0m10.926s-----第一次
sys0m6.447s
184320000bytes(184MB)copied,1.56115s,118MB/s
real0m1.622s-----第二次
user0m0.005s
sys0m0.254s
****noatime/nodiratime不更改文件/目录的时间撮,如果要更改就是要读写一次磁盘。
取消后,提高了性能。
新文件第一次没有快,第二次访问才会提高性能
NFS网络文件系统优化挂载的参数建议:
Centos5.x服务器端和客户端环境:
Mount–tnfs–onoatime,nodiratime,nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768192.168,177.129:
Centos6.x服务器端和客户端环境:
Mount–tnfs–onoatime,nodiratime,nosuid,noexec,nodev,rw,bg,soft,rsize=66536,wsize=65536192.168,177.129:
挂载:
mount–tnfs192.168.177.129:
查看:
grep192.168.177.129/proc/mounts
性能优化的参数,非性能参数越多,速度越慢:
noatime,nodiratime,rsize=66536,wsize=65536
系统默认参数:
rw,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,
02-基于nfs网络文件系统的linux内核优化实战与总结_
****NFS官方优化可以修改,官方的建议:
[root@diammetal~]#cat/proc/sys/net/core/rmem_default
124928
[root@diammetal~]#cat/proc/sys/net/core/rmem_max
[root@diammetal~]#cat/etc/sysctl.conf------在sysctl.conf中配置
可以在NFS官网上查找centos6.x的rmem_default,rmem_max值的优化。
在centos5.x中,可以rmem_default=16777216,rmem_max=8388608
----[root@diammetal~]#echo16777216/proc/sys/net/core/rmem_max
----[root@diammetal~]#echo8388608/proc/sys/net/core/rmem_default
rmem_default:
该文件指定了接收发送套接字缓冲区大小的缺省值。
rmem_max:
该文件指定了接收套接字缓冲区大小的最大值
1.以上使用命令修改,重启后会失效了。
2.以下追加到cat>
>
/etc/sysctl.conf<
<
EOF
Net.core.wmem_default=8388608
Net.cor.rmem_default=8388608
Net.core.rmem_max=16777216
Net.core.wmem_max=16777216
如果卸载的时候提示:
umount:
/mnt:
deviceisbusy
需要退出挂载目录在进行卸载,或者是NFSServer停机了,需要强制卸载mount–lf/mnt
03-企业级NFS大并发网络存储优化总结_
生产环境NFS共享存储优化:
1、硬件:
SAS/SSD磁盘,买多块,RAID0/RAID10。
网卡好
2、服务器端:
/data192.168.177.0/24(rw,sync,root_squash,anonuid=555,anongid=555)----在/etc/exports
3、客户端挂载:
rsize,wsize,noatime,nodirtime,nosuid,noexec,soft(hard,intr)
04-企业级故障案例如何强制卸载NFS及原理说明_
****可以使用/etc/rc.local查看启动挂载了哪些NFS文件夹。
还可以使用umount–lf/mnt强制卸载挂载点。
05-mfs常用命令shomount-exportfs深度讲解与实战_
Exportfs命令说明:
05.1exportfs命令介绍
Exportfs–rv==/etc/init.d/nfsreload
通过exportfs命令,可以管理当前NFS共享的文件系统列表。
当我们在启动了NFS服务之后,此时如果修改了/etc/exports,就需要重新启动nfs,使修改的配置生效。
这个时候我们就可以用exportfs命令来完成。
下面就看看exportfs。
05.2exportfs命令阐述
/usr/sbin/exportfs[-avi][-ooptions,..][client:
/path..]
/usr/sbin/exportfs-r[-v]
/usr/sbin/exportfs[-av]-u[client:
/usr/sbin/exportfs[-v]
/usr/sbin/exportfs–f
例子:
exportfs-orw,sync,root_squash,anonuid=555,anongid=555192.168.177.0/24:
/data
查看端口:
[root@diammetal~]#rpcinfo-plocalhost
Rpcbind服务重启后,需要把nfs也要重启,不然服务没有启动。
只有111端口。
[root@diammetal~]#rpcinfo-plocalhost
programversprotoportservice
1000004tcp111portmapper
1000003tcp111portmapper
1000002tcp111portmapper
1000004udp111portmapper
1000003udp111portmapper
1000002udp111portmapper
06-nfs部署及日常常见故障及排除故障重要思想
NFS故障及解决办法:
07-nfs服务常用命令及相关维护文件阶段小结_
Manexports-----nfs的帮助
[root@diammetal~]#cat/var/lib/nfs/etab
/data192.168.177.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=555,anongid=555,sec=sys,rw,root_squash,no_all_squash)
小结:
1、Mount(-t文件类型,-o参数,-a挂载所有系统,是挂载),umount(-l,-f),showmount(-e)
export(-rv,-o)s,rcpinfo(-p),ping,telnet,,rpcinfo,
2、/etc/fstab,/etc/exports,/var/lib/nfs/etab,客户端的/proc/mounts
/etc/fstab的内容:
[root@diammetal~]#cat/etc/fstab
#
#/etc/fstab
#CreatedbyanacondaonMonSep2821:
58:
492015
#Accessiblefilesystems,byreference,aremaintainedunder'
/dev/disk'
#Seemanpagesfstab(5),findfs(8),mount(8)and/orblkid(8)formoreinfo
UUID=6a6f93f9-72db-4f4a-a1ca-bf4f43190397/ext4defaults11
UUID=835e48e8-f2d5-4ba1-8552-fe722b0d708c/bootext4defaults12
UUID=9eac7838-60b7-4c90-9be3-da00b39c8a7eswapswapdefaults00
tmpfs/dev/shmtmpfsdefaults00
devpts/dev/ptsdevptsgid=5,mode=62000
sysfs/syssysfsdefaults00
proc/procprocdefaults00
/dev/sdb1/mntext4defaults00
/fdefj/fdf/djjfdject4defaults00
~
"
/etc/fstab"
17L,957Cwritten
[root@diammetal~]#mount-a--可以进行试挂载,会检查错误,表示启动时也会出错。
mount:
mountpoint/djjfdjdoesnotexist
----详细挂载的:
[root@diammetal~]#cat/etc/mtab
/dev/sda2/ext4rw00
proc/procprocrw00
sysfs/syssysfsrw00
devpts/dev/ptsdevptsrw,gid=5,mode=62000
tmpfs/dev/shmtmpfsrw00
/dev/sda1/bootext4rw00
/dev/sdb1/mntext4rw00
none/proc/sys/fs/binfmt_miscbinfmt_miscrw00
sunrpc/var/lib/nfs/rpc_pipefsrpc_pipefsrw00
nfsd/proc/fs/nfsdnfsdrw00
08-nfs的优缺点及企业级生产应用场景_
作用:
2千万PV/日的高并发。
耦合度太高===〉解耦
09-nfs服务的企业生产应用案例及拓展经验分享_
Autofs功能:
访问时才挂载,不访问不挂载。
生产应用场景:
大中小型网站(2000万PV以下)线上应用,都有用武之地。
门户站也会其他方面的应用,当然未必是线上存储使用。
[root@localhostmnt]#mkdirimg{1..10}
[root@localhostmnt]#ll
total44
drwxr-xr-x.2rootroot4096Sep2806:
41hgfs
drwxr-xr-x.2rootroot4096Feb323:
49img1
49img10
49img2
49img3
49img4
49img5
49img6
49img7
49img8
49img9
复习:
1、/etc/fstab的详细功能和内容
2、linux救援模式修复/etc/fstab
10-nfs大规模集群架构环境中的实际作用和位置_
11-解耦nfs之autofs实现自动挂载nfs及应用场景说明_
为什么会需要autofs?
AUTOFS可以实现当用户访问的时候在挂载,如果没有用户访问,指定之间之内,就自动卸载。
可以解决NFS服务器和客户端紧密耦合的问题。
缺点:
是用户请求才挂载,所以开始请求的瞬间效率较差。
AUTOFS用户测试环境中,或者并发很低的生产环境(家目录漫游LDAP)