0
点赞
收藏
分享

微信扫一扫

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


一、mkfs命令


磁盘分区完毕后自然就是要进行文件系统的格式化​格式化​其实就是创建文件系统。命令就是===>mkfs(make fileststem),这个命令只是个综合命令。它会调用正确的文件系统格式化工具​功能:​mkfs是个综合命令​使用

  • mkfs [tab] [tab]:按下两下tab键查看系统支持哪些文件系统的格式化功能
  • mkfs -t [文件系统格式名]===>等同于mkfs.文件系统格式名
  • mkfs -t xfs 与 mkfs.xfs相同


二、格式化XFS文件系统(mkfs.xfs)


  • XFS文件系统简介​​​​
  • 功能:​创建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文件系统

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

Linux磁盘格式化(mkfs、mkfs.xfs、mkfs.ext4)、Linux文件系统的校验(xfs_repair、fsck_ext4)_mkfs.ext4_02

  • 演示案例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
  • 我是小董,V公众点击"笔记白嫖"解锁更多【Linux入门基础】资料内容。

Linux磁盘格式化(mkfs、mkfs.xfs、mkfs.ext4)、Linux文件系统的校验(xfs_repair、fsck_ext4)_Linux文件系统校验_03


举报

相关推荐

0 条评论