LVM扩展文件系统:新增分区与增加现有分区

我经常需要在运行在VMWare-ESX 6上的RHEL7系统上扩展文件系统。通常,我调整现有虚拟磁盘的大小并运行以下命令:

  1. echo“1”> / sys / class / scsi_disk / 0:0:X:X / device / rescan
  2. pvresize / dev / sdX
  3. lvextend -l + 100%免费[VolumeGroup]
  4. resize2fs [MountPoint]

我认为这是一个方便的解决scheme,但RedHat,VMWare和我发现的其他大多数How2s都是以另一种方式使用的。 他们创build一个新的分区,并将其添加到卷组,而不是调整现有的分区。

看到:

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006371

https://access.redhat.com/solutions/24770

我无法预测空间的需求,所以我不得不经常resize,但是我不想每次都创build一个新的分区。 他们使用和喜欢第二种方法,我认为是最糟糕的。 谁能告诉我为什么?

亲切的问候Sascha

其实在你的链接到RedHat文章步骤之一说:

空闲磁盘分区创build物理卷(例如/ dev / sdc1作为分区)

在VMWare文章的链接中,顶部有一个注释:

注意:这些步骤仅适用于EXT3文件系统。

所以你可以做/或者。 在几乎所有情况下(RHEL7 / GRUB2 – 对不起,我不能说VMWare)的build议方式是不要创build一个分区,因为你正在创build一个像下面的scheme。

Disk |- MBR |- |- LVM |- |- |- Superblock 

有一段时间,由于不进行分区而导致alignment问题,这会导致性能损失,但是对于那些假定需要LVM的系统,您可以补偿LVM中缺less的分区。

以前的分区build议是基于其他操作系统无法读取LVM元数据的事实,而且由于没有分区,将显示磁盘未格式化,而不是将其显示为具有分区。 实际上,即使在Linux中,如果没有分区,磁盘似乎还没有用到所有的分区工具(fdisk,gdisk,parted等)。 那是因为它们被devise来寻找分区。

如果你正在运行VMware,我假设你正在使用一个有控制权的企业环境–SA's将没有任何理由要使用分区,而且你也不会有Windows或其他任何“其他操作系统“安装到机器上,除非机器被重新用途。 因此,分区build议不适用。

在旧版本的RHEL中的最佳做法是分区: https : //unix.stackexchange.com/questions/76588/what-is-the-best-practice-for-adding-disks-in-lvm

使用整个磁盘的修改build议当然是RHEL 7的新增function,因为较早的系统使用GRUB而不是GRUB2。 在那些较旧的系统上,保持分区的原因是由于/ boot需要在物理磁盘上。

在您的情况下,您并不是指操作系统磁盘,因此,即使在较早的系统中,您也可以将LVM元数据直接保存在原始磁盘上,而无需任何分区。

有一种情况需要使用保护性MBR,即在来宾操作系统的物理驱动器上使用LVM,而不是使用vmdk或其他types的文件。 但即使正如@shodanshok所指出的那样,您可以在pipe理程序的lvm.conf中使用filter来隐藏这些filter。

如果这是一个SAN支持的物理磁盘,这里有一个讨论: https : //access.redhat.com/discussions/1488023

Oracle DBA还build议使用原始磁盘: http : //www.dba-oracle.com/real_application_clusters_rac_grid/raw_devices_linux.html

最后,还有关于Reddit的讨论: https : //www.reddit.com/r/sysadmin/comments/292qf2/lvm_physical_disk_vs_partitions/

几乎每个人都同意,使用整个磁盘。

如果您有兴趣,请进一步阅读有关从LVM支持的磁盘启动的内容。 https://unix.stackexchange.com/questions/136614/how-does-grub2-load-the-kernel-from-an-lvm-volume

http://forums.fedoraforum.org/showthread.php?t=263325

所以总结一下:使用整个磁盘。 有一天,分区工具可能完全停止在* nix中使用,转而使用zfs工具,btrfs工具,lvm或三者的某种组合。

根据您的命令,您正在使用原始设备作为物理卷。 虽然很好,红帽通常build议创build一个保护性MBR(即:分区底层磁盘),并使用分区作为物理卷。

常见的工具如fdisk不能直接扩展分区大小,而是要求您手动删除/重新创build分区; 所以在线常见问题通常为您提供更简单的方法 – 创build一个新的分区,并将其添加为一个新的物理卷。 此外,为了让客户系统检测到分区扩展,通常需要重新启动它。 另一方面,添加分区不会导致重新启动。

无论如何,我同意不断添加分区以扩展虚拟磁盘大小并不是最好的方法; 我通常更喜欢手动调整分区大小(在进行MBR备份之后)并重新引导客户机系统,然后针对resize的分区执行pvresize