Це цікаве питання ...
Я не думаю, що є однозначної відповіді, але я можу дати певний історичний контекст про те, як найкращі практики щодо цієї теми могли змінитися з часом.
Мені довелося підтримувати тисячі віртуальних машин Linux, розгорнутих у різних формах у середовищах VMware з 2007 року. Мій підхід до розгортання розвинувся, і я мав унікальний ( іноді невдалий ) досвід успадкування та рефакторингу, побудований іншими інженерами.
Старі часи ...
Ще в той день (2007) мої ранні системи VMware були розділені так само, як і мої системи з голого металу. Що стосується VMware, я використовував розділені файли товщиною 2 Гб, щоб містити дані VM, і навіть не думав про поняття декількох VMDK, тому що я був щасливий, що віртуалізація може навіть працювати!
Віртуальна інфраструктура ...
За версією ESX 3.5 та ранніми випусками ESX / ESXi 4.x (2009-2011 рр.) Я використовував Linux, розміщений як звичайний монолітний товстий файл VMDK. Необхідність попереднього розподілу пам’яті змусила мене думати про дизайн Linux таким же чином, як і для справжнього обладнання. Я створював VMDK для 36 ГБ, 72 ГБ, 146 ГБ для операційної системи, розділяючи звичайний /, / завантажувальний, / usr, / var, / tmp, потім додав ще один VMDK для розділу "дані" або "зростання" (будь то / home, / opt або щось, що стосується програми). Знову ж таки, приємне місце у фізичних розмірах жорсткого диска в цю епоху становило 146 Гб, і оскільки попереднє розміщення було обов'язковою умовою (якщо не використовувати NFS), мені потрібно було бути консервативним з простором.
Поява тонкого резервування
У наступних випусках ESXi 4.x VMware розробив кращі функції щодо забезпечення тонкого забезпечення , і це змінило те, як я почав встановлювати нові системи. Додавши повний набір функцій у 5.0 / 5.1, новий тип гнучкості дозволив досягти більш креативних дизайнів. Зауважте, це йшло в ногу з розширеними можливостями на віртуальних машинах, з точки зору кількості vCPUS та скільки оперативної пам’яті, що може бути надано окремим віртуальним машинам. Більше типів серверів і додатків можна віртуалізувати, ніж раніше. Це правильно, оскільки обчислювальне середовище починало виходити абсолютно віртуальним.
LVM жахливий ...
На той час, коли повноцінна функція гарячих додавань на рівні VM була створена і загальна (2011-2012 рр.), Я працював з фірмою, яка прагнула будь-якою ціною підтримувати робочий час для VM клієнтів ( нерозумно ). Таким чином, це включає в себе онлайн-процесор / оперативну пам’ять VMware та ризикований розмір диска LVM на існуючих VMDK. Більшість систем Linux у цьому середовищі мали поодинокі установки VMDK з розділами ext3 поверх LVM. Це було жахливо, оскільки шар LVM додав складності та зайвого ризику для операцій. Наприклад, не вистачає місця в / usr, наприклад, може призвести до неправильних рішень, що врешті-решт означало відновлення системи з резервних копій ... Це частково стосувалося процесу та культури, але все ж ...
Снобізм розділів ...
Я скористався можливістю спробувати це змінити. Я трохи сноб-розділ в Linux і вважаю, що файлові системи повинні бути розділені для моніторингу та експлуатаційних потреб. Мені також не подобається LVM, особливо з VMware та можливістю робити те, що ви просите. Тому я розширив додавання файлів VMDK до розділів, які можуть потенційно зростати. / opt, / var, / home при необхідності можуть отримати власні файли віртуальної машини. І це були б сирі диски. Іноді це був простіший метод розширення конкретного низькорозмірного розділу на льоту.
Obamacare ...
Завдяки вбудованому дуже високопрофільному клієнтові я отримав завдання розробити довідковий шаблон Linux VM, який би використовувався для створення їх надзвичайно видимого середовища застосування. Вимоги до безпеки програми вимагають унікального набору кріплень , тому працювали з розробниками, щоб спробувати нав'язати розділи, що не ростуть, на один VMDK, а потім додати окремі VMDK для кожного монтажу, який мав потенціал зростання або мав конкретні вимоги (шифрування, аудит і т. д.) Отже, зрештою, ці відеомагнітофони складалися з 5 і більше VMDK, але забезпечували найкращу гнучкість для подальшого зміни розміру та захисту даних.
Що я сьогодні роблю ...
Сьогодні мій загальний дизайн для Linux та традиційних файлових систем - це ОС на одному тонкому VMDK (розділений) та дискретні VMDK для будь-чого іншого. Я гаряче додаю по мірі необхідності. Для просунутих файлових систем, таких як ZFS, це одна VMDK для ОС, а інша VMDK, яка виконує функцію zpool ZFS і може змінювати розміри, вирізати у додаткові файлові системи ZFS тощо.