这是个有趣的问题...
我认为没有确切的答案,但是我可以提供一些历史背景,说明围绕该主题的最佳实践可能会随着时间而改变。
自2007年以来,我必须支持在各种VMware环境中以各种形式部署的数千个Linux VM。我的部署方法已经发展,并且我拥有继承和重构其他工程师构建的系统的独特(有时是不幸的)经验。
过去...
早在2007年,我的早期VMware系统就像裸机系统一样进行了分区。在VMware方面,我使用的是2GB分割的厚文件来构成VM的数据,甚至都没有考虑多个VMDK的概念,因为我很高兴虚拟化甚至可以工作!
虚拟基础架构...
在ESX 3.5和早期的ESX / ESXi 4.x发行版(2009-2011年)中,我使用的是Linux,在一般的单片Thin Provisioned VMDK文件上进行了分区。必须预先分配存储空间,这迫使我以与实际硬件类似的方式考虑Linux设计。我为操作系统创建了36GB,72GB,146GB的VMDK,对通常的/,/ boot,/ usr,/ var,/ tmp进行了分区,然后为“数据”或“增长”分区添加了另一个VMDK(无论是/主页,/ opt或特定于应用程序的内容)。同样,在这个时代,物理硬盘大小的最佳点是146GB,并且由于必须进行预分配(除非使用NFS),所以我需要对空间保持保守。
精简配置的问世
VMware 在更高版本的ESXi 4.x发行版中围绕Thin Provisioning开发了更好的功能,这改变了我开始安装新系统的方式。在5.0 / 5.1中添加了全部功能集之后,一种新型的灵活性允许进行更多创造性的设计。提醒您,这与虚拟机上不断增加的功能保持同步,即可以将多少个vCPUS和多少个RAM分配给单个VM。与过去相比,可以虚拟化更多类型的服务器和应用程序。当计算环境开始完全虚拟化时,这是正确的。
LVM太糟糕了...
在虚拟机级别上全面的热添加功能到位并普遍使用时(2011年至2012年),我已经与一家公司合作,力争以不计任何代价(愚蠢的)为其客户的虚拟机维护正常运行时间。因此,这包括增加在线VMware CPU / RAM以及在现有VMDK上调整LVM磁盘大小的风险。在此环境中,大多数Linux系统都是单个VMDK设置,在LVM上带有ext3分区。这很糟糕,因为LVM层增加了操作的复杂性和不必要的风险。例如,/ usr中的空间不足可能导致一系列错误的决定,这些错误的决定最终意味着从备份中还原系统。这部分与过程和文化相关,但仍然...
分区势利...
我借此机会尝试对此进行更改。我在Linux中有点分区标识,并认为应将文件系统分开以监视和操作需求。我也不喜欢LVM,尤其是使用VMware以及能够执行您所要求的功能的LVM。因此,我将VMDK文件的添加扩展到了可能增长的分区。如果需要,/ opt,/ var,/ home可以获取自己的虚拟机文件。那将是原始磁盘。有时,这是一种动态扩展特定较小分区的简便方法。
奥巴马医改...
随着一个引人注目的客户端的入职,我受命设计Linux VM参考模板,该模板将用于创建其极为可见的应用程序环境。应用程序的安全要求需要一套独特的安装,因此与开发人员一起尝试将非增长分区塞满一个VMDK,然后为每个具有增长潜力或有特定要求的安装添加单独的VMDK(加密,因此,最后,这些VM由5个或更多VMDK组成,但是为将来调整大小和保护数据提供了最佳的灵活性。
我今天做什么...
今天,我对Linux和传统文件系统的总体设计是在一个瘦VMDK(分区)上的OS,以及在其他任何事物上的离散VMDK。我将根据需要进行热添加。对于像ZFS这样的高级文件系统,它是一个OS的VMDK,另一个是充当ZFS zpool的VMDK,可以对其进行调整大小,并刻入其他ZFS文件系统等。