我想删除 Linux 系统中 LVM 上配置的软件 raid-1 阵列(当它处于降级状态时),但无法删除。我甚至尝试使用 Knoppix Live CD 删除与 LVM 关联的 RAID-1,但这次尝试也失败了。当我分析问题时,有一个与 RAID 一起配置的 LVM,并且逻辑卷 (vg0-root) 安装在“/”文件系统上。您能否建议任何删除此 Raid-1 阵列而不丢失数据的方法。
请找出系统配置:
root@:~# fdisk -l
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000bb738
Device Boot Start End Blocks Id System
/dev/sdb1 2048 34613373 17305663 da Non-FS data
/dev/sdb4 * 34613374 156248189 60817408 fd Linux raid autodetect
Partition 4 does not start on physical sector boundary.
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000bb738
Device Boot Start End Blocks Id System
/dev/sda1 2048 34613373 17305663 da Non-FS data
/dev/sda4 * 34613374 156248189 60817408 fd Linux raid autodetect
Partition 4 does not start on physical sector boundary.
root@:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 16.5G 0 part
└─sda4 8:4 0 58G 0 part
└─md0 9:0 0 58G 0 raid1
├─vg0-swap (dm-0) 252:0 0 1.9G 0 lvm [SWAP]
├─vg0-root (dm-1) 252:1 0 19.6G 0 lvm /
└─vg0-backup (dm-2) 252:2 0 19.6G 0 lvm
sdb 8:16 0 465.8G 0 disk
├─sdb1 8:17 0 16.5G 0 part
└─sdb4 8:20 0 58G 0 part
root@S761012:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda4[0]
60801024 blocks super 1.2 [2/1] [U_]
unused devices: <none>
root@:~# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Sep 23 02:59:04 2015
Raid Level : raid1
Array Size : 60801024 (57.98 GiB 62.26 GB)
Used Dev Size : 60801024 (57.98 GiB 62.26 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Tue Mar 7 23:38:20 2017
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Name : Raja:0
UUID : 8b007464:369201ca:13634910:1d1d4bbf
Events : 823063
Number Major Minor RaidDevice State
0 8 4 0 active sync /dev/sda4
1 0 0 1 removed
root@:~# mdadm --manage /dev/md0 --fail /dev/sda4
mdadm: set device faulty failed for /dev/sda4: Device or resource busy
root@:~# mdadm --manage /dev/md0 --remove /dev/sda4
mdadm: hot remove failed for /dev/sda4: Device or resource busy
root@:~# mdadm --stop /dev/md0
mdadm: Cannot get exclusive access to /dev/md0:Perhaps a running process, mounted filesystem or active volume group?
root@:~# pvdisplay
--- Physical volume ---
PV Name /dev/md0
VG Name vg0
PV Size 57.98 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 14843
Free PE 4361
Allocated PE 10482
PV UUID uxH3FS-sUOF-LsIP-kAjq-7Bwq-suhK-CLJXI1
root@:~#:~# lvdisplay
--- Logical volume ---
LV Path /dev/vg0/swap
LV Name swap
VG Name vg0
LV UUID BIwp5H-NYlf-drQJ-12Vf-5qYM-7NUj-ty9GhE
LV Write Access read/write
LV Creation host, time S000001, 2015-09-23 03:00:58 +0000
LV Status available
# open 2
LV Size 1.86 GiB
Current LE 476
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/vg0/root
LV Name root
VG Name vg0
LV UUID SBf1mc-iqaB-noBx-1neo-IEPi-HhsH-SM14er
LV Write Access read/write
LV Creation host, time S000001, 2015-09-23 03:01:19 +0000
LV Status available
# open 1
LV Size 19.54 GiB
Current LE 5003
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
--- Logical volume ---
LV Path /dev/vg0/backup
LV Name backup
VG Name vg0
LV UUID w1jGGy-KkfJ-0lDp-MFDl-8BJU-uJWU-24XKSL
LV Write Access read/write
LV Creation host, time SRAJA, 2016-10-22 05:30:03 +0000
LV Status available
# open 0
LV Size 19.54 GiB
Current LE 5003
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:2
root@:~# vgdisplay
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 674
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 57.98 GiB
PE Size 4.00 MiB
Total PE 14843
Alloc PE / Size 10482 / 40.95 GiB
Free PE / Size 4361 / 17.04 GiB
VG UUID LjCUyX-25MQ-WCFT-j2eF-2UWX-LYCp-TtLVJ5
最后我尝试做:
root@S761012:~# mdadm --zero-superblock /dev/md0
mdadm: Couldn't open /dev/md0 for write - not zeroing
root@:~# umount /dev/md0 umount: /dev/md0: 未挂载 root@:~# root@:~# mdadm --manage /dev/md0 --remove /dev/sda4 mdadm: /dev/sda4 热移除失败:设备或资源繁忙 root@:~# mdadm --stop /dev/md0 mdadm: 无法获取对 /dev/md0 的独占访问权限:可能是正在运行的进程、挂载的文件系统或活动的卷组?root@:~# mdadm --zero-superblock /dev/sda4 mdadm: 无法打开 /dev/sda4 进行写入 - 未归零
由于 sda4 是活动磁盘,因此不允许我执行任何操作。您能否建议其他方法来实现相同的目的。
- 尝试使用 knoppix live 和 Gparted live CD,结果相同。
我尝试按照上述步骤操作:
create new log file
select /dev/sda and press Proceed
select Intel/PC partition type
select Analyse
select Backup (at first starting `testdisk`) or select Quick Search and Press Enter
select Deeper Search -> After deep search is not showing any thing.
-> 未找到或选择要恢复的分区。它是空的。因此,引导修复也无法按预期工作。它总是进入 grub 救援模式。
答案1
首先你必须了解它的工作原理。分区在整个磁盘 sda 上工作,软件 RAID 在分区上工作,如下图所示:
磁盘 sda -> 分区 sda4 -> 软件 RAID md0 -> LVM 物理卷 -> LVM 卷组 vg0 -> LVM 逻辑卷 -> 文件系统 -> 系统挂载点。
您无法从正在运行的命令行界面卸载根文件系统。这就是为什么您需要从 CD/DVD 运行相同的 Linux 系统。您可以使用相同的 Linux 安装 CD 或最新版本系统救援光盘. 从CD启动后需要检查:
软件 RAID 是否通过命令启动并处于其状态
cat /proc/mdstat
?RAID 设备md
可能有另一个编号。LVM 卷组是否通过命令激活
vgdisplay
?文件系统(在 LVM 卷上)是否通过命令挂载
mount
?
然后通过命令卸载所有位于 LVM 卷上的文件系统umount
,通过命令停用 LVM 卷组 vg0 vgchange -a n vg0
,通过命令关闭 RAID 阵列mdadm --stop /dev/md0
,通过命令删除 RAID 设备mdadm --remove /dev/md0
,然后通过命令将 sda4 上的超级块清零mdadm --zero-superblock /dev/sda4
。
首先,您需要备份所有 LVM 卷文件系统上的所有文件。
也许您将恢复 grub 引导加载程序。
更新:
在恢复启动之前,您需要恢复 LVM!从 SystemResqueCD 再次启动您的系统。运行fdisk /dev/sda
并按:
t (type)
4
8e (Linux LVM)
w
然后运行testdisk
:
create new log file
select /dev/sda and press Proceed
select Intel/PC partition type
select Analyse
select Backup (at first starting `testdisk`) or select Quick Search and Press Enter
select Deeper Search
select Linux LVM with heights start CHS values and press space key to change this found structure as Primary partition and press enter
select Write
然后将 testdisk 的备份存储在某处scp backup.log user@somehost:~
并从 SystemResqueCD 重新启动。重新启动后,您可以vg0
通过命令 vgdisplay 查看您的卷组。如果没有,testdisk
请再次运行,加载 testdisk 的备份并使用另一个已创建的 Linux LVM 分区重新启动。
成功恢复 LVM 后,您可以按照以下说明恢复启动Ubuntu 启动修复。
答案2
您可能需要使用关机命令恢复到“单用户”模式,然后在单用户模式下卸载卷。此时,RAID-1 卷将不再使用,您应该能够删除 RAID 阵列。
立即关闭应该会带你进入单用户模式。
关机-h现在将停止系统
关机-r现在将重新启动它
关机-帮助为您提供该命令的所有选项,包括向登录用户发送您正在将系统置于单用户模式的消息。