了解多路径和挂载点

Gre*_*ler 5 partition rhel lvm disk multipath-storage

我刚刚在我们的生产环境中接触了多路径,之前从未听说过这个概念。经过一番挖掘,我想我开始了解这个概念在理论上是如何工作的,但是我在将其推断为我正在处理的盒子上看到的内容时遇到了一些麻烦。

从 multipath -ll 我得到如下输出:

mpath0 (36000d3100088060000000000000000b9) dm-0 COMPELNT,Compellent Vol
size=60G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 0:0:0:0 sda 8:0   active ready running
  |- 0:0:1:0 sdd 8:48  active ready running
  |- 1:0:0:0 sdi 8:128 active ready running
  `- 1:0:1:0 sdl 8:176 active ready running
Run Code Online (Sandbox Code Playgroud)

从 fdisk -l 我知道这些都是 60GB 磁盘,具有相同的分区设置:

Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        7832    62806117+  8e  Linux LVM
Run Code Online (Sandbox Code Playgroud)

但让我感到困惑的是分区实际上是如何安装在服务器上的:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       30G   26G  3.8G  87% /
/dev/mapper/mpath0p1   99M   49M   46M  52% /boot
tmpfs                  16G  232M   16G   2% /dev/shm
/dev/mapper/mpath2p1  493G  226G  242G  49% /u02
Run Code Online (Sandbox Code Playgroud)

现在只考虑 /boot:它挂载到 mpath0p1,我可以看到这么多。但这与多路径背后的物理磁盘/LVM 有何对应关系?

Eli*_*ady 4

您的多路径设备只是一个磁盘的多个路径的抽象。因此,您所询问的对应关系是 mpathN 设备与您拥有的任何结构远端的底层设备相同。

正如您所看到的,您可以查看 mpath 设备上的分区表及其组成成员,并看到相同的布局。

有些人认为多路径和 RAID1 的概念有相似之处。它们不相关,但我发现这是一个有用的比较。多路径设备的底层设备不像 RAID1 那样是重复副本。它们只是同一个磁盘/LUN(通常是远程磁盘/LUN)的并行连接。

关于如何安装分区的问题,它们是在没有多路径的情况下安装的(假设设备没有在 fstab 和 lvm.conf 中硬编码)。所以你已经mpath0p1安装在/boot. /dev/sda1在您的情况下——如果这些设备不是由 multipathd 管理的——这与安装在相同/boot(在您的示例中,sdi1、sdd1 或 sdl1 可以替换 sda1)。不同之处在于,如果您的 sda1 光纤(或其他)连接断开,您的磁盘仍然可以使用多路径驱动程序通过 sdd、sdi 和 sdl 进行访问。

在这种情况下,您将远程磁盘的第一个分区mpath0安装在/boot,磁盘的第一个分区安装mpath2/u02。sda 的 fdisk 输出中的第二个分区被标记为 LVM 物理分区。据推测,这包含卷组VolGroup00以及逻辑卷LogVol00,该卷安装在/