Bu ilginç bir soru ...
Kesin bir cevap olduğunu sanmıyorum, ancak bu konuyu çevreleyen en iyi uygulamaların zaman içinde nasıl değişmiş olabileceği konusunda tarihsel bir bağlam verebilirim.
2007'den beri VMware ortamlarında çeşitli formlarda konuşlandırılmış binlerce Linux VM'sini desteklemek zorunda kaldım. Dağıtım yaklaşımım gelişti ve diğer mühendisler tarafından oluşturulan sistemleri devralma ve yeniden yapılandırma konusunda benzersiz ( bazen talihsiz ) bir deneyimim oldu.
Eski günler...
O güne (2007) erken VMware sistemlerim tıpkı çıplak metal sistemlerim gibi bölümlendi. VMware tarafında, VM'nin verilerini oluşturmak için 2GB kalınlıkta dosyalar kullanıyordum ve birden fazla VMDK kavramı hakkında bile düşünmedim, çünkü sanallaştırmanın işe yarayabileceği için mutluydum!
Sanal Altyapı ...
ESX 3.5 ve ilk ESX / ESXi 4.x sürümlerinde (2009-2011), monolitik Thick tarafından sağlanan VMDK dosyaları üzerinde normal olarak bölümlenmiş Linux kullanıyordum . Depolamayı önceden tahsis etmek zorunda kalmam, Linux tasarımı hakkında gerçek donanımda yaptığım gibi düşünmeye zorladı. İşletim sistemi için 36GB, 72GB, 146GB'lık VMDK'lar yaratıyordum, olağan /, / boot, / usr, / var, / tmp bölümlerini ayırdım, sonra "veri" veya "büyüme" bölümü için başka bir VMDK ekledim (bu / / home, / opt veya uygulamaya özel bir şey). Yine, bu dönemde fiziksel sabit disk boyutlarındaki tatlı nokta 146 GB'dı ve ön tahsisat bir gereksinim olduğundan (NFS kullanılmadığı sürece), boşlukla muhafazakar olmam gerekiyordu.
İnce tedarikin ortaya çıkışı
VMware daha sonra ESXi 4.x sürümlerinde İnce kaynak sağlama konusunda daha iyi özellikler geliştirdi ve bu da yeni sistemler kurmaya başladığımda değişti. Tüm özellik seti 5.0 / 5.1'e eklendiğinde, yeni bir esneklik türü daha yaratıcı tasarımlara izin verdi. Unutmayın, bu sanal makinelerde daha fazla vCPUS'a ve bireysel VM'lere ne kadar RAM yüklenebileceği konusunda artan yeteneklere ayak uyduruyordu. Geçmişten daha fazla türde sunucu ve uygulama sanallaştırılabilir. Bilgisayar ortamları tamamen sanallaşmaya başladığı için bu doğru.
LVM korkunç ...
Sanal makine seviyesindeki tam hot-add işlevselliği yerinde ve yaygın olduğunda (2011-2012), müşterilerinin sanal makine servislerinin çalışma süresini ne pahasına olursa olsun ( aptal ) sürdürmeye çalışan bir firma ile çalışıyordum . Bu, çevrimiçi VMware CPU / RAM artışlarını ve mevcut VMDK'lerde yeniden boyutlandırılmasının riskli LVM disklerini içeriyordu. Bu ortamdaki çoğu Linux sistemi, LVM'nin üstünde ext3 bölümleriyle tek VMDK kurulumlarıydı. Bu korkunçtu çünkü LVM katmanı karmaşıklık ve operasyonlara gereksiz risk kattı . Örneğin / usr'da alanın tükenmesi, sonunda bir sistemi yedeklerden geri yüklemek anlamına gelen kötü kararlar zincirine yol açabilir ... Bu, kısmen süreç ve kültürle ilgiliydi ama yine de ...
Bölüm züppeği ...
Bunu değiştirmeye çalışmak için bu fırsatı kullandım . Linux’ta bir bölümleme topluluğunun parçasıyım ve izleme ve operasyonel ihtiyaçlar için dosya sistemlerinin ayrılması gerektiğini hissediyorum. Ayrıca LVM'den, özellikle VMware'den ve ne sorduğunuzu yapma yeteneğinden de hoşlanmıyorum. Böylece, VMDK dosyalarının potansiyel olarak büyüyebilecek bölümlere eklenmesini genişlettim. / opt, / var, / home gerektiğinde kendi sanal makine dosyalarını alabilir. Ve bunlar çiğ diskler olurdu. Bazen bu, belirli cılız bölümleri anında genişletmek için daha kolay bir yöntemdi.
Obamacare ...
Çok yüksek profilli bir müşterinin hizmete girmesiyle, son derece görünür uygulama ortamlarını oluşturmak için kullanılacak Linux VM referans şablonunun tasarımı ile görevlendirildim . Uygulamanın güvenlik gereksinimleri, benzersiz bir montaj seti gerektiriyordu ; bu nedenle, geliştirici olmayan bölümleri tek bir VMDK üzerine sıkıştırmayı denemek için geliştiricilerle birlikte çalıştı ve daha sonra büyüme potansiyeli olan ya da belirli gereksinimleri olan her bir montaj için ayrı VMDK'lar ekledi (şifreleme, denetim, vb.) Sonuç olarak, bu VM'ler 5 veya daha fazla VMDK'den oluşuyordu, ancak gelecekteki yeniden boyutlandırma ve verilerin korunması için en iyi esnekliği sağladı.
Bugün ne yapıyorum?
Bugün Linux ve geleneksel dosya sistemleri için olan genel tasarımım, ince bir VMDK (bölümlenmiş) işletim sistemi ve başka bir şey için ayrık VMDK'lar. Gerektiği kadar sıcak eklerim. ZFS gibi gelişmiş dosya sistemleri için, işletim sistemi için bir VMDK ve bir ZFS zpool'u olarak hizmet veren ve yeniden boyutlandırılabilen, ilave ZFS dosya sistemlerine oyulmuş bir başka VMDK'dır.