How to fix Virutal Machine disk size show 0 / Sanal makinelerde snap silme hatası ve diskler 0 olarak görünüyor.
Merhaba Arkadaşlar,Bugün size vmlerde backup sonrasında karşılaşılan bir hatadan bahsedeceğim. Tabi aynı durum farklı şekillerde karşılaşılabilir.
Öncelikle sorunu nasıl tepit ettiğimizii nasıl karşılaştığımızı özetlemek isterim. Bir gün sabah bir çok mekinede yaklaşık 50 backup alınamadığı hatası ile karışılaştık. Aynı VM üzerinde neredeyse backup yazılımı tarafından alınmı 25-30 civarı snapshot olduğunu gördük. Asıl sorun snapleri silmek istediğimizde beklenmeyen hata ile karşılaşıldı diyerek snapshotların silinmemesi idi.
Tabi bu snaplarin neden 35 ve üstü alındığını be alınan snaplarin silinemesini arastırırken farkettik ki tüm bu sunucuların disk boyları 0 olarak görünüyordu. GUI den açıp baktığınızda 0 olarak göründüğü için başka bir değişiklik yapmak isteseniz kaydetmek istediğinizde mevcut disk konfigürasyonunu bozacağından bu bir risk içeriyordu.
Sonra host üzerindeki vmmachine loglarını incelediğimizde bir aygıtı bulamadığı için snaplari silemediğini farkettik. VM üzerinde tanımlı olan CDROM u görmediği için snap alıyor ve silemiyordu.
Aslında CDROM datastore dan tanımlanmış ISO dosyası idi ve connected durumda değildi. Zaten connected ve power on connect seçili değildi. Aslında bu ISO ların tanımlandığı datastore vcenter sisteminden kaldırılmıştı ve sistemden kaldırılırken CDROMlar conected durumları iptal edilmişti. Ama CDROM pathinde hala eski datastore pathi yazmaktaydı. Snaplari silmek istediğimizde işte bu pathi bulamadığı için silme hatası alıyorduk.
Backup yazılımında benzer şekilde snap almış backup başlatmış fakat snap silemediği için backupbı başarılı bitiremediğini zannederek peş peşe bunu denemiş ve sabaha kadar ortalığı dağıtmış.
Kötü olan durum ise disk boyutları 0 göründüğü için ve CDROM kısmında değişiklik yapamıyorduk. Sunucular bu şekilde ayaktaydı ve hepsini kapatmanın imkanı yoktu çalışan 50+ VM sunucuda disk boyutunda değişiklik yapmak istesek büük bir ihtimal diskleri uçuracaktı.
Biraz google aramasındansonra benzer durumla karşılaşanların farklı çözümler getirdiğini gördüm. Ben ise öncelikle olmayan CDDrive ları kaldırmam gerekiyordu. Bunuda VMWARE POWERCLI ile kaldırdım.
Ömcelikle CDDrive tanımlı tüm VMlerin listesini yine powersli yardımı ile hızlıca çıkarttım. Şu an resimleri hazrılıyorum. Toplu olarak çalıştırdığım komutları da resimlerle birlikte paylaşacağım. Aşağıda çat pat ingilizce anlatımımda tek bir sunucu için tek tek nasıl yaptığımı özetledim.
* CDdrive tanımlı olan tüm VMleri power shel yardımı ile hızlıca kaldırdım. Daha önce benzer bir olayda vmmakinanın disk configürasyon dosyasını okuması için deneyeceği şeçeneklerden sunucuyu kapatıp açma, snapshot alma ve silme, sunucuyu dondurmak pause edip resume ihtimallerinden birini denemem gerekiyordu. Tabiki kesinti olmayacak snapshot alma sistemini tercih ettim.
Tabi her bir sunucuda 30 civarı snapshotı alıp silmek kolay değildi. 50X30 yaklaşık 1500 herhalde 2 günde bitiremezdim. CDDriveları kaldırdıktan sonra tek bir sunucuda denediğimde sorunsuz snap alıp sildiğini gördüm. Bu arada vm configürasyon dosyasını yeniden okuduğundan disk boyutlarının düzelmiş olduğunu görmüştük. CDROM tanımlı olmadığı için bulamadım diye hata vermiyor ve snapshotı rahatlıkla kaldırıyor ve disk dosyasını refresh ederek normale dönüyordu.
Sorunun çözümünü bu şekilde bulduktan sonra topluca powercli ile 50 sunucuda birer adet ssnapshot aldım ve bu aldığımızla birlikte içinde backup yazılımın adını içeren tüm snapshotlarıda PowerSLI yardımı ile sildik.
Bu şekilde bile o kadar snapshotı silmesi yaklaşık olarak 1 saat sürdü. Sonunda tüm sunucularımızı kesintisiz bir şekilde bu saçma sorundan kurtardık.
Şimdi biraz English. Tek makine için örnek komutlar.. Resimleri en kısa sürede yüklemek umuduyla.
********************************************************************************
Hi,
Some backup application fail finished end backup. It seems all disk size seems 0 MB. And cannot remove snapshot.
If virtual machine connected cdrom ISO file from datastore. That problem cause If trying backup when cdrom still connected state and datastore removed from vcenter.
Firstly we need remove the cdrom. If try to GUI we get fail. Because disk size show 0.
How to remove cdrom
Connect Vcenter from PowerShell
Connect-VIServer -Server 192.168.0.55
Get-VM -Name TestVm | Get-Cddrive | Set-Cddrive -Nomedia
Get-VM -Name TestVM | New-Snapshot -Name diskerror
Get-VM -Name TestVm | Get-Snapshot -Name diskerror | Remove-Snapshot
Saygılarımla / Best Regards