Linux中的虚拟磁盘

下面给你 系统化、清晰、全面 地介绍一下 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:49
用户头像
tongqing

虚拟磁盘和物理磁盘的性能分析方法:https://blog.tongqing.asia/detail/274/

2025年11月20日 13:14