Linux磁盘格式化
Linux中格式化文件系统的原理
分区的最小单位是sector
(扇区),一个扇区是512B
(字节);
格式化的详细操作:
- 会立刻分配一部分空间作为
inode
节点空间; - 创建
inode
节点占用的空间,剩下的空间用作划分block
,block
包含了多个扇区.1个block
等于2^n
个扇区,如果n=0,那么一个block
就等于1个扇区的大小,如果n=1,那么block
就等于2个扇区的大小,如果n=2,那么block
就等于4个扇区的大小.单个block
越大,就意味着粒度越大. 划分block
的目的是要将文件以block
的数量来存放.
block大小的选择
block
越大对磁盘的读取效果就越好,block
大了,一次性读取的空间就变多了,这样读取效率就会提升.
block
并不是越大越好,如果block
太大,但是你存放的文件特征是是小文件,那么就会造成大量磁盘的浪费.
Linux格式化磁盘操作步骤
查看磁盘分区的uuid
# 查看/dev/sdb1的uuid
blkid /dev/sdb1
mkfs格式化命令
格式化命令
格式化
磁盘之前
,磁盘要先umount
,否则无法执行
。
参考: https://help.aliyun.com/document_detail/131111.html
基本使用方法
[rocky root ~]# mkfs -v
用法:mkfs.ext2 [-c|-l 文件名] [-b 块大小] [-C 簇大小]
[-i 每inode的字节数] [-I inode大小] [-J 日志选项]
[-G 弹性组大小] [-N inode数] [-d 根目录]
[-m 保留块所占百分比] [-o 创始系统名]
[-g 每组的块数] [-L 卷标] [-M 上一次挂载点]
[-O 特性[,...]] [-r 文件系统版本] [-E 扩展选项[,...]]
[-t 文件系统类型] [-T 用法类型] [-U UUID] [-e 错误行为][-z 撤销文件]
[-jnqvDFKSV] 设备 [块数]
查看支持的文件系统
# 查看mkfs支持的所有文件格式类型
输入mkfs按两下tab键
格式化分区为xfs格式
https://help.aliyun.com/document_detail/131111.html
# mkfs.格式 分区路径
mkfs.xfs /dev/sdb1
格式化完成后进行挂载即可
格式化分区为Ext4文件系统
https://help.aliyun.com/document_detail/131111.html
# mkfs.格式 分区路径
mkfs.ext4 /dev/sdb1
Ext4文件系统的优化参数
# -T largefile 指定文件系统的优化参数,以更好地处理大文件
mkfs.ext4 -T largefile /dev/sdc1
当使用 largefile
选项创建 ext4
文件系统时,会对文件系统的一些参数进行优化
,以提高对大文件
的性能
和效率
。具体的优化可能包括以下方面:
- 块大小(Block Size):ext4 文件系统支持不同大小的块,而 largefile 选项可能会使用较大的块大小。较大的块大小可以减少磁盘上的索引节点(inode)数量,提高大文件的存储效率和读写性能。
- 预分配(Preallocation):使用 largefile 选项创建的 ext4 文件系统可能会更积极地进行文件预分配。这意味着在文件创建时会预先分配一定的磁盘空间,以避免文件的频繁扩展和碎片化,提高对大文件的写入性能。
- 日志(Journaling):ext4 文件系统使用日志(journal)来记录文件系统的变更,以保证数据的一致性和可恢复性。largefile 选项可能会对日志系统进行调整,以更好地适应大文件的写入操作。
largefile
选项这在需要处理大型媒体文件
、虚拟机映像
、数据库文件
等场景下非常有用。
largefile
选项并非适用
于所有情况。对于小文件
和常规文件
操作,使用默认
的 ext4 文件系统参数可能更为合适
。
格式化为vfat文件系统
# 安装dosfstools
yum install -y dosfstools
# 格式化
mkfs.vfat /dev/sdb3
格式化为ntfs文件系统
# 格式化为ntfs文件系统
## -Q: 快速格式化
## -v: 输出格式化过程中的详细信息
## -F: 创建一个主引导记录 (MBR)。MBR 是磁盘的第一个扇区,包含引导操作系统所需的信息。
## -L: 设置卷标。这里的 /dev/sda1 是要格式化的分区的设备名
mkntfs -Q -v -F -L /dev/sda1
强制格式化
强制格式化之前,磁盘要先umount
,否则无法执行。
# -f 强制
mkfs.xfs -f /dev/vdb1
裸盘格式化
# 裸盘格式化为xfs
## 裸盘不带分区编号
mkfs.xfs /dev/sdb
# 裸盘格式化貌似只支持ext4---可以跳过创建分区表步骤
## mkfs.ext4 磁盘路径(不带分区编号)
mkfs.ext4 /dev/vdb
裸盘格式化
后是loop
分区表,表示整盘分区.裸盘
不带分区编号
.
擦除磁盘数据
# 清除磁盘上已知的文件系统、RAID 或者 Dm-Crypt 签名
## -a :清除设备上所有的文件系统、RAID、Dm-Crypt 等签名,不提示确认。
## -f :强制执行清除操作,不提示确认。
## -o :仅输出签名的偏移量。
## -t <类型> :指定要清除的文件系统或签名类型,如 ext2、msdos、jfs、xfs、btrfs、swap、udf、ISO9660、Dm-Crypt、PReP Boot、GPT、vfat、ntfs、reiserfs 等。
wipefs /dev/sdb