Ana içeriğe geç

VM gücünü yönetme ve konsola bağlanma

vStack Center'da bir güç komutu, açma/kapama anahtarı değil kısa bir işlemdir (transaction). vStack Center izinleri, VM durumunu, VDC (sanal veri merkezi) kotalarını ve kümenin aşırı tahsisini (overcommit) denetler, bir düğüm seçer, VM'yi kilitler, istenen durumu kaydeder ve komutu düğüm ajanına gönderir. Kilit, ajan yanıt verdiğinde kaldırılır; o zamana kadar bu VM üzerindeki diğer işlemler reddedilir.

3.2.0 sürümünden itibaren başlatmadan önce bir adım daha yapılır: vStack Center, VM'nin zaten bir yerde çalışıp çalışmadığını düğümlere sorar. Önceden karar yalnızca Center veritabanındaki kayda dayanıyordu. Bu kayıt gerçeklikten farklıysa komut ikinci bir düğüme gönderiliyor ve iki hipervizör aynı diske yazıyordu. Sorgulama kuralları şunlardır:

  • VM başka bir düğümde çalışıyor: başlatma -461 koduyla reddedilir. Düğüm numarası iletiye kasıtlı olarak eklenmez: bir kiracı (tenant) küme topolojisini bir hata iletisinden öğrenmemelidir. Düğüm, servis günlüğüne kaydedilir.
  • VM, başlatma komutunun hedeflediği düğümde çalışıyor: olağan -457 "already running" hatası döndürülür.
  • Düğümler sessiz kalıyor, beklenmeyen bir yanıt döndürüyor veya hiç yanıt vermiyor: başlatma engellenmez. Kullanılamayan bir düğüm, bir arızadan sonra VM'lerin başlatılmasını engellememelidir; başlatmaya tam da bu senaryo için ihtiyaç duyulur.

Tüm düğümler ortak bir süre bütçesi içinde (varsayılan olarak 10 saniye) eşzamanlı olarak sorgulanır ve başlatma yanıtı bu süre kadar gecikir. Otomatik VM kurtarma da aynı kurala uyar.

Düğüm seçimi, başlatmanın en önemli kısmıdır. NVMe disk modunda (nvme = true) disklere ağ üzerinden erişilebilir, bu nedenle bir VM herhangi bir çevrimiçi düğümde başlatılabilir: açıkça bir düğüm seçilmezse vStack Center en az yüklü düğümü kendisi seçer. virtio-blk ile (nvme = false) disk yalnızca havuzu barındıran düğüm tarafından görülür ve başka herhangi bir yerde başlatma reddedilir.

Konsol farklı çalışır: vStack Center düğümü sorgulamaz. Küme kimlik bilgilerini okur, tek kullanımlık bir belirteçle (token) birlikte bir konsol adresi döndürür ve önce bu adres ile bağlantı noktasına yapılmış önceki bağlantıları sıfırlar. Yeni bir oturum öncekinin bağlantısını keser.

VM işlemlerine hem VM kartında hem de VM listesinde bulunan Actions düğmesiyle erişilir.

VM'yi başlatma​

Erişim: Cluster master kümedeki herhangi bir VM'yi başlatabilir; sıradan bir kullanıcı ise role_id ≤ 3 olan bir role sahip olduğu VDC'deki VM'leri başlatabilir.

  1. VM'nin durdurulmuş ya da yeni oluşturulmuş olduğundan emin olun: durumu VM listesindeki State sütununda ve VM kartında görünür.

  2. VM kartını açın (veya listede bulun), Actions düğmesine tıklayın ve başlatma komutunu seçin.

    Actions menüsü açık VM kartı: Start kırmızıyla çerçevelenmiş, ardından Stop, Restart, Console, Check Configuration, Resume at Node, Remove ve Additional actions geliyor

  3. Bir düğüm seçin veya otomatik seçimi etkin bırakın. Ayrıca zorla kapatma zaman aşımını (0–999 saniye) ayarlayabilir ve ACPI ile kapatmayı devre dışı bırakabilirsiniz; düğüm numarası 1 ile kümedeki düğüm sayısı arasında değişir.

  4. VM durumunun "running" olarak değişmesini bekleyin. Düğümü açıkça ya da otomatik olarak seçmiş olmanızdan bağımsız olarak, VM'nin başladığı düğüm kartında görünür.

Başlatma başarısız olursa​

HataNedenGeçici çözüm
-460 virtio-blk VM: start only on the pool nodeVM'de nvme = false ayarlı ve seçilen düğüm havuz düğümü değilHavuz düğümünde başlatın: otomatik seçimi etkin bırakın
-459 Windows: finish setup on the pool node before remote startnvme = true olan Windows; ilk konuk kurulumu tamamlanmamışKonuk kurulumunu havuz düğümünde tamamlayın, ardından uzaktan başlatın
-458 No available online nodes for VM placementOtomatik yerleştirme için kullanılabilir çevrimiçi düğüm yokDüğümlerin geri dönmesini bekleyin veya manuel olarak bir düğüm seçin
-455 VM has suspended statusVM askıya alınmışBaşlatmak yerine sürdürün
-457 Unable to start VM having admin_status==N alreadyVM zaten çalışıyor; başlatma komutunun hedeflediği düğümün bildirdiği durum da buna dahildirVM kartında VM durumunu kontrol edin
-461 VM is running on another cluster node; unable to startBir düğüm, VM'nin başlatma komutunun hedeflediğinden farklı bir düğümde çalıştığını bildirdi. 3.2.0 sürümünden itibarenVM'nin nerede çalıştığını bulun ve orada durdurun; düğüm servis günlüğünde belirtilir
-409 VM is lockedBaşka bir işlem sürüyorBitmesini bekleyin; Cluster master rolü takılı kalmış bir kilidi kaldırabilir
-413, -414, -415VDC depolama, RAM veya çekirdek kotası tükenmişKotayı artırın veya kaynakları serbest bırakın
-440 Cluster RAM has been depletedAşırı tahsis hesaba katıldığında kümede yeterli RAM yokKüme belleğini serbest bırakın
-452 Remote disk attach errorUzaktan başlatma sırasında NVMe-oF diskleri bağlanamadıHavuz düğümünde başlatın ve düğüm durumunu kontrol edin
-442, -443Var olmayan bir düğüm seçildiKümenin düğüm listesini kontrol edin

VM'yi durdurma ve yeniden başlatma​

Durdurma, başlatmanın aynısıdır ancak kota denetimleri yapılmaz: VM zaten hesaba katılmıştır. vStack Center VM'nin çalıştığı düğümü belirler, VM'yi kilitler ve durdurma komutunu gönderir. Bu komuta aynı şekilde, VM kartında veya listede Actions üzerinden erişilir.

Durdurma komutu, çalışan bir VM'yi kabul ettiği gibi askıya alınmış bir VM'yi de kabul eder.

Yeniden başlatma, iki farkla başlatma mantığını izler: kotalar VM'nin kaynakları eklenmeden denetlenir ve aşırı tahsis, VM'nin RAM'i boş RAM'den çıkarılmadan denetlenir. Geçerli düğüm kullanılır.

Her iki işlemin de bir zorla kapatma zaman aşımı ve ACPI'yi devre dışı bırakma seçeneği vardır. Konuk ACPI'ye yanıt vermezse zaman aşımından sonra zorla kapatma olağan yoldur; ACPI'yi devre dışı bırakmak, düzgün kapatma girişimini tamamen atlar.

Arızadan sonra VM'ye ne olur​

vStack Center her VM için geçerli durumunun yanı sıra bir niyet de saklar: VM'nin çalışıyor olması gerekip gerekmediği. Başlatma "çalışıyor olmalı" niyetini ayarlar; bir yönetici tarafından durdurma bu niyeti temizler. Arızadan sonra otomatik kurtarma yalnızca "çalışıyor olmalı" niyetine sahip VM'leri geri getirir.

3.2.0 sürümünden itibaren Center bir VM'nin neden kapandığını ayırt eder ve niyeti yalnızca tek bir durumda temizler: konuk düzgün şekilde kapandığında. Hipervizör çökmesinden, konuğun istediği bir yeniden başlatmadan, düğümün kapanmasından veya zaman aşımından sonra zorla kapatmadan sonra niyet korunur ve VM yeniden başlar. Önceden bu olaylardan herhangi biri VM'yi yönetici tarafından durdurulmuş olarak işaretliyordu ve VM arızadan sonra kapalı kalıyordu.

Kapanma nedenini düğüm ajanı bildirir. vStack OS 3.2.0'dan önce yayımlanmış bir ajan bu bilgiyi göndermez. Bu düğümlerde önceki davranış sürer: arızadan sonra VM, ajan güncellenene kadar durdurulmuş kabul edilir.

Kurtarma bir zamanlayıcıyla değil, bir olayla tetiklenir:

  • Havuzu çalışır durumdayken VM çöker: kurtarma hemen başlar.
  • Havuz henüz hazır değil: VM depolamanın ayağa kalkmasını bekler ve havuzun diğer VM'leriyle birlikte başlar.
  • İlk başlatma girişimi bir düğüm arızası nedeniyle başarısız olur: Center en fazla üç kez yeniden dener. Bu girişimler de başarısız olursa yeniden denemeler durur, ancak niyet korunur ve başka herhangi bir nedenle tetiklenen bir sonraki geçiş VM'yi başlatmayı dener.
  • Başlatma için kaynaklar yetersiz: VM "çalışıyor olmalı" niyetini korur, neden servis günlüğüne kaydedilir ve başlatma bir zamanlayıcıyla yeniden denenmez.

Kurtarma yinelenen bir başlatmaya yol açmaz: başlatılması zaten süren veya herhangi bir düğümde çalışan bir VM'yi atlar. Manuel başlatmadaki düğüm sorgulama kuralı burada da geçerlidir.

VM'yi askıya alma ve sürdürme​

Askıya alma, bellek durumunu kaydeder ve küme ayarlarında askıya almanın etkin olmasını gerektirir. Erişim: Cluster master tam erişime sahiptir; diğer kullanıcıların role_id ≤ 2 olması gerekir. Komuta Actions üzerinden erişilir; VM "suspended" durumuna geçer.

Sürdürürken hedef düğümü açıkça belirtin. Yerleştirme kısıtlamaları başlatmadakiyle aynıdır: nvme = false ile VM yalnızca havuz düğümünde sürdürülebilir (-15152) ve nvme = true olan Windows, ilk kurulum tamamlanana kadar uzaktan sürdürülemez (-15151). Küme ayarlarında askıya alma devre dışıysa askıya alma -15005, sürdürme ise -15105 döndürür.

Toplu havuz işlemleri​

Düğüm bakımı için havuz düzeyinde eşleştirilmiş işlemler vardır: havuzdaki tüm VM'leri askıya alma ve sürdürme. Bunları yalnızca Cluster master rolü, yine bir Actions düğmesi bulunan havuz kartından kullanabilir. Hata durumunda VM'lerin geri yüklenip yüklenmeyeceğini de belirtebilirsiniz.

Komut doğrudan havuza hizmet veren düğüme gönderilir. Hatalar: -403, işlemin Cluster master dışında bir rol tarafından istendiği anlamına gelir (askıya alma ve sürdürme için aynı kod), -15203 ve -15303 geçersiz bir havuz adı, -15205 ve -15305 ise askıya almanın devre dışı olduğu anlamına gelir.

Konsolu açma​

Konsol, VM kartındaki Actions üzerinden, düğümle iletişim kurulmadan hemen açılır. Erişim: Cluster master herhangi bir VM'ye erişebilir; sıradan bir kullanıcı kendi VDC'lerindeki VM'lere erişebilir.

İki konsol türü vardır: varsayılan olan grafik (VNC) ve metin. Her türün kendi bağlantı noktası vardır. VM, havuz düğümünden farklı bir düğümde çalışıyorsa konsol adresi, VM'nin çalıştığı düğümün genel adresini gösterir.

Şunları göz önünde bulundurun:

  • Bağlantı fiilen tek kullanımlıktır: konsol her açıldığında aynı adres ve bağlantı noktasına yapılmış önceki bağlantıları sıfırlar. Bir VM'ye yapılan iki eşzamanlı konsol oturumu bağlı kalamaz.
  • -3103 hatası, VM'nin görünürlük kapsamınızda bulunamadığı anlamına gelir.
  • vStack Center VM'nin çalışıp çalışmadığını denetlemez: adres küme kimlik bilgilerinden döndürülür. Bağlantı kurulamıyorsa VM ve düğüm durumlarını kontrol edin.

Kilidi kaldırma​

Kilit bayrağı, ajan yanıt verdiğinde otomatik olarak temizlenir. Ajan yanıt vermez ve bayrak ayarlı kalırsa onu yalnızca Cluster master rolü temizleyebilir.

-25903 hatası, "VM unlock method available for Cluster master only", kilit açmayı başka bir rolün istediği anlamına gelir. Kilidi yalnızca önceki işlemin gerçekten bittiğini doğruladıktan sonra kaldırın; aksi takdirde gecikmiş bir ajan yanıtı yeni komutla çakışır.

Ayrıca bkz.​

API yöntemleri​

Bu sayfanın API işlemleri vms-start, vms-stop, vms-restart, vms-suspend, vms-resume, vms-suspend-pool, vms-resume-pool, vm-console ve vm-unlock'tur; bkz. API başvurusu.