Linux

處於降級狀態時無法刪除軟體 raid-1 陣列

  • March 21, 2017

我想刪除軟體 raid-1 陣列

$$ when it is degraded state $$在 linux 系統中的 LVM 上配置,無法刪除。我什至嘗試使用 Knoppix Live CD 刪除與 LVM 關聯的 RAID-1,但此嘗試也失敗了。當我分析問題時,配置了一個 LVM 和 RAID,並且邏輯卷(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: hot remove failed for /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.

-> **沒有找到或選擇要恢復的分區。**它是空的。因此,引導修復也無法按預期工作。它總是會進入救援模式。

首先,您必須了解它是如何工作的。分區在整個磁碟 sda 上工作,軟體 RAID 在分區上工作,接下來如圖所示:

磁碟 sda -> 分區 sda4 -> 軟體 RAID md0 -> LVM 物理卷 -> LVM 卷組 vg0 -> LVM 邏輯卷 -> 文件系統 -> 系統掛載點。

您不能從正在執行的命令行界面解除安裝根文件系統。這就是為什麼您需要從 CD/DVD 執行相同的 Linux 系統的原因。您可以使用相同的 Linux 安裝 CD 或最新版本SystemRescueCD。從 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 Boot repair中的說明恢復啟動。

引用自:https://serverfault.com/questions/838295