在Linux系统中,mapper
是与 设备映射(Device Mapper) 相关的核心功能,主要用于动态管理块设备(如磁盘、分区、LVM逻辑卷等)。它是Linux内核提供的一种框架,支持逻辑卷管理(LVM)、加密(dm-crypt)、快照、多路径I/O等高级存储功能。
/dev/mapper/xxx
),便于统一管理。通过命令 ls -l /dev/mapper/
可查看系统中的mapper设备,典型例子包括:
- LVM逻辑卷:
/dev/mapper/vgname-lvname
→ 对应LVM卷组(VG)中的逻辑卷(LV)。
- 加密卷:
/dev/mapper/luks-xxxx
→ 通过 dm-crypt
加密的卷(如LUKS格式)。
- 多路径设备:
/dev/mapper/mpathX
→ 用于存储多路径(multipath)聚合的磁盘。
dmsetup
:直接管理Device Mapper设备的底层工具。
示例:查看当前映射关系
sudo dmsetup ls
LVM相关命令:
sudo lvdisplay # 显示逻辑卷信息
sudo vgdisplay # 显示卷组信息
加密卷操作:
sudo cryptsetup luksOpen /dev/sdb1 my_encrypted_volume # 打开加密卷
物理磁盘 → 卷组(VG)→ 逻辑卷(LV)→ 映射为 /dev/mapper/vgname-lvname
# 创建逻辑卷并挂载
sudo lvcreate -n mylv -L 10G myvg
sudo mkfs.ext4 /dev/mapper/myvg-mylv
sudo mount /dev/mapper/myvg-mylv /mnt
加密分区 → 映射为 /dev/mapper/luks-xxxx
# 加密并打开设备
sudo cryptsetup luksFormat /dev/sdb1
sudo cryptsetup luksOpen /dev/sdb1 secure_data
sudo mount /dev/mapper/secure_data /mnt
创建逻辑卷的快照用于备份:
sudo lvcreate -s -n snap_mylv -L 1G /dev/myvg/mylv
device-mapper
内核模块处理所有映射逻辑。dmsetup
、cryptsetup
、lvm2
等工具与内核交互。dmsetup table
)定义如何将I/O请求转发到实际设备。bash
sudo dmsetup info /dev/mapper/myvg-mylv
bash
lsblk -f # 显示设备树及文件系统
bash
sudo journalctl -k | grep dm
/dev/mapper/
是Device Mapper机制的用户接口,它将复杂的存储技术(如LVM、加密)抽象为简单的块设备,使得存储管理更灵活高效。理解mapper
有助于深入掌握Linux存储管理和高级功能配置。