一、什么是文件系统
我理解的文件系统就是管理磁盘分区上数据的索引信息,其实文件系统就是一种应用程序,只不过是用来维护和管理分区上的数据而已,就跟操作系统是用来管理底层硬件一样。不同的分区可以有不同的文件系统。
二、文件系统类型
在linux系统上主要有如下类型的文件系统:
1、ext系列的ext[2-4],其中ext2文件系统没有日志功能,ext[3-4]文件系统支持日志功能
2、XFS文件系统,一种性能强大的日志文件系统,CentOS 7和RHEL 7在安装系统时默认使用XFS文件系统
3、btrfs文件系统,通常读作Butter FS、Better FS或B-tree FS,一种支持写入时复制(COW:COPY ON WRITE)的文件系统,采用GPL授权,
4、ReiserFS文件系统,也是一个日志型文件系统,对大文件和小文件有很高的处理效率。
5、JFS(Journaling File System),由IBM创建的一种日志型文件系统。
6、Swap,交换分区,跟Windows的虚拟内存相似,当内存不足时,可以将一部分硬盘空间虚拟成内存使用,解决内存容量不足的问题,但是速度比较慢
三、VFS虚拟文件系统
为了支持不同的文件系统共存,和一些跨文件系统的操作,如将一个存在于EXT4格式的文件系统分区里的文件拷贝至XFS分区,这样的操作就涉及到两个不同的文件系统,
而虚拟文件系统就是为协调不同文件系统进行工作的,它是内核中的一个软件层,为用户提供了一个统一的接口。深入了解请查看IBM文档库中的从文件I/O看LINUX的虚拟文件系统,连接:https://www.ibm.com/developerworks/cn/linux/l-cn-vfs/
四、创建文件系统
A、这里我使用一块空的磁盘做演示:
1、使用fdisk命令对这块空的磁盘进行分区
2、一些常用的命令
3、现在我需要添加一个新的分区
4、查看新建的分区
5、查看文件系统的ID
6、输入“w”保存退出
NOTE:新创建的分区,内核不能识别,需要使用命令通知内核重新读取硬盘分区
7、# partx -a /dev/DEVICE或者# kpartx -a /dev/DEVICE,CentOS 5中使用# partprobe /dev/DEVICE
B、创建文件系统
1、这里我使用mkfs.FS_TYPE命令来创建一个EXT4的文件系统
或者使用另一个命令
2、# mke2fs [OPTION]… /dev/DEVICE:ext系列文件系统专用管理工具
-t [ext2|ext3|ext4]
-b [1024|2048|4096]:指定块大小
-L 'LABEL':指定卷标
-j:相当于-t ext3
-i #:为数据空间中每多少个字节创建一个inode,此大小不应该小于block的大小
-N #:微数据空间创建多少个inode
-m #:为管理人员预留的空间占据的百分比
-O FEATURE[,…]:启用指定特性
-O ^FEATURE:关闭指定特性
五、管理文件系统
1、查看当前系统支持的文件系统:# cat /proc/filesystems
2、查看当前系统装载在内核中的模块信息,文件系统其实就是装载在内核中的功能模块,# lsmod
3、查看块设备文件的属性信息,# blkid [OPTION]… /dev/DEVICE
-U UUID:根据指定的UUID来查找对应的设备
-L LABEL:根据指定的LABEL来查找对应的设备
这是刚才我创建的分区的信息,因为在创建文件系统时没有指定LABEL所有这里没有显示,稍后我将为这个分区创建一个LABEL。
4、重新设定EXT系列文件系统可调整参数,# tune2fs [OPTION]… /dev/DEVICE
-l:查看指定文件系统超级块信息:super block
-L:修改卷标
-m #:修改预留给管理员的弓箭百分比
-j:将ext2升级为ext3
-O:文件系统属性启用或禁用
has_journal:启用日志功能
^has_journal:关闭日志功能
-o:调整文件系统的默认挂载选项
acl:启用acl功能
^acl:关闭acl功能
-U UUID:修改UUID号
六、文件系统检测
1、fsck:File System Check
# fsck.FS_TYPE
# fsck -t FS_TYPE
-a:自动修复错误
-r:交互式修复错误
NOTE:FS_TYPE一定要与分区上的文件系统类型相同
2、e2fsck:ext系列文件系统专用的检测工具
-y:自动回答为yes
-f:强制修复
原创文章,作者:Net17_雷航,如若转载,请注明出处:http://www.178linux.com/12110
评论列表(1条)
呵,赞,看的出有自己的思考在里面。知道写标签的同学都很细心,细节决定成败