我有我的根文件系统在/ dev / sdc和一个软件RAID 1跨越/ dev / sda和/ dev / sdb(我认为)。 我身体上移动了我的电脑,今天运行了软件更新(这些都可能是罪魁祸首),然后注意到我的RAIDarrays不再可用。 我看到mdadm已经标记为不活动,但我不知道为什么。 我也无法安装它。 我在那里看到其他的build议,但是没有一个和我的情况完全一样,我担心会丢失数据。
我没有编辑任何configuration文件,这个configuration以前是工作的(除了RAID没有自动安装,这并没有打扰我很多)。
编辑 :我还应该提到,当我build立机器时,我最初尝试设置软件RAID,出了问题,我想我不小心摧毁了RAID上的数据,所以我build立了另一个软件RAID,并且一直使用它。 我相信这是两个参赛作品的原因。 而现在,我看着它,看起来我的数据甚至可能不会被镜像到两个驱动器上? 每个驱动器上只有两个独立的RAID 1?
编辑2 :看起来像/ dev / sdb是基于当前更新时间的RAIDconfiguration,而由/ dev / sda1和/ dev / sdb1组成的RAID是旧configuration,其更新时间为2月当我build立这个。
cat / 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
cat /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 /坐骑
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
mount / 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)
任何build议,让这再次登上? 这可能是一个不好的驱动,但移动电脑时我很小心,看到别人用软件解决了类似的问题。
你有一个相当困惑的系统。 /dev/sdb (整个卷)和/dev/sdb1 (该卷上的第一个分区)都被检测为RAID设备。 这会让操作系统混淆,而且会创build两个RAIDarrays: /dev/md0是由/dev/sdb组成的降级RAID 1arrays,而/dev/md127是由/dev/sda1组成的降级RAID 1arrays。 由于它们被降级,操作系统不会自动启动它们。
从这个恢复的第一步是进行音量级别的备份( dd if=/dev/sda , dd if=/dev/sdb ),这样如果事情出错了,你不会比你更糟糕目前是。
一旦你完成了,你可以以只读模式激活你的数组: mdadm --run --readonly /dev/md0 ; mdadm --run --readonly /dev/md127 ,装入磁盘,并查看每个包含的内容。
假设你正确的是/dev/sdb是你正在使用的RAIDarrays,下一步就是找出它作为RAIDarrays的第二卷的用途:元数据清楚地表明当你closures它时,它是两个磁盘存在的双磁盘RAID 1arrays。
如果你不能解决这个问题,或者不想使用任何缺失的部分,并且/dev/sda1中没有任何重要信息,那么下一步就是将其添加到/dev/md0 :
md元数据作为安全预防措施: dd if=/dev/zero of=/dev/sda bs=1M count=1024 mdadm --manage /dev/md0 --add /dev/sda并让arrays重build。 最后一步是清除/dev/sdb1上的md超级块。 根据mdadm手册页, mdadm --zero-superblock /dev/sdb1可以工作,但是由于这个超级块是在一个现有的数组中,所以我真的很担心这样做。