fdisk 中的 /dev/mapper

Tos*_*osh 32 linux partition lvm fdisk

CentOS的安装后,我看到几行像 /dev/mapper/centos_jackpc--11-swap/dev/mapper/centos_jackpc--11-root当我发出fdisk -l

这些的目的是什么?为什么它们不出现在 Ubuntu 中?

全文fdisk -l如下:

Disk /dev/sda: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders, total 488281250 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e3a37

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   287754239   143364096   8e  Linux LVM
/dev/sda3       287756286   434180095    73211905    5  Extended
/dev/sda5       287756288   434180095    73211904   83  Linux

Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x6c03e282

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63  2147504935  1073752436+  83  Linux
Partition 1 does not start on physical sector boundary.

Disk /dev/mapper/rhel_jackpc-root: 104.9 GB, 104857600000 bytes
255 heads, 63 sectors/track, 12748 cylinders, total 204800000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/rhel_jackpc-root doesn't contain a valid partition table

Disk /dev/mapper/rhel_jackpc-swap: 41.9 GB, 41943040000 bytes
255 heads, 63 sectors/track, 5099 cylinders, total 81920000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/rhel_jackpc-swap doesn't contain a valid partition table
Run Code Online (Sandbox Code Playgroud)

Gil*_*il' 41

中的条目/dev/mapperLVM逻辑卷。您可以将这些视为 Linux 的本机分区类型。Linux 还可以使用其他分区类型,例如 PC(MBR 或 GPT)分区。

您的磁盘分为 MBR 分区,其中一个 ( /dev/sda2) 是 LVM 物理卷。LVM 物理卷是卷组的单一组成部分rhel_jackpc,它包含两个逻辑卷:(root这是您的 CentOS 系统分区)和swap(这是您的 CentOS 交换分区)。

Ubuntu 直接安装在 MBR 分区上,大概是/dev/sda5.

fdisk -l列出所有可能包含 MBR 分区(或最新版本中的 GPT 分区fdisk)的块设备的信息。在 LVM 逻辑卷中包含 PC 分区在技术上是可能的,尽管非常不寻常且毫无意义,因此fdisk -l查看那里并报告它没有找到分区表。这是正常的。

在 Ubuntu 上,如果未激活卷组,您将看不到有关 LVM 逻辑卷的任何信息。由于 Ubuntu 没有使用任何卷,它不会激活卷组。

对于 Linux 安装,是使用 PC 分区还是 LVM 卷通常只是一个方便的问题。有些事情您不能用 PC 分区来做,例如将它们分布在多个磁盘上,或者简单地调整它们的大小并轻松移动它们,或者使用它们创建快照,因此通过 LVM 进行安装要灵活得多。但如果您不需要这种灵活性,您可以直接安装到 PC 分区上。

  • 请注意,Linux 设备映射器用于除 LVM 之外的其他用途(例如 dm-crypt 磁盘加密),因此`/dev/mapper` 中的文件*不一定* LVM 逻辑卷。但这些看起来像他们。(它们遵循 LVM 使用的命名约定。) (12认同)
  • @Tosh 你可以运行 `lsblk` 来查看存储树,或者运行 `vgs` 和 `lvs` 来列出卷组和逻辑卷。 (7认同)
  • @Tosh 我说的“PC”是指 [PC](http://en.wikipedia.org/wiki/Personal_computer),而不是 Windows。MBR 和 GPT 分区分别是引导固件([BIOS](http://en.wikipedia.org/wiki/BIOS) 和 [UEFI](http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface))所理解的. Windows 坚持使用 PC 分区类型,因为它只在 PC 上运行(和一些 ARM 平台,但它们没有“本机”分区类型)。一些 unix 系统(例如 *BSD)在 PC 硬件上使用他们自己的分区方案,而其他系统(例如 Linux)则不在乎。 (2认同)