Cihan Özdemir
Articles,videos,tips and tricks related to Vmware,Microsoft,Citrix Systems
29 Aralık 2013 Pazar
Birden fazla Serverın Snapshot Alanının Değiştirilmesi
Merhabalar,
Snapshot alanının değiştirilmesi ile ilgili yazdığım yazıya istinaden bir soru almıştım birden fazla Server ın Snapshot alanının değiştirilmesi gibi.Yazıyı yazdığım dönemde böyle bir imkan yoktu açıkçası şu an var mı pek araştırmadım. Powershell i kurcalayıp öğrenmeye çalışmak hoşuma gittiği için şimdi kendim bir script yazmaya karar verdim. TEST ORTAMLARINIZ için aşağıdaki çok amatör script i kullanabilirsiniz :))
Script in yaptığı şey şu;
Sizden server ip sini istiyor
Kullanıcı adı ve şifre girmenizi istiyor
Bağlantı sağlandıktan sonra sizehangi server için değişiklik yapmak istediğiniz soruyor tek bir sunucu için örn;
TESTVM yazarak geçebilirsiniz. hepsini yapmak isterseniz ALLVMS yazdığınızda esx üstündeki bütün serverlara ayarı uygulayacaktır.
Son aşama olarak yeni snapshot yerinin neresi olacağını soruyor
Bilgileri girdikten sonra zaten vSphere Client ın taks bar ında "Reconfigure" ibaresini görüyor olacaksınız.
Not: script i çalıştırabilmek için vmware powerscli ın bilgisayarınızda yüklü olması gerekli.
Not 2 : Prod. ortamlarda çalıştırmayın başta da belirttiğim gibi powershell bilmiyorum ara ara bakıp öğrenmeye çalışıyorum :)
$Server = Read-Host "Lütfen Server adresiniz giriniz..."
Connect-VIServer -Server $Server
$VM = Read-Host "Lütfen işlem yapmak istediğiniz VM adını giriniz..."
$Location = Read-Host "Lütfen yeni Snapshot alanını örnekteki gibi yazınız [datastore1] foldername/subfoldername"
IF ($VM -eq "ALLVMS")
{$ALLVMS = Get-VM | Get-View
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Files = New-Object VMware.Vim.VirtualMachineFileInfo
$vmConfigSpec.Files.SnapshotDirectory = "$Location"
$ALLVMS.ReconfigVM($vmConfigSpec)
}
ELSE
{ ($VMinf = Get-VM -Name $VM | Get-View)
}
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Files = New-Object VMware.Vim.VirtualMachineFileInfo
$vmConfigSpec.Files.SnapshotDirectory = "$Location"
$Vminf.ReconfigVM($vmConfigSpec)
16 Aralık 2012 Pazar
Bozuk veya Kayıp vmdk Dosyasının Tekrar Oluşturulması
Bozuk veya Kayıp
vmdk Dosyasının Tekrar Oluşturulması
Vmware
in kullandığı Vmdk için kısaca sanal bir makineye ait hard disk formatı
diyebiliriz.Vmdk dosyası normal şartlarda 2 adet dosyadan oluşur.(Datastore
browser dan baktığımızda sadece bir adet vmdk görebiliriz)
Bunlar
“vmismi.vmdk ve vmismi-flat.vmdk” dir
Normal
şartlarda datastore tarafından browse ettiğimizde sadece vmismi.vmdk dosyasını
görebiliyoruz.
Putty
ile bağlanarak kontrol ettiğimizde ise 2 dosyayı da ayrı ayrı görebiliriz.
Vmdk
dosyası bir şekilde silindiğinde veya zarar gördüğünde elinizdeki
vmismi-flat.vmdk dosyasını direkt olarak esx ekleme şansız bulunmamaktadır.Bu
diski flat dosyasını tanımlayacak bir vmdk dosyasına ihtiyaç bulunmaktadır.
Vmdk
dosyası bolzulduktan sonra datastore üzerinden browse ettiğinide vmdk
dosyasının simgesinin alışmış olduğunuz vmdk simgesi gibi olmadığını
görebilirsiniz
Görüldüğü
gibi TESTVM.vmdk dosyası yok ve artık flat dosyasını görebiliyoruz. Flat dosyası
bir descripter vmdk dosyasına sahip olmadığı için görülebilmektedir.
Sanal
makineyi power on yapmaya çalıştığımızda ise aşağıdaki hata ile karşılaşacağız.
“Cannot
open the disk 'TESTVM.vmdk' or one of the snapshot disks it depends on.
The
system cannot find the file specified
VMware
ESX cannot find the virtual disk "TESTVM.vmdk". Verify the path is
valid and try again.”
Bu
aşamada yapılması gereken işlem;
Yenibir
sanal disk oluşturmak (sanal disk oluştuğunda 2 adet dosya oluşacak
yenidisk.vmdk ve yenidisk-flat.vmdk)
Yeni
disk i oluşturduktan sonra yeni disk in vmdk dosyasını (flat olanı değil)
yenidisk.vmk dosyasını TESTVM-flat.vmdk dosyamızı tanımlayacak şekilde tekrar
düzenlemek.
Putty
ile server a bağandıktan sonra ilgili vm in olduğu directory e gidin
Ls
–l komutu ile gerçekten vmdk dosyasının olmadığını ve flat dosyasının yani datayı barındıran diskin
olduğunu doğrulayın
Bu
işlem için kullanılacak yeni diski oluştururken dikkat edilmesi gereken nokta
ilgili vm in config dosyası yani vmx dosyasının içerisine bakılarak. Description
dosyası bozuk olan diskin tam boyutu ve sanal makinede kullanılan SCSI
Controler adapter ın aynı olmasıdır
Öncelikle
flat dosyasının size ını kontrol edelim
Komut:
ls -l
Görüldüğü
gibi flat disk in size ı 10737418240
Şimdi
sanal makinenin kullandığı controller type ına bakalım
Komut:
vi sanalmakineismi.vmx veya
less *.vmx | grep virtualDev yazarak gelen satırlardaki yazıyı görebilirsiniz
scsi0.virtualDev
= "lsilogic"
ihtiyacımız
olan bilgileri aldıktan sonra aynı özelliklerde sanal disk oluşturacağız.
Oluşturacağımız disk in boyutu flat disk ile aynı olacak fakat thin disk
oluşturduğumuz içn boyutu çok daha küçük olacak.
Yeni
diski aşağıdaki komut ile oluşturabiliriz
Komut
:vmkfstools -c 10737418240 -a lsilogic
-d thin yenidisk.vmdk
-c
create etmek için
Sonraki
rakam sizin disk size ınız
-a
adepter type
Lsilogic
olan kısım sizin adepter type ınız
-d
disk in yapısını belirtmek için (thin disk oluşturacağız)
Yenidisk.vmdk vermek istediğiniz isim
Yeni
disk oluştuktan sonra yeni disk in vmdk dosyasını kaypveya bozuk olan vmdk
dosyamın adı ile değiştiriyorum
Benim
kayıp olan diskmi TESTVM.vmdk bu nedenle yeni disk in vmdk dosyasını bu isimle
değiştiriyorum
Artık
elimizde TESTVM.vmdk adında bir dosyamız var fakat bu dosyanın içerisinde
tanımı olan diski bizim TESVM-flat.vmdk
i işaret edecek şekilde değiştirmeliyiz.Bunun için Vi komutu ile
TESTVM.vmdk dosyasının içerisine giriyoruz ve
#
Extent description
RW
20971520 VMFS "TESTVM-flat.vmdk"
Kısmındaki
vmdk in ihtiyacımız olan flat disk i gösterecek şekilde değiştiriyoruz
Son
olarak;
Eğer
problem yaşayan disk thin provision olarak yapılandırılmadı ise aşağıdaki
satırı silebilriz
Değişiklikleri yapıp kaydettikten sonra vm i poweron yapabilriz.
Biraz
sakat bir konu olduğu için elimden geldiğince detaylı yazmak istedim. Gerçi bu
blog a benden başka giren varmı emin değilim J
Eğer
snapshot almışşsanız yapılması gerken işlemler biraz daha değişik olacaktır
bunu da ayrı bir yazıda belirteceğim
Etiketler:
Cannot open the disk,
kayıp vmdk tekrar oluşturmak,
or one of the snapshot disks it depends on,
Verify the path is valid and try again,
VMware ESX cannot find the virtual disk
31 Ekim 2012 Çarşamba
Vmware Snapshot Yeri Nasıl Değiştirilir
Yukarıdaki gibi bir hata ile karşılaştıysanız muhtemelen snapshot aldığınız sunucunun homefolder ı (vmx dosyasının tutulduğu yer) olması gerekenden küçük boyuttaydı veya aldığınız snapshot ı çok uzun süre silmeden kullanmaya devam ettiniz J
Bu gibi durumlarla karşılaştığınızda vm in durduğu datastore u extend etmeniz veya snapshot ı silmeniz gerekecektir.
Bunun gibi durumların sebebi genellikle sanal makine için disk oluşturulurken LUN size ının tamamına yakınının kullanılmasından kaynaklanmaktadır.
Snapshot aldığınızda alınan snapshot default olarak snapshot ını aldığınız makine nin vmx dosyasının yanında oluşacaktır.
Örn;
200 gb lık bir datastore içerisinde bir vm oluştururken 199 gb lık disk verildiğinde geriye 1gb tan daha az kullanılabilir bir alan kalacaktır.Oluşturduğunuz snapshot ta bu alanda yer alacak ve vm üzerinde değişiklikler yapıldıkça bu alan şişmeye başlayacak ve yukarıdaki hata ile karşılaşacaksınız.
Bu durumun önüne geçmek için snapshot alınan yeri farklı bir datastore olarak belirleyebilirsiniz.
Default snapshot alanını değiştirmek;
- Esx host a putty ile bağlanın
- İlgili sanal makinenin vmx dosyasını bulun
- Bulduğunuz vmx dosyasının yerini not edin ve sanal makine yi shutdown edin
- Makineyi shutdown ettikten sonra "remove from inventory" ile makineyi envanter den kaldırın
- Makineyi envanterden kaldırdıktan sonra vmx dosyasını edit lememiz gerekecek bunun için putty de "vi /vmx dosyasının yolu/sanalmakineadı.vmx" şeklinde yazarak vmx dosyasının içerisine girin(az önce not ettiğimiz editleyecek olduğumuz vmx dosyasının tam yolu)
- Vmx dosyasınına birşeyler ekleyebilmek için "insert" tuşuna basın ve en alt satıra aşağıdaki şekilde snapshot ların duracağı yeni yeri ekleyin
- workingDir = "/vmfs/volumes/4f916cd9-01dd579c-e567-e41f13bfac1c/snap"
- yukarıdaki örnekte"/vmfs/volumes/4f916cd9-01dd579c-e567-e41f13bfac1c/snap" kırmızı directory deki mavi snap dosyasının içerisine snapshot dosyalarını oluşturması için gereken eklemeyi yaptık.
- Değişiklikleri kaydetmek için "esc" tuşuna basıyoruz hemen sonrasında:wqYazarak değişiklikleri kaydediyoruz.
- Yanlış birşey yazıdığınızda yada satırları kaydırıp yanlışlıkla vmx dosyasını bozarsanız kaydetmeden çıkmak için :q! Yapmanız yeterlidir.
- İşlem bittikten sonra sanal makinenin vmx dosyasının bulunduğu datastore a sağ tıklayarak "Browse datastore" dedikten sonra içersinde bulunan vmx dosyasına sağ tıklıyor ve "Add to inventory" diyerek tekrar envantere ekliyoruz
- Envanter ekleme sihirbazını tamamladıktan sonra sanal makinemizi power on diyerek tekrar kullanmaya başlayabiliriz.
- Yeni alınacak snapshotlar artık belirtmiş olduğunuz datastore içerisinde belirtilen folder içerisine alınacaktır.
Not: vmdk dosyalarınızın büyüklüklerine bağlı olarak snapshot için ayırdığınız alan (datastore) büyük size a sahip disklerin yer gereksinimlerini karşılamayabilir.Snapshot için oluşturulan datastore snapshot ı alınacak olan vm in bulunduğu datastore dan block size olarak küçük ve disk size ı olarak da vmware in belirttiği alandan ufak ise snapshot alamayabilirsiniz.Ve aşağıdaki hatayı alabilirsiniz
- "Create virtual machine snapshot VIRTUALMACHINE File <unspecified filename> is larger than the maximum size supported by datastore '<unspecified datastore>'
- File is larger than the maximum size supported by datastore
Snapshot sizing için bkz; http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1012384
14 Ocak 2011 Cuma
Esx Server Root Kullanıcısına Ssh Erişim Hakkı Verilmesi
Merhaba,
Bu makalede Esx üzerindeki bazı management ve troubleshoot işlemleri için kullanmamız gereken service console a ssh erişiminin nasıl sağlanacağını anlatacağım.
Default olarak esx kurulduğunda ssh erişimi root kullanıcısına kapalı olarak gelir.Öncelikle Host un ekranında yapılacak ufak birkaç işlemle root a ssh erişim hakkı vererek remote bağlantıyı sağlayabiliriz.
Öncelikle yapmamız gereken host un ekranında Alt-F1 tuşlarına basmak,Username ve password bilgisini girdikten sonra aşağıdaki komut u girerek ssh servisinin config dosyasında değişikliği yapmak
nano /etc/ssh/sshd_config
Komutu girdikten sonra karşımıza config dosyasının içeriği gelecektir.
Komutu girdikten sonra karşımıza config dosyasının içeriği gelecektir.
PermitRootLogin bölümünün karşısını yes olarak değiştiriyoruz.Bu değişikliği yaptıktan sonra çıkmak için Ctrl-X e basıyoruz ve ardından kaydetmek için Y ye
basıyoruz.Kaydedeceğimiz yeri seçmek için enter a basıyoruz ve
gerekli değişikliği yapmış oluyoruz.
Değişikliğin Sağlanması için ssh servisini restart ediyoruz.Bunun için aşağıdaki komutu çalıştırıyoruz.
Service sshd restart
Komutu çalıştırdıktan sonra artık putty yada winscp ile ssh bağlantısı sağlayabilirsiniz.
Not:Bu işlem sadece root un ssh bağlantısını sağlamak için yapılır.Root yerine başka bir kullancı ile ssh bağlantısı yapabilirsiniz.Bunun için; vSphere client ile host a bağlantıktan sonra Users&Groups bölümünde mevcut yada oluşturacağınız kullanıcının özelliklerindeki Grant shell access to this user ı işaretlemeniz yeterlidir.
Etiketler:
esx putty,
esx ssh,
esxi putty,
esxi ssh,
vsphere putty root
Kaydol:
Kayıtlar (Atom)