分割磁盘与制作文件系统(格式化)


分割磁盘与制作文件系统(格式化)

引用于《鸟哥的私房菜》博客,这是从他博客上转载总结的内容,标注一下。

分割磁盘步骤

lsblk [-dfimpt] [device]
选项与参数:
-d  :仅列出磁碟本身,并不会列出该磁碟的分割资料
-f  :同时列出该磁碟内的档案系统名称
-i  :使用 ASCII 的线段输出,不要使用复杂的编码 (再某些环境下很有用)
-m  :同时输出该装置在 /dev 底下的权限资料 (rwx 的资料)
-p  :列出该装置的完整档名!而不是仅列出最后的名字而已。
-t  :列出该磁碟装置的详细资料,包括磁碟伫列机制、预读写的资料量大小等
blkid:
虽然 lsblk 已经可以使用 -f 来列出文件系统与设备的 UUID 资料,
不过,鸟哥还是比较习惯直接使用 blkid 来找出设备的 UUID 喔!
什么是 UUID 呢? UUID 是全局单一识别码 (universally unique identifier)
Linux 会将系统内所有的设备都给予一个独一无二的识别码,
这个识别码就可以拿来作为挂载或者是使用这个设备/档案系统之用了。

parted 列出磁盘的分割表类型与分割信息

MBR 分割表请使用 fdisk 分割, GPT 分割表请使用 gdisk 分割!

Linux 的档案系统编号都是 8300

当Linux还在使用该硬盘时,为了担心电脑出现问题,分区表并没有更新哦,像这种情况会有两种方法来处理

  • 重新开机(很讨厌,在服务器不能停止运行时很难过)
  • 通过 partprobe 指令来更新
    • partprobe 指令使用时 +s 可以使结果展示在屏幕上,也可以不添加,但是添加上就更直观一些。

proc/partitions 里面的内容是核心的分割记录,用cat命令可以将其展示出来。

mkfs -> Make File System 制作文件系统

XFS文件系统 mkfs.xfs

XFS文件系统对于大型文件系统的管理十分有效,他的日志系统甚至可以挂载到另外一个盘里(可以是SSD,提高读取的速度),用-i这个参数设置。

[root@study ~]# mkfs.xfs [-b bsize] [-d parms] [-i parms] [-l parms] [-L label] [-f] \
                         [-r parms] 装置名称
选项与参数:
关于单位:底下只要谈到『数值』时,没有加单位则为 bytes 值,可以用 k,m,g,t,p (小写)等来解释
          比较特殊的是 s 这个单位,它指的是 sector 的『个数』喔!
-b  :后面接的是 block 容量,可由 512 到 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(512bytes大小)』的意思
      swidth=数值   :就是 su*sw 的数值,但是以『几个 sector(512bytes大小)』来设定
-f  :如果装置内已经有档案系统,则需要使用这个 -f 来强制格式化才行!
-i  :与 inode 有较相关的设定,主要的设定值有:
      size=数值     :最小是 256bytes 最大是 2k,一般保留 256 就足够使用了!
      internal=[0|1]:log 装置是否为内建?预设为 1 内建,如果要用外部装置,使用底下设定
      logdev=device :log 装置为后面接的那个装置上头的意思,需设定 internal=0 才可!
      size=数值     :指定这块登录区的容量,通常最小得要有 512 个 block,大约 2M 以上才行!
-L  :后面接这个档案系统的标头名称 Label name 的意思!
-r  :指定 realtime section 的相关设定值,常见的有:
      extsize=数值  :就是那个重要的 extent 数值,一般不须设定,但有 RAID 时,
      最好设定与 swidth 的数值相同较佳!最小为 4K 最大为 1G 。
  • 我有两个线程的 CPU 数量,所以 agcount 最好指定为 2
  • 当初设定RAID的 stripe指定为256K这么大,因此su最好设定为256k
  • 设定的磁盘阵列有 8 颗,因为是 RAID5 的设定,所以有一个 parity (备份碟),因此指定 sw 为 7
  • 由上述的数据中,我们可以发现数据宽度(swidth)应该就是 256K*7 得到 1792K,可以指定 extsize 为 1792k

EXT4 文件系统 mkfs.ext4

如果想要格式化为 ext4 的传统 Linux 文件系统的话,可以使用 mkfs.ext4 这个指令即可! 这个指令的参数快速的介绍一下!

mkfs.ext4 [-b size] [-L label] 装置名称
选项与参数:
-b  :设定 block 的大小,有 1K, 2K, 4K 的容量,
-L  :后面接这个装置的标头名称。

Linux dumpe2fs命令:查看文件系统信息

其他档案系统mkfs

mkfs 其实是个综合指令而已,当我们使用 mkfs -t xfs 时,它就会跑去找 mkfs.xfs 相关的参数给我们使用! 如果想要知道系统还支持哪种文件系统的格式化功能,直接按 [tab] 就很清楚了!