我已成功将 Ubuntu 安装到镜像 LV(总共两个副本)。
我还惊讶地发现新的镜像得到了 MD 的支持默认情况下
它是一个 Hyper-V 虚拟机,我想看看当其中一个驱动器断开连接时 LVM 如何反应。
令我惊讶的是,LVM 仅报告“未找到 PV”。我读到过,在其他情况下,LVM 会将镜像 LV 降级为线性。(但如果它是镜像 LVM LV,而不是 MD,情况可能就如此)
root@ceph-1:/home/hsupengjun# lvs
WARNING: Device for PV 1HzjpO-DJzz-RZHv-5DTe-yI84-tuyf-yB4MQg not found or rejected by a filter.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root-lv root-vg rwi-aor-p- <3.42g 100.00
我想知道如何获取有关 raid 阵列的更多信息,特别是知道驱动器是否消失。
笔记和观察
# lvm version
LVM version: 2.02.176(2) (2017-11-03)
Library version: 1.02.145 (2017-11-03)
# uname -ar
Linux ceph-1 5.0.0-13-generic #14-Ubuntu SMP Mon Apr 15 14:59:14 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
由于 LVM 尝试定位驱动器,因此启动需要另外 90 秒的时间。
有了dmesg
,我能够看到
# dmesg | grep mirror
[ 1.629767] md/raid1:mdX: active with 1 out of 2 mirrors
问题是在这里问没有正确答案。
# lvs -a -o name,copy_percent,devices root-vg
WARNING: Device for PV 1HzjpO-DJzz-RZHv-5DTe-yI84-tuyf-yB4MQg not found or rejected by a filter.
LV Cpy%Sync Devices
root-lv 100.00 root-lv_rimage_0(0),root-lv_rimage_1(0)
[root-lv_rimage_0] /dev/sda2(1)
[root-lv_rimage_1] [unknown](1)
[root-lv_rmeta_0] /dev/sda2(0)
[root-lv_rmeta_1] [unknown](0)
当我重新连接驱动器时,
# lvs -a -o name,copy_percent,devices root-vg
LV Cpy%Sync Devices
root-lv 56.74 root-lv_rimage_0(0),root-lv_rimage_1(0)
[root-lv_rimage_0] /dev/sda2(1)
[root-lv_rimage_1] /dev/sdb2(1)
[root-lv_rmeta_0] /dev/sda2(0)
[root-lv_rmeta_1] /dev/sdb2(0)
似乎唯一的方法是检查[unknown]
输出lvs
。
答案1
字段lv_health_status
是lvs
您的最佳选择。检查它是否为非空。这在lvmraid(7)
DEVICE FAILURE
部分
以下示例显示了两个具有不同问题的不同 LV: -home
设备raid10
消失后又再次出现:显示状态refresh needed
-raiddemo
是 3 条腿的 RAID1,缺少一个设备:显示状态partial
$ sudo lvs -a -o name,lvattr,lv_health_status,devices --select 'lv_health_status!=""'
WARNING: Device for PV dR1dqi-eS57-VvWz-XCc2-CUNS-9YcI-1ATu7k not found or rejected by a filter.
Couldn't find device with uuid dR1dqi-eS57-VvWz-XCc2-CUNS-9YcI-1ATu7k.
LV Attr Health Devices
home rwi-aor-r- refresh needed home_rimage_0(0),home_rimage_1(0),home_rimage_2(0),home_rimage_3(0)
[home_rimage_2] Iwi-aor-r- refresh needed /dev/sde2(152)
[home_rmeta_2] ewi-aor-r- refresh needed /dev/sde2(151)
raiddemo rwi-a-r-p- partial raiddemo_rimage_0(0),raiddemo_rimage_1(0),raiddemo_rimage_2(0)
[raiddemo_rimage_2] Iwi-aor-p- partial [unknown](1)
[raiddemo_rmeta_2] ewi-aor-p- partial [unknown](0)
您可能还对该领域感兴趣lv_active
,特别是您有一个缺少太多内容而无法上线的 LV(例如 RAID5 缺少两个设备)。
最后,如果你不想自己重新实现这个,请查看 nagios-插件-check_raid它实现了对 DM 和许多其他 RAID 类型的检查。