linux文件系统及NFS

简介:

文件系统:

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

本文转自  流颗星  51CTO博客,原文链接:
http://blog.51cto.com/liukexing/1964078
相关文章
|
2月前
|
自然语言处理 监控 Linux
Linux 内核源码分析---proc 文件系统
`proc`文件系统是Linux内核中一个灵活而强大的工具,提供了一个与内核数据结构交互的接口。通过本文的分析,我们深入探讨了 `proc`文件系统的实现原理,包括其初始化、文件的创建与操作、动态内容生成等方面。通过对这些内容的理解,开发者可以更好地利用 `proc`文件系统来监控和调试内核,同时也为系统管理提供了便利的工具。
98 16
|
7月前
|
存储 安全 Unix
网络文件系统 (NFS)
【10月更文挑战第12天】
292 5
|
7月前
|
存储 缓存 安全
网络文件系统 (NFS)
【10月更文挑战第11天】
121 1
|
4月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
256 15
|
5月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
726 7
|
5月前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
101 7
|
5月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
6月前
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
186 8
|
6月前
|
存储 Linux 文件存储
Linux文件系统
Linux文件系统 一切皆文件 在Linux中,“一切皆文件”的概念意味着系统中的所有资源,包括硬件设备、目录及进程等,均被视为文件。这种设计简化了操作和管理,具体包括: 普通文件:存储数据的常规文件。 目录文件:包含其他文件和子目录的文件。 进程文件:在/proc目录下代表系统中运行的进程。 设备文件:位于/dev目录,代表硬件设备。 网络字节流套接字文件:用于网络通信的数据流。 链接文件:指向另一个文件的符号链接或硬链接。 管道文件:用于进程间通信的文件。
109 7
|
8月前
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。