[华为云在线课程][Linux磁盘存储和文件系统][第二章文件系统][学习笔记]

网友投稿 753 2022-05-28

文件系统概念

文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。

从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体来说,它负责为用户建立文件,存入,读出,修改,转储文件,控制文件的权限,安全控制,日志,压缩,加密等

支持的文件系统

/lib/modules/`uname -r`/kernel/fs

各种文件系统:https://en.wikipedia.org/wiki/Comparison_of_file_systems

帮助:man 5 fs

文件系统类型

Linux常用文件系统

ext2:Extended file System适用于那些分区容量不是太大,更新也不频繁的情况,例如/boot分区

ext3:是ext2的改进版本,其支持日志功能,能够帮助系统从非正常关机导致的异常中恢复

ext4:是ext文件系统的最新版,提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统,以及速度的提升

xfs:SGI,支持最大8EB的文件系统

swap

iso9660光盘

btrfs(Oracle)

reiserfs

Windows常用文件系统

FAT32

NTFS

exFAT

Unix:

FFS(fast)

UFS(unix)

IFS2

网络文件系统:

NFS

CIFS

集群文件系统:

GFS2

OCFS2(Oracle)

分布式文件系统

fastdfs

ceph

moosefs

mogilefs

glusterfs

Lustre

RAW:

裸文件系统,未经处理或者未经格式化产生的文件系统

常用的文件系统特性:

FAT32:

最多只能支持16TB的文件系统和4GB的文件

NFTS:

最多只能支持16EB的文件系统和16EB的文件

EXT3:

最多只能支持32TB的文件系统和2TB的文件,实际只能容纳2TB的文件系统和16GB的文件

Ext3目前只支持32000个子目录

Ext3文件系统使用32位空间记录块数量和inode数量

当数据写入到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块

EXT4:

EXT4是Linux系统下的日志文件系统,是EXT3文件系统的后继版本

EXT4的文件系统容量达到1EB,而支持单个文件则达到16TB

理论上支持无限数量的子目录

EXT4文件系统使用64位空间记录块数量和inode数量

EXT4的多块分配器支持一次调用分配多个数据块

修复速度更快

XFS:

根据所记录的日志在很短的时间内迅速恢复磁盘文件内容

用优化算法,日志记录对整体文件操作影响非常小

是是一个全64位的文件系统,最大可以支持8EB的文件系统,而支持单个文件则达到8EB

能以接近裸设备I/O的性能存储数据

查看支持的文件系统:

cat /proc/filesystems

文件系统的组成部分

内核中的模块:EXT4,XFS,VFAT

Linux的虚拟文件系统:VFS

用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat

文件系统选择管理

创建文件系统

mkfs命令:

mkfs.FS_TYPE /dev/DEVICE

ext4

xfs

btrfs

vfat

mkfs.t FS_TYPE /dev/DEVICE

-L ‘LABEL’ 设定卷标

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

常用选项:

-t {ext2|ext3|ext4|xfs} 指定文件系统类型 -b {1024|2048|4096} 指定块block大小 -L 'LABEL' 设置卷标 -j 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3 -i # 为数据空间中每多少个字节创建一个inode,不应该小于block大小 -N # 指定分区中创建多少个inode -I 一个inode记录占用的磁盘空间大小,128-4096 -m # 默认5%,为管理人员预留空间占总空间的百分比 -O FEATURE[...] 启用指定特性 -O ^FEATURE 关闭指定特性

查看和管理分区信息

blkid 可以查看块设备属性信息

格式:

blkid [OPTION]... [DEVICE]

常用选项:

[华为云在线课程][Linux磁盘存储和文件系统][第二章文件系统][学习笔记]

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

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

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

e2label DEVICE [LABEL]

findfs:查找分区

findfs [options] LABEL=

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

-l 查看指定文件系统超级块信息;super block -L 'LABEL' 修改卷标 -m # 修改预留给管理员的空间百分比 -j 将ext2升级为ext3 -O 文件系统属性启用或禁用,-O ^has_journal -o 调整文件系统的默认挂载选项,-o ^acl -U UUID 修改UUID号

dumppe2fs:显示ext文件系统信息,将磁盘块分组管理

-h 查看超级块信息,不显示分组信息 例如:dumpe2fs /dev/sda1

块组描述符表(GDT)

EXT文件系统每一个块组信息使用32字节描述,这32个字节称为块组描述符,所有块组的块组描述符组成块组描述符表GDT(Group Descriptor Table)。虽然每个块组都需要块组描述符来记录块组的信息和属性元数据,但是不是每个块组中都存放了块组描述符。将所有块组的块组信息组成一个GDT保存,并将该GDT存放于某些块组中,类似存放superblock和备份superblock的块

文件系统检测和修复

文件系统夹故障常发生于死机或非正常关机之后,挂载为文件系统标记为"no clean"

注意:一定不要在挂载状态下执行下面命令修复

fsck:File System Check

fsck.FS_TYPE fsck -t FS_TYPE

注意:FS_TYPE 一定要与分区上的文件类型相同

常用选项:

-a 自动修复 -r 交互式修复错误

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

常用选项:

-y 自动回答为yes -f 强制修复 -p 自动进行安全的修复文件系统问题

xfs_repair:xfs文件系统专用检测修复工具

常用选项:

-f 修复文件,和设备 -n 只检查 -d 允许修复只读的挂载设备,在单用户下修复/时使用,然后立即reboot

例子:修改破坏的ext文件系统

mount /dev/sdb2 /mnt cp /etc/fstab /mnt/f1 cp /etc/fstab /mnt/f2 ls /mnt dd if=/dev/zero of=/dev/sdb2 bs=1M count=1 ls /mnt tune2fs -l /dev/sdb2 df umount /mnt e2fsck /dev/sdb2 e2fsck /dev/sdb2 -y mount /dev/sdb2 /mnt ls /mnt cat /mnt/f1

Linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:oracle数据库巡检内容
下一篇:面试官:看你简历说精通序列化与反序列化
相关文章