问题):
system/var
将 LVM 卷组/卷标识符(例如)转换为设备名称(例如/dev/mapper/system-var
或/dev/system/var
)以及反之亦然的最佳方法是什么?- 直接使用是否安全
/dev/VolumeGroup/Volume
或者是否存在任何注意事项(例如在/dev/mapper/VolumeGroup-Volume
表格中,破折号被特殊处理)? /dev/mapper/VolumeGroup-Volume
使用和 时,每种形式的正反两面有何本质区别/dev/VolumeGroup/Volume
?
背景:
我想自动创建 LVM 快照以用于备份。配置应仅包含文件系统中的源路径(对于此示例/var
)。解析后/etc/mtab
会生成安装在该路径上的设备:
# grep /var /etc/mtab
/dev/mapper/system-var /var ext4 rw 0 0
现在我可以用来lvs
找出 VolumeGroup 和 Volume:
# lvs --noheadings /dev/mapper/system-var
var system -wi-ao 18,62g
创建快照:
# lvcreate -s -n var-snapshot -p r -l10%ORIGIN system/var
现在我需要设备名称来挂载快照。
答案1
问题的答案:
- 前置
/dev/
- 它是安全的
/dev/mapper/$vg-$lv
由 dm udev 规则处理,/dev/$vg/$lv/
由 lvm udev 规则处理。
我之前的回答,如何找到答案:
我正在看 Ubuntu 12.04 LTS 系统。
udev 处理设备节点创建。
/dev/mapper/
并且/dev/$vg/
仅包含符号链接。
grep lvm /lib/udev/rules.d/*
匹配多个文件。
60-persistent-storage-lvm.rules
包含此行:
ENV{DM_VG_NAME}=="?*", ENV{DM_LV_NAME}=="?*", ENV{DM_LV_LAYER}=="", SYMLINK+="$env{DM_VG_NAME}/$env{DM_LV_NAME}"
这似乎表明/dev/$vg/$lv
将建立链接
大多数文件还指出了/usr/share/doc/lvm2/README.udev
udev 和 lvm2 将在哪些状态为 LV 创建设备/dev/$vg/
。
中的符号链接/dev/mapper/
似乎是 所做的55-dm.rules
。设备映射器可以在没有逻辑卷管理器的情况下使用,例如使用 LUKS 进行加密。