-
Notifications
You must be signed in to change notification settings - Fork 530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG]使用lvmlockd模式重启宿主机磁盘锁导致虚机启动失败 #21353
Comments
@elvizlai 我确认了一下代码,host-agent probe disks 只会以 share的方式active,除了一些特殊操作期间会以 exclusive 方式 active 磁盘,操作完成后会复原成 share的方式。
可以从日志中看到这个lv 是以 share 的方式激活。 我觉得可能是lvmlockd 集群第一个节点启动的时候以exclusive的方式激活了所有的磁盘。 |
按照文档配置的,未做其他修改项,有什么办法可以排查下问题吗? |
你说的这个可能也不对,假设把 B 机器重启,然后在管理节点 kubectl delete xxxx-host-ddd(删除C机器的,触发重新deploy),这个时候 C 机器上的所有虚机可正常拉起,然后 C 机器获取了虚机的磁盘排它锁(ex),但是镜像相关的,都还是非排他的 |
@elvizlai 删除 C机器 host pod 重新触发deploy 是指的什么操作, exclusive lock只有在对lv本身进行扩容或者 rename的时候才会以 exclusive 模式激活。 |
问题描述/What happened:
根据文档-Shared LVM Storage With Lvmlockd创建了一个4节点的机器用于测试,机器编号为 A、B、C、D:
所有节点均按照文档修改了配置(4 台机器 host_id 不同)
新建了若干虚拟机,较为均衡的分布运行在4台宿主机上。
宿主机物理重启后,先启动的机器(假设为B)会获取所有 lvs 并设置为锁定状态,导致其他宿主机无法获取lvs锁定,虚机启动失败。
查看 B 机器锁状态,发现shared的磁盘都被挂载了,且为 ex 排他锁。
通过 lsblk 查看各机器磁盘挂载
机器B
其他机器(A、C、D)因无法获取虚机的磁盘,只挂载了镜像缓存
其他 A、C、D 机器启动后,通过
kubectl logs -f default-host-w2nvl -n onecloud
指令查看,均报类似以下错误,导致虚拟机无法启动。环境/Environment:
OS (e.g.
cat /etc/os-release
):NAME="openEuler"
VERSION="22.03 (LTS-SP3)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP3)"
ANSI_COLOR="0;31"
Kernel (e.g.
uname -a
):Linux xnode-01.icc.local 5.10.0-224.0.0.127.oe2203sp3.x86_64 scheduler: fix specified network not enough still pass. #1 SMP Wed Aug 21 14:51:23 CST 2024 x86_64 x86_64 x86_64 GNU/Linux
Host: (e.g.
dmidecode | egrep -i 'manufacturer|product' |sort -u
)[root@xnode-01 ~]# dmidecode | egrep -i 'manufacturer|product' |sort -u
Manufacturer: Intel(R) Corporation
Manufacturer: Samsung
Manufacturer: XFUSION
Memory Subsystem Controller Manufacturer ID: Unknown
Memory Subsystem Controller Product ID: Unknown
Module Manufacturer ID: Bank 1, Hex 0xCE
Module Product ID: Unknown
Product Name: 2288H V6
Product Name: BC13MBSBH
Service Version (e.g.
kubectl exec -n onecloud $(kubectl get pods -n onecloud | grep climc | awk '{print $1}') -- climc version-list
):The text was updated successfully, but these errors were encountered: