linux 盘格式化并挂载

2022-11-16 14:22:25 浏览数 (2)

一、概论

如果 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

0 人点赞