虽然我看到有多个其他问题似乎与相同(或相似)的问题有关,但没有一个问题有明确的答案。因此,我再问一次。
我正在关注此处的指南(外部,Digital Ocean),特别是“Raid 1”指南。我按照所有步骤操作,但是当我重新启动时,mdadm 似乎忘记了创建的 raid 阵列。
重新创建后,它看起来很好,并且驱动器上的数据在重新创建后似乎仍然存在,尽管 mdadm 需要重新同步并重新构建阵列(这需要很多小时)。为了澄清,我需要做的就是重新运行创建命令并重新安装阵列。
我按照“保存数组布局”部分到一个发球台,但这仍然发生。任何人都可以提供有关如何使阵列保持不变的指导吗?
如果有人想查看某些东西的输出,请问。
/dev/sdb/
并且/dev/sdc/
是我用于阵列的驱动器,/dev/md0
是阵列。
sudo blkid
重启后的输出:
/dev/nvme0n1: PTUUID="a2ac4afb-a9fe-4c9c-aafd-ffe2e144b803" PTTYPE="gpt"
/dev/nvme0n1p1: UUID="f9b2e155-854d-4a5d-a67e-17bd15f38289" TYPE="ext4" PARTUUID="72fd637a-3f84-4c87-a1fc-6dd4d093ee1d"
/dev/sda1: LABEL="Recovery" UUID="56FEDCF2FEDCCAFF" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="ba0395b4-48a6-45b1-b340-cf4bfe1d29d2"
/dev/sda2: UUID="1ADD-CEB5" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="2024cdff-4b6f-460e-827d-7443180849e6"
/dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="b0475376-4a4c-4388-8c13-486587f441d9"
/dev/sda4: UUID="22D0E70AD0E6E2D1" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="e4d35323-a0b8-4a47-9722-193cc6cd1197"
/dev/sdb: PTUUID="aea84627-3e11-46a5-8a09-96510cae3a1a" PTTYPE="gpt"
/dev/sdc: PTUUID="76fce25c-b721-441b-b82e-b42d2d43d24b" PTTYPE="gpt"
sudo blkid
重新创建raid数组后的输出:
/dev/nvme0n1p1: UUID="f9b2e155-854d-4a5d-a67e-17bd15f38289" TYPE="ext4" PARTUUID="72fd637a-3f84-4c87-a1fc-6dd4d093ee1d"
/dev/sda1: LABEL="Recovery" UUID="56FEDCF2FEDCCAFF" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="ba0395b4-48a6-45b1-b340-cf4bfe1d29d2"
/dev/sda2: UUID="1ADD-CEB5" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="2024cdff-4b6f-460e-827d-7443180849e6"
/dev/sda4: UUID="22D0E70AD0E6E2D1" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="e4d35323-a0b8-4a47-9722-193cc6cd1197"
/dev/nvme0n1: PTUUID="a2ac4afb-a9fe-4c9c-aafd-ffe2e144b803" PTTYPE="gpt"
/dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="b0475376-4a4c-4388-8c13-486587f441d9"
/dev/sdb: UUID="f80520f0-6304-ccc5-0ec2-bd8f6a2af079" UUID_SUB="5a38cecf-4236-db6a-d369-a53271993698" LABEL="BATTLESTAR:0" TYPE="linux_raid_member"
/dev/md0: LABEL="DataStore" UUID="c5be481b-d487-4632-8594-7b0b847f327a" TYPE="ext4"
/dev/sdc: UUID="f80520f0-6304-ccc5-0ec2-bd8f6a2af079" UUID_SUB="cd27b6f9-d6e3-1c22-8746-3f2ebb3c5eb4" LABEL="BATTLESTAR:0" TYPE="linux_raid_member"
内容/etc/mdadm/mdadm.conf
:(我确保在每次重新创建时都更新它以确保更新 UUID)
# mdadm.conf
#
# !NB! Run update-initramfs -u after updating this file.
# !NB! This will ensure that initramfs has an uptodate copy.
#
# 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
# 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
# This configuration was auto-generated on Mon, 05 Mar 2018 19:04:50 -0500 by mkconf
ARRAY /dev/md0 metadata=1.2 name=BATTLESTAR:0 UUID=f80520f0:6304ccc5:0ec2bd8f:6a2af079
好吧,我想通了,感谢另一个问题的提示....
最终解决我的问题是在每个驱动器上创建一个 ext4 分区,并将 mdadm 指向分区而不是驱动器本身。之后,阵列在重新启动后保持不变。
在这个问题之前我没有尝试过这个,因为另一个问题没有将答案标记为已接受。
我知道这是一篇旧帖子,但我一直在努力解决这个问题,这是我的结果:
我的磁盘被“冻结”了——希捷磁盘。您可以通过输入命令检查是否有相同的问题:
这表明:
我无法更改此设置。这些磁盘在常规分区上运行良好,但是当我将它们格式化为 linux raid 时,它们丢失了分区表并且在重新启动后是“空的”。
我在分区上创建了 raid,而不是在设备上:
现在他们在重新启动后很好,一切都按预期工作。
我也遵循了这里的建议,并在重新启动后发现自己处于同样的情况。发生这种情况的原因是至少有一个 HDD 之前使用过,并且可能包含分区表。
解决方案是在创建 RAID 阵列之前删除分区表。
在创建阵列之前,我覆盖了 HDD 上的前 4MB 数据:
问题解决了。