linux文件系统及NFS

linux下文件和目录的颜色代表的含义

http://jayjayjays.iteye.com/blog/306787
蓝色 表示目录;绿色表示可执行文件;

红色 表示压缩文件;

浅蓝 色表示链接文件;

灰色 表示其它文件;

红色闪烁 表示链接的文件有问题了;

黄色 是设备文件 , 包括block, char, fifo。


文件系统:

reiserfs 大量小文件业务首选

xfs数据库mysql业务,门户案例

ext4视频下载,流媒体,数据库,小文业务也ok,可以用默认的。

centos默认的文件系统都是比较优秀的。

xfsreiserfs这两个文件都需要单独安装的,默认不支持的。维护可能不方便

大并发并不是过多的做磁盘的优化,而是在前面增加缓存。

xfs需要安装才能支持格式成xfsxfs的软件包为xfsdump

 

NFS:

NFS的传输端口是不固定的。所以采用RPC服务相当于中间人叫远程过程调用。原因也是NFS支持的功能很多,不同的功能启动不同的服务。

流程是先启动rpcbindcentos 6以前叫portmap)服务,再启动NFS服务,NFS启动后会向RPC服务注册启动的端口,然后客户端请求NFS服务。

NFS有两个包 1nfs-utils主程序包,2,rpcbind

服务器和客户端都得rpcbind

yum grouplist可查看到所有的组包,可用yum groupinstall NFS file server -y或每包单独安装

rpcinfo -p localhost查看自身有哪些房源,端口为111端口

/etc/exportsNFS的配置文件

/data 0.0.0.0/0(rw,sync) sync表示把数据同步到本地磁盘,虽然有rw权限,但客户端挂载之后不一定能写,原因/data自身没有写的权限,要解决可将目录权限改为777或者将属主属组改为nfsnobodynfsnobody的默认用户为65534.

一般改用户属性不改权限,chmod -R nfsnobody.nfsbobody /data

showmount -e localhost检查本地,服务端可用showmount -e x.x.x.x查看然后再挂载。

mount -t nfs 192.168.x.x:/data /datamount重启电脑后就会消失,可放在

(但最好加命令全路径/bin/mount  -t nfs...)fstab里。

rpc.statd检查文件的一致性与rpc.lockd有关。当主机重启后通知相关客户端主机。

/var/lib/nfs/etabnfs服务的默认参数。之所以客户端没有给与777权限而采用nfsnobody也能访问nfs的写权限的原因。

rpc.rquotad 磁盘配额进程,用来管理客户端可以使用的磁盘容量情况。。

rpc.lockd用来锁定文件用户多客户端同时写入。

nfsd用户管理客户端登入nfs服务器,。

pc.mountd主要管理nfs文件系统,当客户端登入之后管理其能否使用exports的文件。

exportfs -r等于优雅重启nfs reload,它是个命令位于/usr/sbin/exportfs

async指异步,客户端直接写在服务端内存里就返回用户写入成功,速度快,但可能丢数据。淘宝小米京东秒杀就是采用的异步,可让服务器设置一个承受力,其余就排队,避免服务器死掉。

NFS生产重要技巧:

1、确保所有服务器对NFS共享目录具备相同的权限。all_squash把所有客户端都压缩成匿名用户。anonuidanongid指定的UIGGID的用户。

2、所有客户端和服务端都需要有一个相同的UIDGID的用户,即nfsnobody


rc.local如它里面的数据执行失败不会影响服务器的启动,所以nfs一般放rc.local,而fstab里会挂不上,原因在于系统启动的时候会优先启动磁盘再开网络,那挂网络磁盘的时候网络都没有肯定就挂不成功了。

生产环境一般都是rc.local很少chkconfig,因为有些自开发的程序可能还没做好chkconfig

 

高并发时加上noatiome不要更新inodemount挂载时的参数跟nfs的默认参数等相似,可以通过man mount查看。

Fstab里的Defaults包含rwsuiddev.exec,auto,nouser,async等,可通过man mount查看default具体参数。

Nfs客户端和服务端耦合度很高,一旦服务端死了可能客户端连df -h也卡死了,工作中不希望这样,可将hard改为参数soft,通过cat /proc/mounts查看mount挂载时的默认参数。

对于nfs由于某些原因产生的只读,工作中常遇到,解决办法为mount -o rwremount /dev/sda1,fstab里最后两项一般都为0,如果后面是1代表系统启动要检查文件系统,如果文件系统有问题那么就启不起来,然后root登进去但强制不能写fstab,这是就可以通过mount -o rwremount /   然后就可以改fstab了。


umount -lf /mnt 强制卸载磁盘当卸载磁盘出现busy时。

对于centos6.5nfs的优化参数可如下:

mount -t nfs -o noatime,nodiratime,rsize=131072,wsize=131072 x.x.x.x:/x /y

对磁盘测试性能方法如下:

time for ((i=1;i<50000;i++));do cat /mnt/tegt.sh >/dev/null;done

 

/proc/sys/net/core/wmem_default

nfs内核优化:

cat >>/etc/sysctl.conf<<EOF

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

EOF

sysctl -p

 

exports 可手动命令配置NFS,不用在/etc/exports里配置也可以。

autofs自动挂载,少量用户可以解决耦合度的问题,缺点是用户请求才挂载,所以大并发的时候不适用一下会忙不过来,不重要了解即可。需要autofs软件包,它是一个工具,实现客户端自动挂载的,所以要装在客户端不是服务端。配置文件在/etc/auto.master,在里面配置一个挂载点设置下超时时间即可。/etc/init.d/autofs start

可以通过man autofsman automountman auto.master


猜你喜欢

转载自blog.csdn.net/w892824196/article/details/80635480