在 Centos 上无法执行“lvcreate”:“未找到:设备未清除”

在 Centos 上无法执行“lvcreate”:“未找到:设备未清除”

我已经创建了volume group,但是当我尝试时lvcreate,它失败了:

[root@c7v232 ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg_1afe5376c50bb27bdc8a0342a0bfb50b
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  13
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               89.87 GiB
  PE Size               4.00 MiB
  Total PE              23007
  Alloc PE / Size       0 / 0   
  Free  PE / Size       23007 / 89.87 GiB
  VG UUID               JZMo2m-CgAd-iQ3l-sNcp-J0W5-jwfi-058onD

[root@c7v232 ~]# vgs
  VG                                  #PV #LV #SN Attr   VSize  VFree 
  vg_1afe5376c50bb27bdc8a0342a0bfb50b   1   0   0 wz--n- 89.87g 89.87g
[root@c7v232 ~]# lvs
[root@c7v232 ~]# lvcreate -L 5G -n lv_pao vg_1afe5376c50bb27bdc8a0342a0bfb50b
  /dev/vg_1afe5376c50bb27bdc8a0342a0bfb50b/lv_pao: not found: device not cleared
  Aborting. Failed to wipe start of new LV.

udev我知道有一个类似的问题,但是它是 debian 并且我在 Centos 中找不到。

答案1

原来我还没安装udev啊,运行yum install libudev-devel一下就好了。

我不知道为什么udevadmlvcreate安装之前libudev-devel

答案2

我在最小的 qemu 环境(没有 systemd,没有 udev)中测试 LVM,也遇到了这个错误。

扩展另一个答案

使用“lvcreate -Zn …”。

以及 Arch Linux 论坛上提出的解决方案[已解决] 无法创建新的 lvm 逻辑卷

我找不到任何相关错误或调试信息,但我找到了解决方案。
添加 -Z n 以禁用归零。然后它就可以正常工作了。


因此,添加此选项会创建逻辑卷并发出警告

# lvcreate --zero n --size 10G --name usr vg0
  WARNING: Logical volume vg0/usr not zeroed.
  Logical volume "usr" created.

--zero选项中还提到了选项--activate

--zero 选项通常要求 LV 处于活动状态。

使用--activate n得到相同的结果

# lvcreate --activate n --size 10G --name usr vg0
  WARNING: Logical volume vg0/usr not zeroed.
  Logical volume "usr" created.

但进一步阅读选项--zero

警告:尝试安装未归零的 LV 可能会导致系统挂起。

因此激活音量

vgchange -a y

创建所需的/dev节点

vgmknodes

并手动归零

dd if=/dev/zero of=/dev/vg0/usr bs=4k count=1

在创建文件系统之前

mkfs /dev/vg0/usr

答案3

假设 udev 已安装并正在运行,它可能会太慢。或者其他什么原因。

使用“lvcreate -Zn …”。

相关内容