Loading... <p><strong><span style="font-family:黑体, SimHei">一、什么是文件系统</span></strong></p> <p><span style="font-family:黑体, SimHei"> 我理解的<span style="font-family: 宋体, SimSun">文件系统就是管理磁盘分区上数据的索引信息,其实文件系统就是一种应用程序,只不过是用来维护和管理分区上的数据而已,就跟操作系统是用来管理底层硬件一样。不同的分区可以有不同的文件系统。</span><br /></span></p> <p><span style="font-family: 黑体, SimHei"><strong><span style="font-family:黑体, SimHei"><br /></span></strong></span></p> <p><span style="font-family: 黑体, SimHei"><strong><span style="font-family:黑体, SimHei">二、文件系统类型</span></strong></span></p> <p><span style="font-family: 黑体, SimHei"> </span><span style="font-family:宋体, SimSun">在linux系统上主要有如下类型的文件系统:</span></p> <p><span style="font-family:宋体, SimSun"> 1、ext系列的ext[2-4],其中ext2文件系统没有日志功能,ext[3-4]文件系统支持日志功能<br /></span></p> <p><span style="font-family:宋体, SimSun"> 2、XFS文件系统,一种性能强大的日志文件系统,CentOS 7和RHEL 7在安装系统时默认使用XFS文件系统</span></p> <p><span style="font-family: 宋体, SimSun"> 3、btrfs文件系统,通常读作Butter FS、Better FS或B-tree FS,一种支持写入时复制(COW:COPY ON WRITE)的文件系统,采用GPL授权,</span></p> <p><span style="font-family: 宋体, SimSun"> 4、ReiserFS文件系统,也是一个日志型文件系统,对大文件和小文件有很高的处理效率。<br /></span></p> <p><span style="font-family: 宋体, SimSun"> 5、JFS(Journaling File System),由IBM创建的一种日志型文件系统。<br /></span></p> <p><span style="font-family: 宋体, SimSun"> 6、Swap,交换分区,跟Windows的虚拟内存相似,当内存不足时,可以将一部分硬盘空间虚拟成内存使用,解决内存容量不足的问题,但是速度比较慢<br /></span></p> <p><strong><span style="font-family: 黑体, SimHei">三、VFS虚拟文件系统</span></strong></p> <p><span style="font-family:宋体, SimSun"> 为了支持不同的文件系统共存,和一些跨文件系统的操作,如将一个存在于EXT4格式的文件系统分区里的文件拷贝至XFS分区,这样的操作就涉及到两个不同的文件系统,</span></p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170032-81.png" title="1456988697237988.png" alt="blob.png" /><span style="font-family:宋体, SimSun"><br /></span></p> <p> 而虚拟文件系统就是为协调不同文件系统进行工作的,它是内核中的一个软件层,为用户提供了一个统一的接口。深入了解请查看IBM文档库中的从文件I/O看LINUX的虚拟文件系统,连接:https://www.ibm.com/developerworks/cn/linux/l-cn-vfs/</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170032-49.png" title="1456989862506912.png" alt="blob.png" /> </p> <p><strong><span style="font-family: 黑体, SimHei"><br /></span></strong></p> <p><strong><span style="font-family: 黑体, SimHei">四、创建文件系统</span></strong></p> <p><span style="font-family:宋体, SimSun"> A、这里我使用一块空的磁盘做演示:</span></p> <p> 1、使用fdisk命令对这块空的磁盘进行分区</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-27.png" title="1456992987899895.png" alt="blob.png" /></p> <p> <span style="font-family: 宋体, SimSun">2、一些常用的命令</span></p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-27-1.png" title="1456993431914420.png" alt="blob.png" /></p> <p> <span style="font-family: 宋体, SimSun">3、现在我需要添加一个新的分区</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703170033-100.png" title="1456994333950636.png" alt="blob.png" /></p> <p><span style="font-family: 宋体, SimSun"> 4、查看新建的分区</span></p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-7.png" title="1456994449225415.png" alt="blob.png" /></p> <p> 5、查看文件系统的ID <img src="//cto.wang/usr/uploads/2016/07/20160703170033-67.png" title="1456994639940462.png" alt="blob.png" /></p> <p> 6、输入“w”保存退出</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-3.png" title="1456994685747258.png" alt="blob.png" /></p> <p>NOTE:新创建的分区,内核不能识别,需要使用命令通知内核重新读取硬盘分区</p> <p> 7、# partx -a /dev/DEVICE或者# kpartx -a /dev/DEVICE,CentOS 5中使用# partprobe /dev/DEVICE</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-12.png" title="1456995055613157.png" alt="blob.png" /></p> <p><span style="font-family: 宋体, SimSun"> B、创建文件系统</span></p> <p><span style="font-family: 宋体, SimSun"> 1、这里我使用mkfs.FS_TYPE命令来创建一个EXT4的文件系统 </span><img src="//cto.wang/usr/uploads/2016/07/20160703170033-7-1.png" title="1456995267671584.png" alt="blob.png" style="font-family: 宋体, SimSun" /></p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-85.png" title="1456995463356226.png" alt="blob.png" /></p> <p>或者使用另一个命令</p> <p> 2、# <span style="font-family: 宋体">mke2fs [OPTION]… /dev/DEVICE:ext系列文件系统专用管理工具</span></p> <p><span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> -t [ext2|ext3|ext4]</span><span style="font-family: 宋体"><br /></span></p> <p><span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> -b [1024|2048|4096]:指定块大小<br /></span></p> <p><span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> -L 'LABEL':指定卷标<br /></span></p> <p><span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> -j:相当于-t ext3<br /></span></p> <p><span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> -i #:为数据空间中每多少个字节创建一个inode,此大小不应该小于block的大小<br /></span></p> <p><span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> -N #:微数据空间创建多少个inode</span></p> <p><span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> -m #:为管理人员预留的空间占据的百分比<br /></span></p> <p><span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> -O FEATURE[,…]:启用指定特性<br /></span></p> <p><span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> -O ^FEATURE:关闭指定特性 </span><img src="//cto.wang/usr/uploads/2016/07/20160703170033-21.png" title="1456996646873487.png" alt="blob.png" style="font-family: 宋体;line-height: 1.6" /></p> <p><strong><span style="font-family: 黑体, SimHei"><br /></span></strong></p> <p><strong><span style="font-family: 黑体, SimHei">五、管理文件系统</span></strong></p> <p><span style="font-family: 宋体, SimSun"> 1、查看当前系统支持的文件系统:# cat /proc/filesystems</span></p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-29.png" title="1456995692377392.png" alt="blob.png" /></p> <p><span style="font-family: 宋体, SimSun"> 2、查看当前系统装载在内核中的模块信息,文件系统其实就是装载在内核中的功能模块,# lsmod</span></p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-55.png" title="1456995788626353.png" alt="blob.png" /></p> <p><span style="font-family: 宋体, SimSun"> 3、查看块设备文件的属性信息,# blkid [OPTION]… /dev/DEVICE<br /></span></p> <p><span style="font-family: 宋体, SimSun"> -U UUID:根据指定的UUID来查找对应的设备<br /></span></p> <p><span style="font-family: 宋体, SimSun"> -L LABEL:根据指定的LABEL来查找对应的设备 </span> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-62.png" title="1456996707577255.png" alt="blob.png" /></p> <p><span style="font-family: 宋体, SimSun"> 这是刚才我创建的分区的信息,因为在创建文件系统时没有指定LABEL所有这里没有显示,稍后我将为这个分区创建一个LABEL。</span></p> <p> 4、重新设定EXT系列文件系统可调整参数,# tune2fs [OPTION]… /dev/DEVICE</p> <p> <span style="font-family: 宋体"> -l:查看指定文件系统超级块信息:super block<br /></span></p> <p> <span style="font-family: 宋体"> -L:修改卷标<br /></span></p> <p> <span style="font-family: 宋体"> -m #:修改预留给管理员的弓箭百分比<br /></span></p> <p> <span style="font-family: 宋体"> -j:将ext2升级为ext3<br /></span></p> <p> <span style="font-family: 宋体"> -O:文件系统属性启用或禁用<br /></span></p> <p> <span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> has_journal:启用日志功能</span><span style="font-family: 宋体"><br /></span></p> <p> <span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> ^has_journal:关闭日志功能<br /></span></p> <p> <span style="font-family: 宋体"> -o:调整文件系统的默认挂载选项<br /></span></p> <p> <span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> acl:启用acl功能</span><span style="font-family: 宋体"><br /></span></p> <p> <span style="font-family: 宋体"> </span><span style="font-family: 宋体;line-height: 1.6"> ^acl:关闭acl功能<br /></span></p> <p> <span style="font-family: 宋体"> -U UUID:修改UUID号</span><img src="//cto.wang/usr/uploads/2016/07/20160703170033-16.png" title="1456997091198873.png" alt="blob.png" /></p> <p></p> <p><strong><span style="font-family: 黑体, SimHei">六、文件系统检测</span></strong></p> <p><span style="font-family: 宋体, SimSun"> 1、fsck:File System Check</span></p> <p><span style="font-family: 宋体, SimSun"> # fsck.FS_TYPE<br /></span></p> <p><span style="font-family: 宋体, SimSun"> # fsck -t FS_TYPE<br /></span></p> <p><span style="font-family: 宋体, SimSun"> -a:自动修复错误</span></p> <p><span style="font-family: 宋体, SimSun"> -r:交互式修复错误<br /></span></p> <p><span style="font-family: 宋体, SimSun"> NOTE:FS_TYPE一定要与分区上的文件系统类型相同<br /></span></p> <p><span style="font-family: 宋体, SimSun"> <img src="//cto.wang/usr/uploads/2016/07/20160703170033-9.png" title="1456997393440058.png" alt="blob.png" /></span></p> <p><span style="font-family: 宋体, SimSun"> 2、e2fsck:ext系列文件系统专用的检测工具<br /></span></p> <p><span style="font-family: 宋体, SimSun"> -y:自动回答为yes<br /></span></p> <p><span style="font-family: 宋体, SimSun"> -f:强制修复</span></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信