首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新的LVM VDO逻辑卷在启动时不活动,即使使用“-activate y”参数。

新的LVM VDO逻辑卷在启动时不活动,即使使用“-activate y”参数。
EN

Server Fault用户
提问于 2022-05-14 15:33:10
回答 1查看 806关注 0票数 2

我试图让LVM在我的Debian11.3(从零开始安装的测试VM )上工作。如果有人想要重现这个问题,我已经分享了我的安装过程这里。现在,我遇到了一个“基本”问题,即:逻辑卷在启动时是不活动的。在编译和安装VDO之后,我运行以下脚本:

代码语言:javascript
复制
# Create zeroed VDO volume and format to ext4
DESTINATION_LVM_VG="/dev/Pepper-Potts-vg"
VDOLV_NAME="ZEROED-VDOLV-1"
VDOLV_PATH="$DESTINATION_LVM_VG/$VDOLV_NAME"

lvcreate -y --vdopool "ZEROED-VDOPOOL-1" --name $VDOLV_NAME --activate y --compression n --deduplication n --size 12G --virtualsize 24G --config "allocation/vdo_slab_size_mb=8192" $DESTINATION_LVM_VG && \
mkfs.ext4 -E nodiscard $VDOLV_PATH

# Reconfigure /etc/fstab to mount zeroed VDO partition to /mnt/ZEROED-VDOLV-1
MOUNT_POINT="/mnt/$VDOLV_NAME"
mkdir $MOUNT_POINT
DM_VDOLV_PATH=($(lvs --noheadings --options "lv_dm_path" $VDOLV_PATH))
# We use "@" because $DIRECTORY_TO_MOVE contains "/"
echo "$DM_VDOLV_PATH    $MOUNT_POINT    ext4    defaults,x-systemd.device-timeout=0,x-systemd.requires=vdo.service  0   0" >> /etc/fstab
mount -a

它运行良好,但是重新启动VM失败了,因为/dev/mapper/Pepper-Potts-vg-ZEROED--VDOPOOL--1 ($DM_VDOLV_PATH)已经不存在了(我已经检查过)。因此,我使用lvscan进行了研究,发现逻辑卷不存在于/dev/mapper/中,因为它是不活动的。执行vgchange -ay解决了引导问题,但在下一次重新启动时,它又被卡住了。

我用“经典”/非VDO逻辑卷尝试了相同的脚本,并且没有问题,因为逻辑卷保持活动状态。

编辑1:lvs输出如下:

代码语言:javascript
复制
LV               VG              Attr       LSize   Pool             Origin Data%  Meta%  Move Log Cpy%Sync Convert
ZEROED-VDOLV-1   Pepper-Potts-vg vwi-XXv-X-  24,00g ZEROED-VDOPOOL-1
ZEROED-VDOPOOL-1 Pepper-Potts-vg dwi-XX--X-  12,00g
home             Pepper-Potts-vg -wi-ao----  <9,08g
root             Pepper-Potts-vg -wi-ao----  <3,18g
swap_1           Pepper-Potts-vg -wi-ao---- 976,00m
tmp              Pepper-Potts-vg -wi-ao---- 316,00m
var              Pepper-Potts-vg -wi-ao----   1,37g

编辑2:我运行了systemctl status /dev/mapper/Pepper--Potts--vg-ZEROED--VDO,它给了我以下内容:

代码语言:javascript
复制
● dev-mapper-Pepper\x2d\x2dPotts\x2d\x2dvg\x2dZEROED\x2d\x2dVDO.device - /dev/mapper/Pepper--Potts--vg-ZEROED--VDO
     Loaded: loaded
     Active: inactive (dead)

其他LV是loadedactive (plugged)

代码语言:javascript
复制
● dev-mapper-Pepper\x2d\x2dPotts\x2d\x2dvg\x2dhome.device - /dev/mapper/Pepper--Potts--vg-home
   Follow: unit currently follows state of sys-devices-virtual-block-dm\x2d4.device
     Loaded: loaded
     Active: active (plugged) since Sat 2022-05-14 19:00:24 CEST; 5min ago
     Device: /sys/devices/virtual/block/dm-4

知道吗?也许我应该像另一个默认的逻辑卷那样创建一个虚拟设备?

编辑3:否,虚拟设备(/dev/dm)是由lvcreate时由LVM创建的。

建议:

EN

回答 1

Server Fault用户

发布于 2022-05-14 21:56:10

解决了这里

  1. 我的/etc/fstab行直接取自红帽文件,但由于vdo.service不再存在而无法工作;VDO模块现在已与LVM集成。所以现在我跑:
代码语言:javascript
复制
echo "$DM_VDOLV_PATH    $MOUNT_POINT    ext4    defaults,x-systemd.device-timeout=0 0   0" >> /etc/fstab
  1. 我发现lvm2-activation-generator不是使用apt install ...安装的包,而是用apt打包的,可以通过在LVM配置文件(/etc/lvm/lvm.conf)中添加event_activation = 0配置行来使用。此配置文件在LVM (来源)初始化阶段加载。一旦“启用”,此生成器将为每个/etc/fstab条目(在/run/systemd/generator/目录中)生成系统挂载单元,系统将正确启动。
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1100939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档