标签:文件系统工具
文件系统相关概念:
文件系统示意图:
block(块):文件系统的基本存储单元,格式化时决定块大小,大小可以是有1024,2048,4096字节
superblock(超级块):保存整个分区中的全局信息(有多少块组,每个块组有多少块,空闲inode,块大小等,至关重要,允许备份超级块)
block group(块组):相当于分区下面的子分区,方便在大分区上快速查找可用空间,大小取决于块大小
GDT:块组描述表,当前分区上每一个块组的块组名,每一个块组的边界信息(从哪个块起始和到哪个块结束)
block Bitmap(块位图):置位0代表未曾使用,1代表已经被使用,用于加速查找空闲磁盘块(使磁盘不需要遍历查询整个磁盘寻找空闲磁盘块,只要扫描bitmap的置位即可)
Inode中存储数据相关属性(权限,属主数组,inode号,大小,位置等),直接或间接指向文件存储到的磁盘块的位置
inode bitmap(索引节点位图)分为inode位图和块位图,顾名思义,inode位图用于加速检索空闲inode
目录:目录其实是一张表,每一行都是inode号码和目录下文件名称的对应条目
那么我们如何在磁盘上增删文件呢?
新建一个文件:例如/var/test.txt 1.扫描inode位图找到一个空闲inode并占用,根据/var对应的inode找到目录对应的磁盘块,找到目录条目,新建test.txt,并且将刚刚扫描到的空闲inode所引导它-----------如果往这个文件里存储数据,找空闲磁盘块,找到块位图,分配几个块给它,如果存完发现分配的块没用完则回收未分配的块
删除一个文件:首先inode号码在位图上标记为空,目录上标记的文件名删掉,块位图上把文件原先存储的块标记为未使用,但是不会清空磁盘块上存储的数据,下次存储直接覆盖就行(数据删除可以恢复的原理),文件粉碎就是删除文件同时清空了磁盘块
1.磁盘分区:
分区工具:fdisk,cfdisk,sfdisk等,这里以fdisk为例
fdisk:对于一块硬盘来讲,最多只能管理15分区;
# fdisk -l [-u] [device...]
# fdisk device
子命令:管理功能
p: print, 显示已有分区;
n: new, 创建
d: delete, 删除
w: write, 写入磁盘并退出
q: quit, 放弃更新并退出
m: 获取帮助
l: 列表所分区id
t: 调整分区id
TIPS:分区完成后需要通知内核重新加载分区表以识别新加入的分区
查看内核是否已经识别新的分区:
# cat /proc/partations
通知内核重新读取硬盘分区表:
partx -a /dev/DEVICE
-n M:N
kpartx -a /dev/DEVICE
-f: force
CentOS 5: 使用partprobe
partprobe [/dev/DEVICE]
2.文件系统:了解了基本概念,下面我们围绕ext3文件系统进行讲解
ext3文件系统:相比之前的文件系统多了日志功能,日志功能可以帮助快速恢复数据,检测文件系统错误
想要查看当前情况内核支持哪些文件系统,使用 cat /proc/filesystem命令
格式化工具:
1.mkfs
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L ‘LABEL‘
-j: 相当于 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;
-N #:为数据空间创建多少个inode;
-m #: 为管理人员预留的空间占据的百分比;
-O FEATURE[,...]:启用指定特性
-O ^FEATURE:关闭指定特性
3.mkswap:创建交换分区
mkswap [options] device
-L ‘LABEL‘
前提是:磁盘分区时调整其分区的ID为82;
查看类常用工具:
1.blkid:块设备属性信息查看
blkid [OPTION]... [DEVICE]
-U UUID: 根据指定的UUID来查找对应的设备
-L LABEL:根据指定的LABEL来查找对应的设备
UUID:统一全局标示符,用于唯一标识磁盘设备
2.e2label:管理ext系列文件系统的LABEL
# e2label DEVICE [LABEL]
3.tune2fs:重新设定ext系列文件系统可调整参数的值
-l:查看指定文件系统超级块信息;super block
-L ‘LABEL‘:修改卷标
-m #:修预留给管理员的空间百分比
-j: 将ext2升级为ext3
-O: 文件系统属性启用或禁用
-o: 调整文件系统的默认挂载选项
-U UUID: 修改UUID号;
dumpe2fs:
-h:查看超级块信息
文件系统检测类工具:
fsck: File System Check
fsck.FS_TYPE
fsck -t FS_TYPE
-a: 自动修复错误
-r: 交互式修复错误
Note: FS_TYPE一定要与分区上已经文件类型相同;
e2fsck:ext系列文件专用的检测修复工具
-y:自动回答为yes;
-f:强制修复;
本文出自 “明天过后” 博客,请务必保留此出处http://leeyan.blog.51cto.com/8379003/1688238
标签:文件系统工具
原文地址:http://leeyan.blog.51cto.com/8379003/1688238