Linux中的虚拟磁盘
已于 2025年11月20日 09:46 修改
访问次数:0
下面给你 系统化、清晰、全面 地介绍一下 Linux 中的虚拟磁盘(Virtual Block Devices)概念,包括它们是什么、为什么存在、有哪些类型,以及常见使用场景。
🧩 什么是“虚拟磁盘”(Virtual Block Device)
在 Linux 中,“虚拟磁盘”指 不是直接绑定真实硬盘,而是由软件层创建的块设备。
表现形式是:
/dev/dm-0
/dev/dm-1
/dev/mapper/xxx
/dev/loop0
/dev/md0
/dev/ram0
这些设备 像硬盘一样可以格式化、挂载、读写,但它们的 I/O 最终会映射到真实磁盘。
🧱 为什么会有虚拟磁盘?
因为 Linux 的 I/O 子系统是分层的,设备层可以由软件“模拟”出新的设备,以提供:
- 逻辑卷管理(LVM)
- 加密磁盘(dm-crypt)
- RAID(mdadm)
- 镜像挂载(loop)
- 设备拆分/组合
- 快照、thin provisioning
- RAM Disk
虚拟磁盘就是 Linux 的 软件定义存储(SDS)。
🧭 Linux 中常见虚拟磁盘类型
1. Device Mapper(dm)设备
代表:
- /dev/dm-0
- /dev/mapper/centos-root
常见用途:
| 技术 | 描述 |
|---|---|
| LVM(逻辑卷) | 最常见的用途,如 dm-0=根分区 |
| dm-crypt/LUKS | 提供磁盘加密 |
| thin-provisioning | 细粒度卷分配 |
| snapshot | 快照卷 |
| multipath | 多路径磁盘访问 |
Device Mapper 是一个框架,LVM、加密、快照都基于它实现。
查询方式:
dmsetup ls --tree
2. Loop 设备(loop0, loop1...)
代表:
/dev/loop0
用途:
- 将普通文件模拟成一个块设备
- 常用于挂载 ISO、镜像文件(Docker 镜像底层也用 loop)
示例:
sudo losetup /dev/loop0 disk.img
mount /dev/loop0 /mnt
3. md 设备(Software RAID)
代表:
/dev/md0
由 mdadm 创建的软件 RAID:
| RAID 级别 | 用途 |
|---|---|
| RAID 0 | 速度 |
| RAID 1 | 镜像 |
| RAID 5/6 | 容错 |
| RAID 10 | 性能 + 容错 |
检查:
cat /proc/mdstat
4. RAM Disk(ram0, ram1 以及 tmpfs)
- /dev/ram0 是模拟的 RAM 磁盘
- /dev/shm 和 /tmp 常用 tmpfs(直接使用内存)
示例:
mkdir /mnt/ram
mount -t tmpfs -o size=1G tmpfs /mnt/ram
5. NBD(Network Block Device)
代表:
/dev/nbd0
作用:
- 把远程文件或网络服务挂成一个块设备
- 常用于云存储、Ceph RBD、QEMU 虚拟机
示例:
qemu-nbd -c /dev/nbd0 image.qcow2
6. Zram / Zswap
代表:
/dev/zram0
功能:
- 压缩内存块设备
- 可作为 swap 或 RAM disk
示例:
modprobe zram
echo lz4 > /sys/block/zram0/comp_algorithm
🧯 它们最终映射到哪里?
虚拟磁盘最终都会落到:
真实磁盘 → SATA / NVMe / SSD → /dev/sda, /dev/nvme0n1
例如:
LVM(dm-0) → md0(RAID) → /dev/sda,/dev/sdb
或:
dm-crypt → LVM → /dev/nvme0n1
或:
loop0 → 镜像文件 → /dev/sda
⚙️ 如何查看系统中所有块设备(虚拟+真实)
lsblk -f
你会看到树状结构:
sda
└─sda1
└─dm-0 (root)
清晰展示虚拟映射关系。
📝 总结一句话
Linux 的虚拟磁盘是一种通过软件创建的“假”硬盘,用来提供 LVM、RAID、加密、镜像挂载、RAM Disk 等高级存储能力。
评论(2)
tongqing
对于基于硬件的虚拟磁盘(比如磁盘控制器),操作系统可能只知道虚拟磁盘的忙时间,却不清楚底下磁盘的性能。这导致在某些情况下,操作系统报告的虚拟磁盘使用率和实际磁盘的情况有很大出入(并且和直觉相冲突)
2025年11月20日 09:49tongqing
虚拟磁盘和物理磁盘的性能分析方法:https://blog.tongqing.asia/detail/274/
2025年11月20日 13:14