文件系统使用| 学习笔记

简介: 快速学习文件系统使用

开发者学堂课程【Linux 磁盘与文件系统管理:文件系统使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/589/detail/8329


文件系统使用


内容介绍:

一、创建 ext 文件系统

二、文件系统标签

三、Tune2fs

四、超级块和 INODE TABLE

五、文件系统检测和修复

六、挂载 mount


一、创建 ext 文件系统

扩展分区不能直接创建文件系统,扩展分区只是一个容器,用来包含分区;逻辑分区以及主分区才能创建系统。

1.mke2fs:ext 系列文件系统专用管理工具

-t {ext2|ext3|ext4}     指定文件系统类型

-b {1024|2048|4096}

Block size   块的大小

Block count 块的容量

Reserved block count  保留的块的数量

保留的块为 Reserved blocks uid 与Reserved blocks gid 使用

块的大小与块的容量相乘为总共硬盘的空间大小。

指定块大小 ——决定文件分配的最小单位,在磁盘上建立一个新文件,即使只有一个字节,系统也会分配至少一个块。

块的大小可以指定:mkfs.ext4 -b 1024(大小)/dev/sdb1

在 windows 中块名叫簇。

-L  'LABEL' 设置卷标(描述信息) 

-j 相当于 -text3

推荐使用 mkfs.+对应的文件类型

mkfs.ext3=mkfs-text3=mke2fs-j=mke2fs-t ext3

mke2fs 默认格式化为 ext2,ext2 没有日志功能 -j 为包含日志功能

查看方法:blkid + 文件类型

查看 ext2 没有日志功能:tune2fs - l + 文件类型

Inode count 一个分区最多存放的节点数

df  -i 能看到正处于挂载状态的分区

tune2fs -i /dev/sdb1 只是创建了分区还没有挂载,所以看不到,使用 -l 可以看到节点数

Free inodes 空闲的节点数——已使用节点数

Check interval——检查的间隔(当挂载次数达到一定的条件,挂载次数和间隔条件满足后,触发对文件系统的检查,检查文件系统是否有错误)

Mount count——挂载的次数

Maximum mount count——最大挂载次数

文件系统的分组情况: dumpe2fs  /dev/sdb1

文件系统的源数据(属性):tune2fs -l /dev/sdb1

-i #为数据空间中每多少个字节创建一个inode;不应该小于block大小

为512字节创建

inode:mkfs.ext4  -i 512 -b 1024  /dev/sdb1

会提示太小,所以改变为1024,

inode:mkfs.ext4  -i 1024 -b 4096  /dev/sdb1

节点数小于块大小——无意义

-N#  指定分区中创建多少个 inode

-I  一个 inode 记录占用的磁盘空间大小,128---4096

查询数量:Inode size 为256

-m # 默认5%,为管理人员预留空间占总空间的百分比 -OFEATUREL...]   启用指定特性:(est2 变为 est3)

(est2变为est3):tune2fs  -o has_journal  /dev/sdb1

-O^FEATURE  关闭指定特性: tune2fs  -o^ has_journal  /dev/sdb1


二、文件系统标签

1. 指向设备的另一种方法


2. 与设备无关


3. blkid: 块设备属性信息查看

blkid [OPTION]... [DEVICE]

-U UUID 根据指定的 UUID 来查找对应的设备

-L LABEL 根据指定的 LABEL 来查找对应的设备

以根为参考点查询其设备:

grep -r ‘s#^UUID=(.*) / .*#/1#p’ /etc/fstab

sed -rn ‘s#^UUID=(.*) / .*#/1#p’ /etc/fstab

Blkid  -U  sed -rn ‘s#^UUID=(.*) / .*#/1#p’ /etc/fstab


4. e2label:管理 ext 系列文件系统的 LABEL

e2label DEVICE [LABEL]

例如:e2label/dev/sda1/boot

5. findfs: 查找分区

findfs [options]LABEL=

findfs [options] UUID=

 

三、tune2fs

1. tune2fs:重新设定 ext 系列文件系统可调整参数的值

-I   查看指定文件系统超级块信息; super block

-L'LABEL'  修改卷标

-m  # 修预留给管理员的空间百分比

-j   将 ext2 升级为 ext3

-O 文件系统属性启用或禁用, -O^has_journal

-0 调整文件系统的默认挂载选项,-0^acl

例如:tune2fs -o  acl  /dev/sdb1

在sentos6之前版手动创建的 ext 分区,默认没有 ACL 功能

-U  UUID  修改 UUID 号

2. dumpe2fs:

块分组管理,32768块

-h:查看超级块信息,不显示分组信息

在 centos6 之前版手动创建的 ext 分区,默认没有 ACL 功能

 

四、超级块和 INODE TABLE

image.png


以分区2为例,分为启动扇区(Boot Sector 512字节)和存放的文件系统的数据(EXT2 File System);

文件系统数据进行分组(8000多块为一组);以 Block Group1 为例,有一超级块Super Block(存放源数据),GDT 分区表,块位图(Block Bitmap),节点位图(inode Bitmap),节点表(inode Table),数据存放位置(Data Blocks)。

位图:二进制的表格,描述了系统中许多资源的使用情况


五、文件系统检测和修复

1. 常发生于死机或者非正常关机之后

2. 挂载为文件系统标记为“no clean”

3. 注意:一定不要在挂载状态下修复

4. fsck: File System Check

fsck.FS_ TYPE

fsck-t FS_ TYPE

-p 自动修复错误

-r  交互式修复错误

FS_TYPE 一定要与分区上已经文件类型相同

5. e2fsck: ext  系列文件专用的检测修复工具

-y  自动回答为 yes

-f  强制修复

破坏系统(超级块破坏):

dd if=/dev/zero of=/dev/sdb1 count=1M count=10

修复前确保当前挂载是取消的:umount  /mut

修复(自动选择合适的类型):fsck /dev/sdb1

备份超级块所在位置:tune2fs  -l /dev/sda1

修复并不确保数据能找回,只是文件系统修复。


六、挂载 mount

1. 挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为

2. 卸载:为解除此关联关系的过程

3. 把设备关联挂载点:mount Point

mount

4. 卸载时:可使用设备,也可以使用挂载点

umount

5. 挂载点下原有文件在挂载完成后会被临时隐藏

6. 挂载点目录一般为空

7. 一个设备可以同时挂载多个目录,一个目录不可用挂载多个设备。

mout  /dev/sdb2/f2 放在 fdb2 分区内

不可以把 mount sdb2 挂到 mnt 中,会把以前挂的数据消失,看到新的数据,可以取消。所以一个挂载点只能挂一个设备。

一个设备可以同时挂载到多个目录下,一个目录不可以挂载多个目录。

mout  /dev/sdb1 /mnt/sdb2

ls  /mnt/sdb2 这样会把 f2 藏起来

相关文章
|
存储 负载均衡 算法
p2p的文件系统
p2p的文件系统
130 4
|
2月前
|
存储 缓存 Unix
文件系统基础(一)
文件系统基础(一)
35 0
|
11月前
|
存储 数据可视化 Linux
文件系统-
文件系统-
69 0
|
存储 缓存 算法
文件系统(下)
文件系统(下)
166 0
|
存储 缓存 算法
文件系统(上)
文件系统(上)
178 0
|
存储 Linux Windows
【文件系统】
【文件系统】
96 0
|
存储 Ubuntu Unix
Linux文件系统(一)文件系统基本概念
Linux文件系统(一)文件系统基本概念
Linux文件系统(四)文件系统管理命令
Linux文件系统(四)文件系统管理命令
|
存储 Unix Linux
|
存储 固态存储 Java
什么是文件系统| 学习笔记
快速学习什么是文件系统。
179 0
什么是文件系统| 学习笔记