Ubuntu 14.04 軟體 RAID 1 - md0 不活動
我的根文件系統位於 /dev/sdc,軟體 RAID 1 跨越 /dev/sda 和 /dev/sdb(我認為)。我今天實際移動了我的電腦並執行了軟體更新(其中任何一個都可能是罪魁禍首),然後注意到我的 RAID 陣列不再可用。我看到 mdadm 已將其標記為非活動狀態,但我不確定為什麼。我也無法安裝它。我看到了其他建議,但沒有一個與我的情況完全一樣,而且我擔心失去數據。
我沒有編輯任何配置文件,而且這個配置以前可以工作(除了 RAID 沒有自動掛載,這並沒有給我帶來太多困擾)。
編輯:我還應該提到,我最初在建構機器時嘗試設置軟體 RAID,但出了點問題,我想我不小心破壞了 RAID 上的數據,所以我設置了另一個軟體 RAID,並一直在使用它。我相信這就是這兩個條目的原因。現在我看著它,看起來我的數據甚至可能沒有在兩個驅動器上鏡像?一個驅動器上只有兩個獨立的 RAID 1?
編輯2:看起來 /dev/sdb 是我想要的基於今天更新時間的 RAID 配置,而由 /dev/sda1 和 /dev/sdb1 組成的 RAID 是更新時間為 2 月的舊配置當我建造這個時。
貓 /proc/mdstat
root@waffles:~# cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md127 : inactive sda1[0](S) 976630488 blocks super 1.2 md0 : inactive sdb[1](S) 976631512 blocks super 1.2 unused devices: <none>
mdadm –examine –scan –config=/etc/mdadm/madadm.conf
root@waffles:~# mdadm --examine --scan --config=/etc/mdadm/madadm.conf ARRAY /dev/md/0 metadata=1.2 UUID=dd54a7bd:15442724:ffd24430:0c1444b3 name=waffles:0 ARRAY /dev/md/0 metadata=1.2 UUID=047187c2:2a72494b:57327e8e:7ce78e9c name=waffles:0
貓 /etc/mdadm/mdadm.conf
root@waffles:~# cat /etc/mdadm/mdadm.conf # mdadm.conf # # Please refer to mdadm.conf(5) for information about this file. # # by default (built-in), scan all partitions (/proc/partitions) and all # containers for MD superblocks. alternatively, specify devices to scan, using # wildcards if desired. #DEVICE partitions containers # auto-create devices with Debian standard permissions CREATE owner=root group=disk mode=0660 auto=yes # automatically tag new arrays as belonging to the local system HOMEHOST <system> # instruct the monitoring daemon where to send mail alerts MAILADDR root # definitions of existing MD arrays #ARRAY /dev/md/0 metadata=1.2 UUID=047187c2:2a72494b:57327e8e:7ce78e9c name=waffles:0 # This file was auto-generated on Fri, 20 Feb 2015 10:00:12 -0500 # by mkconf $Id$ ARRAY /dev/md0 metadata=1.2 name=waffles:0 UUID=dd54a7bd:15442724:ffd24430:0c1444b3
貓 /proc/mounts
root@waffles:~# cat /proc/mounts rootfs / rootfs rw 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 udev /dev devtmpfs rw,relatime,size=16379004k,nr_inodes=4094751,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=3278828k,mode=755 0 0 /dev/disk/by-uuid/28631011-e1c9-4152-85b6-82073656a9ee / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0 none /sys/fs/cgroup tmpfs rw,relatime,size=4k,mode=755 0 0 none /sys/fs/fuse/connections fusectl rw,relatime 0 0 none /sys/kernel/debug debugfs rw,relatime 0 0 none /sys/kernel/security securityfs rw,relatime 0 0 none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0 none /run/user tmpfs rw,nosuid,nodev,noexec,relatime,size=102400k,mode=755 0 0 none /sys/fs/pstore pstore rw,relatime 0 0 systemd /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,name=systemd 0 0 /home/todd/.Private /home/todd ecryptfs rw,nosuid,nodev,relatime,ecryptfs_fnek_sig=b12c61ee79f0f7fc,ecryptfs_sig=2b32246c98b2f7ca,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs 0 0 gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
貓 /etc/fstab
root@waffles:~# cat /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sdc1 during installation UUID=28631011-e1c9-4152-85b6-82073656a9ee / ext4 errors=remount-ro 0 1 # swap was on /dev/sdc5 during installation #UUID=d662ea5e-38f3-4a71-8a56-fa658c32b2eb none swap sw 0 0 /dev/mapper/cryptswap1 none swap sw 0 0
掛載 /dev/md0 /media/raid1/
root@waffles:~# mount /dev/md0 /media/raid1/ mount: /dev/md0: can't read superblock
grep ‘md0’ / var / log / syslog
root@waffles:~# grep 'md0' /var/log/syslog Dec 21 13:50:16 waffles kernel: [ 1.043320] md/raid1:md0: active with 2 out of 2 mirrors Dec 21 13:50:16 waffles kernel: [ 1.043327] md0: detected capacity change from 0 to 1000070512640 Dec 21 13:50:16 waffles kernel: [ 1.050982] md0: unknown partition table Dec 21 14:20:16 waffles mdadm[1921]: DeviceDisappeared event detected on md device /dev/md0 Dec 21 14:32:26 waffles mdadm[2426]: DeviceDisappeared event detected on md device /dev/md0 Dec 21 14:37:17 waffles kernel: [ 302.004127] EXT4-fs (md0): unable to read superblock Dec 21 14:37:17 waffles kernel: [ 302.004198] EXT4-fs (md0): unable to read superblock Dec 21 14:37:17 waffles kernel: [ 302.004244] EXT4-fs (md0): unable to read superblock Dec 21 14:37:17 waffles kernel: [ 302.004294] FAT-fs (md0): unable to read boot sector Dec 21 14:45:26 waffles mdadm[1917]: DeviceDisappeared event detected on md device /dev/md0 Dec 21 15:38:31 waffles kernel: [ 3190.749438] EXT4-fs (md0): unable to read superblock Dec 21 15:38:31 waffles kernel: [ 3190.749609] EXT4-fs (md0): unable to read superblock Dec 21 15:38:31 waffles kernel: [ 3190.749679] EXT4-fs (md0): unable to read superblock Dec 21 15:38:31 waffles kernel: [ 3190.749749] FAT-fs (md0): unable to read boot sector
mdadm –examine / dev / sda1
root@waffles:~# mdadm --examine /dev/sda1 /dev/sda1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 047187c2:2a72494b:57327e8e:7ce78e9c Name : waffles:0 (local to host waffles) Creation Time : Thu Feb 12 15:43:00 2015 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 1953260976 (931.39 GiB 1000.07 GB) Array Size : 976630336 (931.39 GiB 1000.07 GB) Used Dev Size : 1953260672 (931.39 GiB 1000.07 GB) Data Offset : 262144 sectors Super Offset : 8 sectors State : clean Device UUID : 0b0a69b7:3c3900c0:6e26b3e4:91155d98 Update Time : Fri Feb 20 09:36:16 2015 Checksum : 9bfb3aa - correct Events : 27 Device Role : Active device 0 Array State : AA ('A' == active, '.' == missing)
mdadm –examine / dev / sdb1
root@waffles:~# mdadm --examine /dev/sdb1 /dev/sdb1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 047187c2:2a72494b:57327e8e:7ce78e9c Name : waffles:0 (local to host waffles) Creation Time : Thu Feb 12 15:43:00 2015 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 1953260976 (931.39 GiB 1000.07 GB) Array Size : 976630336 (931.39 GiB 1000.07 GB) Used Dev Size : 1953260672 (931.39 GiB 1000.07 GB) Data Offset : 262144 sectors Super Offset : 8 sectors State : clean Device UUID : 2fdaaf8c:30d5c44e:893f9a5a:11d8170c Update Time : Fri Feb 20 09:36:16 2015 Checksum : 576cfb5c - correct Events : 27 Device Role : Active device 1 Array State : AA ('A' == active, '.' == missing)
mdadm –examine /dev/sdb(考慮到這裡的更新時間,我認為這是我關心的)
root@waffles:~# mdadm --examine /dev/sdb /dev/sdb: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : dd54a7bd:15442724:ffd24430:0c1444b3 Name : waffles:0 (local to host waffles) Creation Time : Fri Feb 20 10:03:33 2015 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB) Array Size : 976631360 (931.39 GiB 1000.07 GB) Used Dev Size : 1953262720 (931.39 GiB 1000.07 GB) Data Offset : 262144 sectors Super Offset : 8 sectors State : clean Device UUID : f2e16155:49caff6d:d13115a6:379d2fc8 Update Time : Mon Dec 21 13:14:19 2015 Checksum : d5017b27 - correct Events : 276 Device Role : Active device 1 Array State : AA ('A' == active, '.' == missing)
有什麼建議可以再次安裝嗎?移動可能是驅動器損壞,但移動電腦時我很小心,看到其他人在軟體中解決了類似的問題。
你有一個相當複雜的系統。
/dev/sdb
(整個卷)和/dev/sdb1
(該卷上的第一個分區)都被檢測為 RAID 設備。這使作業系統感到困惑,它正在創建兩個 RAID 陣列:/dev/md0
一個降級 RAID 1 陣列由 組成/dev/sdb
,/dev/md127
一個降級 RAID 1 陣列由/dev/sda1
. 由於它們已降級,作業系統不會自動啟動它們。從中恢復的第一步是進行卷級備份(
dd if=/dev/sda
,dd if=/dev/sdb
),這樣如果出現問題,您的情況不會比現在更糟。完成後,您可以在只讀模式下啟動您的陣列
mdadm --run --readonly /dev/md0
:mdadm --run --readonly /dev/md127
,安裝磁碟,並查看每個磁碟包含的內容。假設您是正確的,那
/dev/sdb
就是您正在使用的 RAID 陣列,下一步是弄清楚它用作 RAID 陣列的第二個卷:元數據清楚地表明,當您關閉它時,它是兩個磁碟都存在的雙磁碟 RAID 1 陣列。如果您無法弄清楚,或者不想使用失去的部分,並且您是正確的,
/dev/sda1
其中不包含任何重要內容,下一步是將其添加到/dev/md0
:
md
作為安全預防措施,清除分區表和元數據:dd if=/dev/zero of=/dev/sda bs=1M count=1024
- 將其添加到數組中:
mdadm --manage /dev/md0 --add /dev/sda
並讓數組重建。最後一步是清除
md
上的超級塊/dev/sdb1
。根據mdadm
手冊頁,mdadm --zero-superblock /dev/sdb1
會起作用,但由於超級塊位於現有數組中,我會對實際執行此操作感到非常緊張。