您的位置:首页 > 运维架构 > Linux

文件系统管理

2015-08-25 18:40 676 查看

文件系统管理

文件系统包含着文件中的数据而且还有文件系统的结构;所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。在Linux中普通文件和目录文件保存在称为块物理设备的磁盘上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等
引导块:在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统;超级块:用于记录文件系统的管理信息。特定的文件系统定义了特定的超级块;inode区(索引节点):一个文件或目录占据一个索引节点。第一个索引节点是该文件系统的根节点。利用根节点,可以把一个文件系统挂在另一个文件系统的非叶节点上;数据区:用于存放文件数据或者管理数据。磁盘也叫硬盘;硬盘的接口类型有并行和串行,并行的有IDEH和SCSI,串行的有SATA、SAS和USB磁盘设备的设备文件命令格式为:/dev/DEV_FILE IDE: /dev/hd...
SCSI,SATA,SAS,USB: /dev/sd...
不同的设备后面跟的不同,一般是a-z
例:/dev/sda,/dev/sdb,......
同一设备上的不同分区:1,2,...
例:/dev/sda1,/dev/sda5
硬盘现在有机械式硬盘和固态硬盘。机械式硬盘包括磁道、柱面和扇区。分区是按柱面进行的。还有一个扇区不属于任何分区,就叫0磁道0扇区吧,它有512bytes;里面存放上整个磁盘管理的内容后,就叫MBR(Master Boot Record)了。这512bytes中,前446bytes用来存bootloader(引导加载器)的,后面64bytes用来存放分区表,最后2bytes存放4个16进制数,来标识MBR的有效性(如果是55AA,前面的字节所存的信息有效;否则,无效)。16bytes标识一个分区,所以一个磁盘最多有4个主分区。随着科技的发展,磁盘越来越大,所以一般是3个主分区和一个扩展分区(这个扩展分区可以再分多个逻辑分区,这个扩展分区不能存储数据,逻辑分区的编号一般从5开始)MBR只能识别2T大小的硬盘,要是更大的硬盘就需要使用GPT

分区管理工具有fdisk,partx,sfdisk:

fdisk:对于一块硬盘来说,最多只能管理15个分区fdisk -l [-u] [device...]——查看磁盘分区的信息,如果后面不跟设备名,显示所有设备磁盘分区信息

fdisk device(设备名)

子命令:管理功能 p:print, 显示已有分区 m: 获取帮助 n: new, 创建 d:delete, 删除 w:write, 保存并退出 q:quit, 放弃更新并退出 t:调整分区id l:列表显示所有分区id

在里面分好后查看下,在这里查看到,并不意味着在内核中已经实现了,需要查看/proc/partitions文件,如果里面也同步了,意味着在内核中实现了新的分区






从中可以看出没有同步到内核中,
要通知内核读取新的分区需要使用partx命令来识别partx –a /dev/sda就行了;或者使用partx –a –n 4:6 /dev/sda使用kpartx –a /dev/sda同样可以

再次查看,就可以看到存在了



Linux文件系统:

Linux文件系统包括 :ext2, ext3, ext4,xfs, btrfs, reiserfs, jfs, swap(交换分区,就是把磁盘空间当内存使用)等根据其是否支持“journal”(日志)功能分为: 日志型文件系统:ext3,ext4,xfs,... 非日志型文件系统:ext2,vfat文件系统的组成部分: 内核中的模块:ext4 用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat用户面对的不是这个组成部分,而是Linux虚拟文件系统(VFS),就是消除底层的不同,为上层提供一个相同的服务

创建文件系统:

(A)、mkfs命令:
使用格式:(1)mkfs.FS_TYPE /dev/DEVICE
(ext4,xfs,btrfs,vfat)
(2)mkfs -t FS_TYPE /dev/DEVICE
-L 'LABEL': 设定卷标






使用blkid /dev/sda5可以查看磁盘分区的信息

(B)、mke2fs:ext系列文件系统专用管理工具
-t {ext2|ext3|ext4} -b {1024|2048|4096} -L 'LABEL' -j: 相当于 -t ext3-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小; -N #:为数据空间创建个多少个inode; -m #: 为管理人员预留的空间占据的百分比; -O FEATURE[,...]:启用指定特性 -O ^FEATURE:关闭指定特性创建ext3的文件系统可以使用:mkfs.ext3; mkfs -t ext3 ; mke2fs -j ; mke2fs -t ext3 (C)、mkswap:创建交换分区
mkswap [options]device -L 'LABEL'这个命令有个前提:其分区的ID必须为为82;如果不是要使用fdisk命令的-t选项调整为82

其它常用工具:

1、blkid:块设备属性信息查看blkid [OPTION]... [DEVICE]-U UUID: 根据指定的UUID来查找对应的设备-L LABEL:根据指定的LABEL来查找对应的设备2、e2label:管理ext系列文件系统的LABEL# e2label DEVICE [LABEL]3、tune2fs:重新设定ext系列文件系统可调整参数的值-l:查看指定文件系统超级块信息;super block-L 'LABEL':修改卷标-m #:修预留给管理员的空间百分比-j: 将ext2升级为ext3-O: 文件系统属性启用或禁用-o: 调整文件系统的默认挂载选项-U UUID: 修改UUID号;

文件系统检测:

1、fsck: File System CheCk
fsck.FS_TYPE/dev/DEVICE(检测某个文件系统,必须使用相对应的文件系统,FS_TYPE一定要与分区上已经文件类型相同) fsck-t FS_TYPE -a:自动修复错误 -r:交互式修复错误

2、e2fsck:ext系列文件专用的检测修复工具
-y:自动回答为yes; -f:强制修复;设备文件的挂载使用mount命令,卸载使用umount,查看当前内核已挂载的设备,使用mount回车,或者使用cat /pron/mounts,或者df都可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息