[转帖]Linux磁盘格式化(mkfs、mkfs.xfs、mkfs.ext4)、Linux文件系统的校验(xfs_repair、fsck_ext4)

linux,磁盘,格式化,mkfs,xfs,ext4,文件系统,校验,repair,fsck · 浏览次数 : 0

小编点评

# mkfs.ext4 文件系统格式化 **命令只有当文件系统出错且为root身份时在使用,不要随意使用,可能会对系统造成危害** **修复文件系统时,可能会造成文件系统的改变,所以执行命令时,被检测的硬盘分区不能被挂载,若挂载则不能顺利的修复文件系统,需要卸载后再处理** **以下命令仅针对xfs于ext4文件系统进行讲解** **1. xfs_repair处理XFS文件系统功能** - `xfs_repair [选项] 设备名称选项`: - `-f`:后面的设备其实是个文件而不是设备时使用 - `-n`:单纯检查并不修改文件系统的任何数据 - `-d`:通常用在单人维护模式下,针对根目录(/)进行检查与修复(很危险,不要随便使用) **注意事项:** - Linux的根目录无法被卸载,所以需要使用-d进入单人维护模式处理,但是跟某的检查与修复尽量避免例如:校验/dev/sda2分区xfs_repair /dev/sda2七、fsck_ext4处理ext4文件系统功能 **2. fsck_ext4对ext4文件系统功能** - `fsck_ext4 [选项] 设备名称选项`与参数: - `-p`:当文件系统在修复时,如果有需要回复y的操作,自动回复-f - `-b`:强制详细检查 **3. fsck没有发现任何unclean的标识,不会主动进入详细检查的** **4. fsck详细检查-D:针对文件系统下的目录进行最佳化配置-b的参数选项** - `-p`:当文件系统在修复时,如果有需要回复y的操作,自动回复-f - `-b`:后面跟的是超级区块的位置,这个选项一般用不到 **5. 文件系统修复完,会有警告信息fsck_ext4 -b 32768 /dev/sda2** **6. 文件系统正确,进行强制校验fsck_ext4 -f /dev/sda2**

正文

 

https://blog.csdn.net/qq_41453285/article/details/86822769

一、mkfs命令
磁盘分区完毕后自然就是要进行文件系统的格式化
格式化其实就是创建文件系统。命令就是===>mkfs(make fileststem),这个命令只是个综合命令。它会调用正确的文件系统格式化工具
功能:mkfs是个综合命令
使用
mkfs [tab] [tab]:按下两下tab键查看系统支持哪些文件系统的格式化功能
mkfs -t [文件系统格式名]===>等同于mkfs.文件系统格式名
mkfs -t xfs 与 mkfs.xfs相同
二、格式化XFS文件系统(mkfs.xfs)
XFS文件系统简介:https://dongshao.blog.csdn.net/article/details/86694903
功能:创建xfs文件系统
格式
mkfs.xfs [-b 参数] [-d 参数] [-i 参数] [-l 参数] [-L 参数] [-f] [-r 参数] 设备名称
第一次执行mkfs.xfs可能需要安装:apt-get install xfsprogs
相关参数
-b:后面接的是区块容量,范围是512B-64K。不过Linux最大为4K
-d:后面接的是data section(数据区)的相关参数值
agcount=数值 设置需要几个存储群组的意思(AG),通常与CPU有关
agsize=数值 每个AG设置为多少容量的意思。通常agcount/agsize只选一个设置
file 指的是格式化的设备是个文件而不是个设备的意思(例如虚拟磁盘)
size=数值 data section的容量。你可以设置大小
su=数值 当有RAID(磁盘列阵)时,代表stripe的数值大小,与下面的sw搭配使用
sw=数值 当有RAID时,用于保存数据的磁盘数量(需扣除备份盘与备用盘)
sunit=数值 与su意思相同。不过单位使用的是几个sector(512B)的意思(一个stripe由多少个扇区组成)
swidth=数值 就是su*sw的数值,但是以几个sector(512B)来设置
-f:如果设备内已经有了文件系统,则需要使用-f强制格式化
-i的参数:与inode有较相关的设置
size=数值 最小的是256B,最大是2K。一般使用256B就足够了
internal=[0/1] log设备是否为内置。默认1为内置,如果使用外部设备,使用下面设置
logdev=设备名 log设备为后面接的那个设备上面的意思,需设置internal=0才可以
size=数值 指定这块登录区的容量,通常最小得要512个区块,大约2M=以上才行
-L参数:后面接这个文件系统的标头名称Label name
-r参数:指定realtime section(实时运行区)的相关设置值
extsize=数值 就是那个重要的extent区块数值,一般不需设置。但有RAID时,最好设置与swidth的数值相同较佳。最小为4K,最大为1G
演示案例
使用mkfs.xfs命令时,一般默认回车就可以了,使用系统默认的
演示案例1:使用gdisk新建一个sda2新分区,并格式化成为xfs文件系统

 


演示案例2:设置CPU的数量
有时我们为了使用多个数据流来读写系统,以增加速度,需要设置多个agcount数量,agcount与CPU的内核数有关
查看一下系统的CPU数量:grep 'processor' /proc/cpuinfo
如果需要两个线程的CPU数量时:mkfs.xfs -f -d agcount=2 /dev/sda2
XFS文件系统for RAID性能优化
磁盘列阵(RAID):磁盘列阵是多块磁盘组成一块大磁盘的意思,利用同步写入到这块磁盘的技术,不但可以加快读写速度,还可以让某一块磁盘坏掉时,整个文件系统还是可以持续运行,这就是所谓的容错
结构特点
stripe:磁盘列阵通过将文件先细分成为数个小型的分区区块(stripe)之后,然后将众多的stripes分别放到磁盘列阵里面的所有磁盘,所以一个文件是被同时写入到多个磁盘中,性能会好一些。stripe与你的文件数据容量以及性能相关性较高
stripe的大小:分区区块的数值介于4K-1M之间,这与你的磁盘列阵卡支持的选项有关。当你的系统多大是大型文件时,一般建议stripe大一些,如果小文件较多,建议设置64K左右
安全性:在这些磁盘里面,会保留数个校验磁盘(parity disk),以及可能会保留一个以上的备用磁盘(spare disk)。这些磁盘会占用总磁盘列阵的容量
演示案例:使用mkfs.xfs格式化磁盘列阵。我们假设:
我有两个线程的CPU数量,所以agcount最好指定为2
RAID的stripe指定为256K,则su也指定为256K
磁盘列阵总共有8块,因为RAID 5标准的设置,有1个校验盘,所以指定sw为7
由上述可知,数据宽度(swidth)指定为256K*7=1792K,extsize=1792K
mkfs.xfs -f -d agcount=2,su=256k,sw=7 -r extsize=1792k /dev/sda2
承上,如果我们使用sunit与swidth来设置,则
sunit=256K/512B*1024B=512个sector
swidth=7个磁盘*sunit=7*512=3584个sector
mkfs.xfs -f -d agcount=2,sunit=512,swidth=3584 -r extsize=1792k /dev/sda2
三、ext4文件系统格式化(mkfs.ext4)
功能:创建ext4文件系统
格式
mkfs.ext4 [-b 参数] [-L 参数] 设备名称
参数
-b:后面设置区块的大小,有1K、2K、4K
-L:后面接这个设备的标头名称Label name
提示:
ext4的默认值已经相当合适我们系统使用,大部分的默认值写入至/etc/mke2fs.conf这个文件中
因此我们无需额外指定inode的容量,系统都帮我们做好了默认值,只需要知道uuid即可
演示案例:
mkfs.ext4 /dev/sda2
四、其他文件系统格式化
mkswap 设备文件名:用于内存交换分区的格式化
mkfs.vfta 设备文件名:vfat文件系统格式的格式化
五、Linux文件系统的校验
系统运行时,如果硬件或者电源等出问题,或者文件系统运行时,磁盘与内存数据异步的状态发生,系统会出错
此时就需要文件系统的校验,不同的文件系统命令不一样,下面我们主要针对xfs于ext4文件系统进行讲解
下面的命令只有当文件系统出错且为root身份时在使用,不要随意使用,可能会对系统造成危害
重点:修复文件系统时,可能会造成文件系统的改变,所以执行命令时,被检测的硬盘分区不能被挂载,若挂载则不能顺利的修复文件系统,需要卸载后再处理。当然,没有挂载的文件系统可以处理
六、xfs_repair处理XFS文件系统
功能:对XFS文件系统进行检测或者修复
格式:
xfs_repair [选项] 设备名称
选项:
-f:后面的设备其实是个文件而不是设备时使用
-n:单纯检查并不修改文件系统的任何数据
-d:通常用在单人维护模式下,针对根目录(/)进行检查与修复(很危险,不要随便使用)
注意事项:Linux的根目录无法被卸载,所以需要使用-d进入单人维护模式处理,但是跟某的检查与修复尽量避免
例如:校验/dev/sda2分区
xfs_repair /dev/sda2
七、fsck_ext4处理ext4文件系统
功能:对ext4文件系统进行检测或者修复
格式:
fsck_ext4 [选项] [-b 参数] 设备名称
选项与参数:
-p:当文件系统在修复时,如果有需要回复y的操作,自动回复
-f:强制详细检查。一般来说,fsck没有发现任何unclean的标识,不会主动进入详细检查的。如果加上这个参数,fsck就会详细检查
-D:针对文件系统下的目录进行最佳化配置
-b的参数:后面跟的是超级区块的位置,这个选项一般用不到。如果你的超级区块受损时,就可以使用这个参数利用文件系统的备份超级区块来尝试修复。一般来说,超级区块备份在:1K区块在8193、2K区块在16384、4K区块在32768
演示案例
①对32768区块进行校验:如果文件系统出问题,会提示你是否输入y进行修复。并且文件系统修复完,会有警告信息
fsck_ext4 -b 32768 /dev/sda2
②文件系统正确,进行强制校验
fsck_ext4 -f /dev/sda2
————————————————
版权声明:本文为CSDN博主「董哥的黑板报」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41453285/article/details/86822769

与[转帖]Linux磁盘格式化(mkfs、mkfs.xfs、mkfs.ext4)、Linux文件系统的校验(xfs_repair、fsck_ext4)相似的内容:

[转帖]Linux磁盘格式化(mkfs、mkfs.xfs、mkfs.ext4)、Linux文件系统的校验(xfs_repair、fsck_ext4)

https://blog.csdn.net/qq_41453285/article/details/86822769 一、mkfs命令磁盘分区完毕后自然就是要进行文件系统的格式化格式化其实就是创建文件系统。命令就是 >mkfs(make fileststem),这个命令只是个综合命令。它会调用正确的

[转帖]《Linux性能优化实战》笔记(十五)—— 磁盘IO的工作原理

前一篇介绍了文件系统的工作原理,这一篇来看看磁盘IO的工作原理 一、 磁盘 1. 按存储介质分类 磁盘是可以持久化存储的设备,根据存储介质的不同,常见磁盘可以分为两类:机械磁盘和固态磁盘。 机械磁盘,也称为硬盘驱动器(Hard Disk Driver,HDD),主要由盘片和读写磁头组成,数据存储在盘

[转帖]​Linux开源存储漫谈(2)IO性能测试利器fio

fio(Flexible I/O Tester)正是非常常用的文件系统和磁盘 I/O 性能基准测试工具。提供了大量的可定制化选项,可以用来测试,裸盘、一个单独的分区或者文件系统在各种场景下的 I/O 性能,包括了不同块大小、不同 I/O 引擎以及是否使用缓存等场景。 ubuntu安装fio非常简单

[转帖]Linux 磁盘I/O 调度算法 说明

2022-08-23 13:031361转载Linux 1 Linux 4.0 IO协议栈框架图 I/O 调度算法在各个进程竞争磁盘I/O的时候担当了裁判的角色。他要求请求的次序和时机做最优化的处理,以求得尽可能最好的整体I/O性能。 Linux 4.0 IO协议栈框架图 I/O调度程序的总结 当向

[转帖]Linux磁盘二次格式化后写入速度巨慢之解决方案

https://blog.csdn.net/hellfu/article/details/109127640 磁盘sdc格式化做成lvm后,写入速度不稳定,大多数在5M/s一下。 echo 512 >/sys/block/sdc/queue/nr_requests 本来cat /sys/block/

[转帖]linux磁盘空间占用满,但是找不到大文件的解决办法

https://blog.csdn.net/ChenLuLiang/article/details/128033237 1.查看磁盘空间使用情况(它会统计碎片占用的磁盘空间): df -Th 2.然后进入到根目录下 cd /3.查看磁盘每个目录的大小 du -h --max-depth=1 发现每个

[转帖]Linux磁盘I/O(二):使用vm.dirty_ratio和vm.dirty_background_ratio优化磁盘性能

文件缓存是一项重要的性能改进,在大多数情况下,读缓存在绝大多数情况下是有益无害的(程序可以直接从RAM中读取数据)。写缓存比较复杂,Linux内核将磁盘写入缓存,过段时间再异步将它们刷新到磁盘。这对加速磁盘I/O有很好的效果,但是当数据未写入磁盘时,丢失数据的可能性会增加。 当然,也存在缓存被写爆的

[转帖]Linux磁盘I/O(一):Cache,Buffer和sync

Cache和Buffer的区别 磁盘是一个块设备,可以划分为不同的分区;在分区之上再创建文件系统,挂载到某个目录,之后才可以在这个目录中读写文件。Linux 中“一切皆文件”,我们平时查看的“文件”是普通文件,磁盘是块设备文件,我们可以通过执行 “ls -l <路径>” 查看它们的区别: $ ls

[转帖]linux 磁盘队列深度nr_requests 和 queue_depth

linux 磁盘队列深度nr_requests 和 queue_depth nr_requests 和 queue_depth 修改配置值 nr_requests 和 queue_depth 区别 iostat 的avgqu-sz lsscsi -l 的队列大小 iostat nr_requests

[转帖]linux磁盘IO读写性能优化

在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,我们可以 动态调整请求队列数来提高效率,默认的请求队列数存放在/sys/block/xvda/queue/nr_requests 文件中,注意:/sys/block/xvda ,这里 xvda 写的是你自己的硬盘名,因我的是vps所