我的 Ubuntu RAID 配置在重新启动期间发生了变化,我不明白为什么。
- 问题 1:启动时未创建 /dev/md/host:name 设备。我不明白描述性名称是如何、何时或为何创建的,如果它更可预测,那就更好了。
该数组始终获取设备名称:
jak # mdadm --detail /dev/md127 [...] 名称:jak:neat(主机 jak 的本地) UUID:593fc406:87eefd53:0a076a84:f1405112
该数组几乎从不获取设备名称:
jak # mdadm --detail /dev/md130 [...] 名称:jak:sour(主机 jak 本地) UUID:809a185b:a2613844:3975b412:759ec297
我的理解是这些人类可读名称的目的是在 /etc/fstab 中使用:
jak # tail -2 /etc/fstab /dev/md130 /jak/data/sour ext4 默认 0 0 /dev/md/jak:neat /jak/data/neat ext4 默认 0 0
您可以看到,对于 jak:sour,我显式安装了 /dev/md130,这是有问题的,因为该设备名称偶尔会更改。我也不明白为什么设备编号会改变。我应该在 fstab 中使用什么可靠的 /dev 条目?
- 问题 2:每次重新启动时,我的备用驱动器都会从阵列中掉出。
jak:neat 和 jak:sour 都有备用驱动器(mdadm 输出如下)。每次重新启动后,备用驱动器都会从阵列中消失。磁盘设备确实出现在 /dev/sd* 中,我可以轻松地将它们重新连接到阵列(mdadm --add /dev/md127 /dev/sdn1),但显然我不希望它们掉出阵列。
卑躬屈膝:Google 和 Stack Exchange 搜索具体的Linux 软件 raid 阵列问题是一种令人痛苦的信噪比练习。我希望这些都是值得提出的好问题。
配置详情:
# uname -a Linux jak 4.15.0-65-generic #74-Ubuntu SMP 九月 17 日星期二 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
jak # mdadm --detail /dev/md127 /dev/md127: 版本:1.2 创建时间:2018年6月1日周五07:33:21 突袭等级:raid10 阵列大小:23441682432(22355.73 GiB 24004.28 GB) 已用开发大小:7813894144 (7451.91 GiB 8001.43 GB) 突袭设备:6 设备总数:7 持久性:Superblock是持久性的 意图位图:内部 更新时间 : 2019年10月6日 星期日 07:02:47 状态:干净,检查中 活跃设备:6 工作装置:7 失败设备:0 备用设备:1 布局:近=2 块大小:512K 一致性策略:位图 检查状态:完成 18% 名称:jak:neat(主机 jak 的本地) UUID:593fc406:87eefd53:0a076a84:f1405112 事件:201984 编号 主要 次要 RaidDevice 状态 0 8 17 0 活动同步集-A /dev/sdb1 1 65 1 1 活动同步集-B /dev/sdq1 2 8 81 2 主动同步集-A /dev/sdf1 3 65 33 3 活动同步集-B /dev/sds1 4 8 49 4 活动同步集-A /dev/sdd1 6 65 17 5 活动同步集-B /dev/sdr1 7 8 177 - 备用 /dev/sdl1 杰克#
jak # mdadm --detail /dev/md130 /dev/md130: 版本:1.2 创建时间:2018年5月26日星期六10:51:23 突袭等级:raid6 阵列大小:39065217024 (37255.49 GiB 40002.78 GB) 已用开发大小:9766304256 (9313.87 GiB 10000.70 GB) 突袭设备:6 设备总数:7 持久性:Superblock是持久性的 意图位图:内部 更新时间 : 2019年10月6日 星期日 07:03:43 状态:干净,检查中 活跃设备:6 工作装置:7 失败设备:0 备用设备:1 布局:左对称 块大小:512K 一致性策略:位图 检查状态:已完成 41% 名称:jak:sour(主机 jak 本地) UUID:809a185b:a2613844:3975b412:759ec297 活动:139649 编号 主要 次要 RaidDevice 状态 0 8 1 0 主动同步 /dev/sda1 1 8 33 1 活动同步 /dev/sdc1 2 8 129 2 活动同步 /dev/sdi1 3 8 145 3 活动同步 /dev/sdj1 4 8 161 4 主动同步 /dev/sdk1 6 8 241 5 活动同步 /dev/sdp1 7 8 209 - 备用 /dev/sdn1 杰克#
我不怀疑 /dev/sdn 是可疑的,但无论如何,这里有详细信息。
jak # smartctl -a /dev/sdn smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-65-generic](本地构建) 版权所有 (C) 2002-16,Bruce Allen、Christian Franke,www.smartmontools.org === 信息部分开始 === 设备型号:WDC WD100EFAX-68LHPN0 序列号:JEKG3TLZ LU WWN 设备 ID:5 000cca 267f04f25 固件版本:83.H0A83 用户容量:10,000,831,348,736 字节 [10.0 TB] 扇区大小:512 字节逻辑,4096 字节物理 转速:5400 rpm 外形尺寸:3.5 英寸 设备是:不在 smartctl 数据库中 [有关详细信息,请使用:-P showall] ATA 版本为:ACS-2、ATA8-ACS T13/1699-D 修订版 4 SATA 版本为:SATA 3.2,6.0 Gb/s(当前:6.0 Gb/s) 当地时间是: 2019 年 10 月 6 日星期日 07:04:58 PDT SMART 支持: 可用 - 设备具有 SMART 功能。 SMART 支持为:已启用 === 读取智能数据部分的开始 === SMART整体健康自我评估测试结果:通过 一般 SMART 价值观: 离线数据收集状态:(0x82) 离线数据收集活动 已完成,没有错误。 自动离线数据收集:已启用。 自检执行状态:(0) 上一次自检例程已完成 没有错误或没有自检过 已运行。 离线完成的总时间 数据收集:(93)秒。 离线数据采集 功能:(0x5b) SMART 立即离线执行。 自动离线数据收集开/关支持。 新品上线后暂停线下收藏 命令。 支持离线表面扫描。 支持自检。 不支持传输自检。 支持选择性自检。 SMART 功能:(0x0003) 在输入之前保存 SMART 数据 省电模式。 支持SMART自动保存定时器。 错误记录功能:(0x01) 支持错误记录。 支持通用日志记录。 简短的自检程序 建议轮询时间:(2)分钟。 扩展自检程序 建议轮询时间:(1116) 分钟。 SCT 功能:(0x003d) 支持 SCT 状态。 支持 SCT 错误恢复控制。 支持 SCT 功能控制。 支持 SCT 数据表。 SMART 属性数据结构修订号:16 具有阈值的供应商特定 SMART 属性: ID# ATTRIBUTE_NAME 标志值 最差阈值类型已更新 WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000b 100 100 016 预失败始终 - 0 2 吞吐量_性能 0x0004 131 131 054 Old_age 离线 - 104 3 Spin_Up_Time 0x0007 100 100 024 始终预故障 - 0 4 Start_Stop_Count 0x0012 100 100 000 Old_age 始终 - 3 5 Realated_Sector_Ct 0x0033 100 100 005 故障前始终 - 0 7 Seek_Error_Rate 0x000a 100 100 067 Old_age 始终 - 0 8 Seek_Time_Performance 0x0004 128 128 020 Old_age 离线 - 18 9 Power_On_Hours 0x0012 100 100 000 Old_age 始终 - 1148 10 Spin_Retry_Count 0x0012 100 100 060 Old_age 始终 - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age 始终 - 3 22 Unknown_Attribute 0x0023 100 100 025 故障前始终 - 100 192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age 始终 - 51 193 Load_Cycle_Count 0x0012 100 100 000 Old_age 始终 - 51 194Temperature_Celsius 0x0002 144 144 000 Old_age 始终 - 45(最小/最大 20/54) 196 Realated_Event_Count 0x0032 100 100 000 Old_age 始终 - 0 197 Current_Pending_Sector 0x0022 100 100 000 Old_age 始终 - 0 198 Offline_Un Correctable 0x0008 100 100 000 Old_age 离线 - 0 199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age 始终 - 0 SMART 错误日志版本:1 没有记录错误 SMART 自检日志结构修订号 1 未记录任何自检。 [要运行自检,请使用:smartctl -t] SMART 选择性自检日志数据结构修订号 1 跨度 MIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 0 未测试 2 0 0 未测试 3 0 0 未测试 4 0 0 未测试 5 0 0 未测试 选择性自检标志 (0x0): 扫描选定的跨度后,请勿读取扫描磁盘的其余部分。 如果选择性自检在加电时等待,请在 0 分钟延迟后恢复。 杰克#
#mdadm.conf # #!注意!更新此文件后运行 update-initramfs -u。 #!注意!这将确保 initramfs 具有最新的副本。 # # 有关此文件的信息,请参阅 mdadm.conf(5)。 # # 默认情况下(内置),扫描所有分区(/proc/partitions)和所有 # MD 超级块的容器。或者,指定要扫描的设备,使用 # 如果需要的话可以使用通配符。 #DEVICE 对容器进行分区 # 自动将新数组标记为属于本地系统 家庭主机 # 指示监控守护进程向何处发送邮件警报 MAILADDR根 # 现有 MD 数组的定义 数组 /dev/md/0 元数据=1.2 UUID=7636d5d0:8c9d0823:7252c563:30724789 名称=jak:0 ARRAY /dev/md130 元数据=1.2 UUID=809a185b:a2613844:3975b412:759ec297 name=jak:sour # 此配置由 mkconf 在 2018 年 4 月 28 日星期六 16:34:38 -0700 自动生成
现在剩下的问题
/etc/md/jak:neat
并且/etc/md/jak:sour
不出现。什么过程创建了这些?运行
blkid /dev/md127
没有返回任何输出。它确实返回了预期的输出/dev/md0
。因此,我fstab
现在将文件系统设备列为 和/dev/md127
,/dev/md130
感觉是临时的。
提前感谢评论!
答案1
谢谢Linux安全怪胎寻找一些线索。
我从来没有(故意)更新过mdadm.conf
(手册页);我不知道它在那里。添加缺失的内容ARRAY
确实有帮助。
另外,我没有(故意)跑步update-initramfs
(手册页)。
采取这两个步骤使其连续两次成功启动我的工作站,所以这太棒了。
请在我的问题末尾查看我剩下的问题。