快捷菜单
常用功能一站直达
更多功能请点顶栏「快捷菜单」
2025年7月25日测试。
1有如下环境:
2一台linux机器,有12块数据盘,一块系统盘。12块数据盘做了lvm,加进了一个vg00卷组。 此时我手动重装系统后,发现12块数据盘还存在老分区,老卷组还在,请问如何删除老卷组及格式化这12个数据盘?环境:


gpt回答
在重装系统后清理旧的LVM卷组(VG)和分区,并重新格式化12块数据盘的步骤如下:
1# 查看所有磁盘信息(确认12块数据盘设备名,如/dev/sdb, /dev/sdc等)
2lsblk -f
3
4# 检查残留的LVM信息(查看旧VG是否仍被系统识别)
5vgs
6pvs
7lvs 1# 1. 停用旧卷组(假设旧VG名为vg00)
2vgchange -a n vg00 # 停用VG
3
4# 2. 删除逻辑卷(LV)
5lvremove /dev/vg00/* # 删除VG下所有LV
6#实际配置过程中,这一步骤没做的,提示找不到vg00,但是不影响效果!!!
7
8# 3. 删除卷组(VG)
9vgremove vg00
10
11# 4. 删除物理卷(PV)
12pvremove /dev/sd[b-m]1 # 假设数据盘为sdb-sdm,且原有分区为sdX11# 使用wipefs擦除磁盘签名(对所有数据盘操作,例如sdb-sdm)
2for disk in /dev/sd{b..m}; do
3 wipefs -a $disk # 清除所有文件系统、RAID、LVM签名
4 echo "已清除 $disk 的签名"
5done
6
7# 验证签名是否清除(应无输出)
8blkid /dev/sd{b..m}效果:(符合预期。)


如果需要重新分区(例如直接使用整盘不分区,或创建新分区):
1# 方案A:直接使用整盘(推荐LVM场景)
2for disk in /dev/sd{b..m}; do
3 echo -e "g\nn\n\n\n\nw\n" | fdisk $disk # 创建GPT分区表和一个完整分区
4 partprobe $disk
5done
6
7# 方案B:手动交互式分区(以/dev/sdb为例)
8fdisk /dev/sdb
9# 交互命令:g(创建GPT表)→ n(新建分区)→ 回车(默认全盘)→ w(保存) 1# 示例:格式化为ext4(对每个数据盘的分区,如/dev/sdb1)
2for partition in /dev/sd{b..m}1; do
3 mkfs.ext4 -F $partition
4 echo "已格式化 $partition 为ext4"
5done
6
7# 或格式化为XFS(高性能场景)
8for partition in /dev/sd{b..m}1; do
9 mkfs.xfs -f $partition
10done数据安全
lsblk输出),避免误操作系统盘(通常是sda)。LVM残留处理
vgchange -a n),否则删除会失败。多路径设备
如果使用多路径设备(如/dev/mapper/mpath*),需通过multipath -ll确认并清理。
自动化脚本
可保存以下完整脚本为clean_disks.sh:
1#!/bin/bash
2VG_NAME="vg00"
3DISKS=(/dev/sd{b..m})
4
5# 停用并删除旧LVM
6if vgs $VG_NAME &>/dev/null; then
7 vgchange -a n $VG_NAME
8 lvremove -f /dev/$VG_NAME/*
9 vgremove -f $VG_NAME
10 pvremove -f ${DISKS[@]}1
11fi
12
13# 清除磁盘
14for disk in ${DISKS[@]}; do
15 wipefs -a $disk
16 echo -e "g\nn\n\n\n\nw\n" | fdisk $disk
17 mkfs.xfs -f ${disk}1
18done1# 检查无残留VG/VG
2vgs; pvs; lvs
3
4# 确认新文件系统
5lsblk -f执行完毕后,12块数据盘将处于干净状态,可重新用于LVM或直接挂
日历 · 精选 · 友链 · 更多
如果内容对你有帮助,欢迎请我喝杯咖啡 ☕



One的公众号
爱折腾博客的小白