一、概论
如果 linux 要格式化盘,需要先解挂,才能格式化,格式化的速度比 rm -rf 会快,作用一样。 如果是初始化机器挂载盘(不要解绑操作),直接查看第三章挂载和第四章验证 下面是需要涉及到的命令
代码语言:javascript复制# 查看已经挂载的磁盘的 id 和目录
blkid
# 查看已经挂载的磁盘大小和目录
df -h
# 查找所有盘和大小,包含挂载和未挂载的(简单信息)
lsblk
# 查找所有盘和大小,包含挂载和未挂载的(详细信息)
fdisk -l
# 解挂盘对应的目录
umount /data
二、格式化前
2.1 我们先使用 blkid 查看挂载的磁盘
可以看到挂载了 /dev/sr0, /dev/vda1, /dev/vda2, /dev/vdb 四个磁盘,以及它们的格式(TYPE)
代码语言:javascript复制[root@VM-111-22-centos ~]# blkid
/dev/sr0: UUID="2022-09-07-13-35-44-00" LABEL="config-2" TYPE="iso9660"
/dev/vda1: LABEL="EFI-BOOT" UUID="01BB-429E" TYPE="vfat" PARTLABEL="primary" PARTUUID="631b5568-253a-4d43-afcb-cf8b67b574e0"
/dev/vda2: UUID="ea6dc3b4-e4e9-4c4e-b2ea-683b41068b79" TYPE="ext4" PARTLABEL="primary" PARTUUID="def2c856-148c-4847-b6fb-c152a8bc1679"
/dev/vdb: UUID="ffeca34f-1756-4431-9a42-a8649991f6e1" TYPE="xfs"
2.2 查找目录对应盘符
查看格式化的目录对应的盘符,比如我们要格式化的是 /data 目录
代码语言:javascript复制[root@VM-111-22-centos ~]# df -h | grep data
/dev/vdb 500G 75G 425G 16% /data
overlay 500G 75G 425G 16% /data/docker/overlay2/4dbcd75fdf94bd24dc75542a59b2a518d3bcf3def1874ad088ac0dac839bbc09/merged
overlay 500G 75G 425G 16% /data/docker/overlay2/7922d26d6a9f48b1a22b0d4b0e2ed8949896c300756c4ec520d016df154542c5/merged
overlay 500G 75G 425G 16% /data/docker/overlay2/9961d4a9e0f66581f7c70b76dbe6a16d8f76b43b8cfb69df89d11e358b16c5da/merged
可以看到 /data 对应的是 /dev/vdb 盘,下面格式化会用到
2.3 解绑 /data
代码语言:javascript复制umount /data
解挂失败操作 解挂原因是有其他进程使用,我们找到进程 id,并 kill 它。
代码语言:javascript复制# 解除挂载盘的使用进程
lsof | grep data
kill -9 28252
umount /data
三、格式化并挂载
3.1 格式化并挂载
代码语言:javascript复制# 格式化, xfs 和 ext4 区别,xfs 性能更好
mkfs.xfs /dev/vdb
# 挂载,追加一行挂载命令(永久挂载)
sudo vi /etc/fstab
# 将 /dev/vdb /data xfs defaults 0 0 拷贝到最后一行
# 挂载
mount -a
3.2 如何找到格式化的盘(可选)
代码语言:javascript复制3.2.1 如果是首次挂载新的磁盘,可通过 lsblk 和 blkid 比对出未挂载磁盘挂载查看
比如 blkid 显示已经挂载了 /dev/sr0,/dev/vda1,/dev/vda2 三个盘
代码语言:javascript复制[root@VM-111-22-centos ~]# blkid
/dev/sr0: UUID="2022-09-07-13-35-44-00" LABEL="config-2" TYPE="iso9660"
/dev/vda1: LABEL="EFI-BOOT" UUID="01BB-429E" TYPE="vfat" PARTLABEL="primary" PARTUUID="631b5568-253a-4d43-afcb-cf8b67b574e0"
/dev/vda2: UUID="ea6dc3b4-e4e9-4c4e-b2ea-683b41068b79" TYPE="ext4" PARTLABEL="primary" PARTUUID="def2c856-148c-4847-b6fb-c152a8bc1679"
3.2.2 lsblk 显示所有的盘有 vdb, vda, sr0,这里 vdb 就是没有挂载的
代码语言:javascript复制[root@VM-111-22-centos ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdb 254:16 0 500G 0 disk
sr0 11:0 1 17M 0 rom
vda 254:0 0 100G 0 disk
├─vda2 254:2 0 99.5G 0 part /
└─vda1 254:1 0 512M 0 part /boot/efi
代码语言:javascript复制3.2.3 查看 vdb 的目录并挂载
可以看到 vdb 目录是 /dev/vdb
代码语言:javascript复制[root@VM-111-22-centos ~]# fdisk -l | grep vdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/vdb: 536.9 GB, 536870912000 bytes, 1048576000 sectors
# 格式化, xfs 和 ext4 区别,xfs 性能更好
mkfs.xfs /dev/vdb
# 挂载,追加一行挂载命令(永久挂载)
sudo vi /etc/fstab
# 将 /dev/vdb /data xfs defaults 0 0 拷贝到最后一行
# 挂载
mount -a
四、验证
代码语言:javascript复制# 查看挂载情况
df -h