我创建了两个drbd块设备,将drbd1作为os磁盘挂载到rootfs,drbd2计划在lxc中格式化。它在 ubuntu 16.04、lxc 2.x、drbd 8.4、centos6 上运行良好
升级以下软件后,lxc 仍然可以运行,但是drbd 设备没有出现在lxc 容器中。谁能给我一些建议?
# current config
host: ubuntu 20.04 server
lxc: 4.0.6
lxc container: centos7
drbd version: 8.4
/usr/share/lxc/config/common.conf is using default version
common.conf 中的限制:
drbd 块设备出现在主机上:
root@f1:/home/neo# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop1 7:1 0 55.5M 1 loop /snap/core18/2246
loop2 7:2 0 61.9M 1 loop /snap/core20/1169
loop3 7:3 0 67.2M 1 loop /snap/lxd/21835
loop4 7:4 0 32.3M 1 loop /snap/snapd/12704
loop5 7:5 0 70.3M 1 loop /snap/lxd/21029
loop6 7:6 0 32.5M 1 loop /snap/snapd/13640
loop7 7:7 0 55.5M 1 loop /snap/core18/2253
loop8 7:8 0 61.9M 1 loop /snap/core20/1242
sda 8:0 0 32G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 31G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 30G 0 lvm /
sdb 8:16 0 32G 0 disk
└─nevg1-nelv1 253:1 0 32G 0 lvm
└─drbd1 147:1 0 32G 0 disk /mnt/test.neo
sdc 8:32 0 32G 0 disk
└─nevg2-nelv2 253:2 0 32G 0 lvm
└─drbd2 147:2 0 32G 0 disk
drbd 块设备不显示在 lxc 上:
neo@f1:~$ sudo lxc-attach -n test.neo
[root@test neo]# lsblk
lsblk: dm-1: failed to get device path
lsblk: dm-1: failed to get device path
lsblk: dm-2: failed to get device path
lsblk: dm-0: failed to get device path
lsblk: dm-2: failed to get device path
lsblk: dm-0: failed to get device path
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop1 7:1 0 55.5M 1 loop
loop8 7:8 0 61.9M 1 loop
sdb 8:16 0 32G 0 disk
loop6 7:6 0 32.5M 1 loop
loop4 7:4 0 32.3M 1 loop
loop2 7:2 0 61.9M 1 loop
sdc 8:32 0 32G 0 disk
loop7 7:7 0 55.5M 1 loop
sda 8:0 0 32G 0 disk
|-sda2 8:2 0 1G 0 part
|-sda3 8:3 0 31G 0 part
`-sda1 8:1 1M 0 part
loop5 7:5 0 70.3M 1 loop
loop3 7:3 0 67.2M 1 loop
但是 /proc/partitions 显示 drbd 块设备
[root@test neo]# cat /proc/partitions | grep drbd
147 1 33549276 drbd1
147 2 33549276 drbd2
这是 lxc 配置:
lxc.net.0.type = phys
lxc.net.0.link = ens20
lxc.net.0.hwaddr = 66:79:48:3e:5b:b3
lxc.net.0.flags = up
lxc.net.0.ipv4.address = 172.20.6.25/24
lxc.net.0.ipv4.gateway = 172.20.6.1
lxc.net.0.name = eth0
lxc.net.1.type = veth
lxc.net.1.link = lxcbr0
lxc.net.1.hwaddr = fe:54:34:0f:3a:5d
lxc.net.1.flags = up
lxc.net.1.ipv4.address = 169.254.0.102/24
lxc.net.1.name = eth1
lxc.rootfs.path = /mnt/test.neo
lxc.include = /usr/share/lxc/config/common.conf
lxc.arch = x86_64
lxc.uts.name = test.neo