Ana içeriğe geç

VM'yi taşıma ve klonlama

Bu sayfadaki işlemler farklı amaçlara hizmet eder. Canlı taşıma (live migration), çalışan bir VM'nin işlem durumunu (bellek ve CPU durumu) verilerine dokunmadan başka bir düğüme taşır. Depolama taşıma, VM veri kümelerini (dataset) bir ZFS send/receive akışıyla bir havuzdan diğerine taşır. Klonlama, disklerin aynı havuzda saniyeler içinde ve neredeyse hiç kapasite kullanmadan copy-on-write kopyasını oluşturur. İçe aktarma alanından geri yükleme, bir VM'yi kümenin daha önce aldığı bir akıştan yeniden oluşturur.

Bu, her işlemin nerede uygulanacağını belirler. Verileri havuzlar arasında taşımak disk boyutuyla orantılı süre alır ve VM'nin kapalı olmasını gerektirir. Buna karşılık işlem durumunun canlı taşınması yalnızca çalışan bir VM'de çalışır: konuk işletim sistemi çalışmayı sürdürür ve kesinti, bir parametreyle belirlenen geçiş penceresiyle sınırlıdır. Klon anında oluşturulur, ancak aynı havuzda bulunur ve bir kaynak anlık görüntüye bağlıdır: klon var olduğu sürece kaynak silinemez ve ZFS, kaynağın klonlama noktasından daha eski bir anlık görüntüye geri alınmasını engeller.

Klon, kaynağın tüm yapılandırmasını devralır: vCPU, RAM, diskler, ağlar ve konuk ayarları. Bunlar oluşturma sırasında değiştirilemez; yalnızca ad ve açıklama belirtilir. MAC adresleri yeniden üretilir ve IP adresleri normal oluşturmadaki gibi ayrılır, ancak yalnızca kaynak bağlantı noktasının adresi olan adres aileleri için.

Çalışan bir VM'yi başka bir düğüme taşıma​

Canlı taşıma 3.1.0 sürümünde sunuldu. Çalışan bir VM'nin işlem durumunu seçilen düğüme taşır; diskler havuzlarında kalır ve yeni düğüm onlara ağ üzerinden erişir. Konuk işletim sistemi çalışmayı sürdürür ve yalnızca geçiş sırasında kullanılamaz.

İşlem, Live Migrate VM yetkisi (1607) aracılığıyla Cluster master rolü tarafından kullanılabilir. Yetkiyi özel bir role elle atayın. İlerlemeyi okumak için ayrı bir yetki gerekir: View VM Migration Status (1113).

Ön koşullar:

  • VM çalışıyor ve ilk kurulumu tamamlanmış.
  • Hedef düğüm mevcut ve geçerli düğümden farklı.
  • VM kilitli değil ve onun için başka bir taşıma sürmüyor.
  • Kümede bellek akışı için kullanılabilir bir aktarım bağlantı noktası var.
  1. VM kartını açın ve "başka bir düğüme" türünü ve hedef düğümü seçerek taşımayı başlatın. Genel işlem zaman aşımı (300 saniye) ve geçiş penceresi (100 milisaniye) varsayılan değerlerini kullanır ve arayüzde yapılandırılamaz.
  2. İşlem hemen kabul edilir ve çalışma arka planda sürer.
  3. Taşıma ilerlemesini izleyin: durum, aşama, tamamlanma yüzdesi, kaynak ve hedef düğümler ile başarısız olursa hata nedeni bildirilir.

Taşıma bitene kadar onu etkileyebilecek işlemler (durdurma, yapılandırmayı değiştirme ve kilit açma) açık bir hatayla reddedilir. VM verilerini okumak kullanılabilir olmaya devam eder. Taşıma sırasında VM durumunu taşımanın kendisi denetler: tamamlandığında VM çalışıyor olarak listelenir veya bir taşıma hatası alır.

İlerleme, sayfa yenilendiğinde korunmaz

Taşıma ilerlemesi, başlatılan işlemin tanımlayıcısına bağlıdır ve API'de "bir VM için etkin taşımayı bul" yöntemi yoktur. Sayfayı yenilerseniz tamamlanma yüzdesi artık görüntülenmez, ancak taşıma sürer. VM'nin taşınmakta olduğunu VM listesindeki durumundan anlayabilirsiniz.

HataNedenGeçici çözüm
-403 missing privilegeRolde Live Migrate VM veya View VM Migration Status yokİşlemi Cluster master rolüyle gerçekleştirin veya yetkiyi özel bir role atayın
-1601 invalid migration typeBelirtilen tür "compute" / "storage" kümesinin dışındaİki yordamdan birini seçin
-1602 unsuitable parameter setBir düğüme taşıma için hedef havuz verildi veya tersiDüğüm değiştirmek için hedef düğüm, havuz değiştirmek için hedef havuz belirtin
-1603 VM not foundVar olmayan bir VM tanımlayıcısı belirtildiTanımlayıcıyı VM listesinde kontrol edin
-1604 VM outside access scopeVM, rolün erişemediği bir VDC'ye aitKendi VDC'nizde çalışın
-1605 VM state does not allow migrationDüğüm değişikliği için VM çalışmıyor veya ilk kurulumu tamamlanmamışVM'yi başlatın ve kurulumun bitmesini bekleyin
-1606 target node not foundKümede bu numaraya sahip düğüm yokKümenin düğüm listesinden bir düğüm seçin
-1607 target node is the current nodeVM zaten bu düğümde çalışıyorBaşka bir düğüm seçin
-1608 live migration unavailableAktarım bağlantı noktası havuzu tükendiMevcut taşımaların bitmesini bekleyin
-1611 migration already in progressVM kilitli veya bitmemiş bir taşıması varTamamlanmasını bekleyin ve yeniden deneyin
-1612 migration not foundBilinmeyen bir tanımlayıcı için durum istendiTaşıma başlatıldığında döndürülen tanımlayıcıyı kullanın

Havuzlar arasında veri taşımak için aynı yöntem ikinci bir yordamı kabul eder: hedef düğüm yerine hedef havuz ve durdurulmuş bir VM ile. vm-migration üzerinden eski yol aşağıda açıklanmıştır; çalışmaya devam etmektedir.

VM'yi başka bir havuza taşıma​

Taşıma yalnızca Cluster master rolü tarafından kullanılabilir ve küme ayarlarında taşımanın etkin olmasını gerektirir.

Ön koşullar:

  • VM kapalı veya oluşturulmuş ancak hiç başlatılmamış.
  • Hedef havuz geçerli havuzdan farklı.
  • Hedef havuz bir küme düğümünde içe aktarılmış (imported).
  • send/receive akışı için kullanılabilir bir bağlantı noktası var.

Taşımayı başlatın ve hedef havuzu belirtin. İşlem tam bir döngüyü tamamlar: akış aktarımı, disklerin, anlık görüntülerin ve VM'nin kendisinin yeni havuzda yeniden kaydedilmesi ve kaynak veri kümelerinin silinmesi. Döngü bitene kadar VM kilitli kalır; sonuç VM kartında ve olay geçmişinde gösterilir.

HataNedenGeçici çözüm
-25300 operation available only to the Cluster master roleTaşımayı başka bir rol istediİşlemi küme düzeyinde bir rolle gerçekleştirin
-25306 VM not in Offline/Created stateVM çalışıyor veya askıya alınmışVM'yi durdurun
-25305 migration to the same pool is impossibleHedef havuz geçerli havuzBaşka bir havuz belirtin
-25307 unable to determine the node for the migration poolHavuz içe aktarılmamışHedef havuzun durumunu kontrol edin
-25304 unable to determine the node for the VMVM'nin yerleşimi bilinmiyorVM'nin düğüm ve havuz durumlarını kontrol edin
-25308 no available send-receive portsTüm aktarım bağlantı noktaları doluMevcut aktarımların bitmesini bekleyin
-25310 migration failedAktarımdan sonra yeniden kayıt başarısız olduHer iki havuzda VM durumunu kontrol edin ve yeniden deneyin

Klonları ayrıca hesaba katın: taşınan VM'nin mevcut CoW klonları varsa taşıma, kaynak veri kümelerini silerken bir bağımlılıkla karşılaşır. Bu bilinen bir kısıtlamadır. Taşımadan önce klonları silin.

VM'yi klonlama​

Klon, aynı VDC'de (sanal veri merkezi) ve aynı havuzda, aynı yapılandırmaya sahip yeni bir VM'dir. Kaynak VDC kapsamında VM oluşturma yetkisine ihtiyacınız vardır.

  1. Kaynak VM'yi durdurun. Çalışan bir VM'yi klonlama -2603 hatasıyla reddedilir.

  2. Kaynağın klonlanmasını başlatın ve klonun adını ve isteğe bağlı olarak bir açıklama girin. Diğer parametreler devralınır ve bu aşamada düzenlenemez.

  3. Klonun VM listesinde görünmesini bekleyin. Yeni bir VM ile aynı sırayla oluşturulur: önce kayıt, ardından düğümde birleştirme.

Klonlama kısıtlamaları​

KısıtlamaNedenEylem
Klon her zaman kaynak havuzda bulunurzfs clone bu şekilde çalışırBaşka bir havuzda kopyaya ihtiyacınız varsa önce klonlayın, ardından taşıyın
Yapılandırma değiştirilemezKlon, kaynağın tüm vCPU, RAM, disk ve ağ yapılandırmasını devralırParametreleri oluşturduktan sonra klonun kartında düzenleyin
Bir çağrı bir klon oluştururToplu mod yokİşlemi gerektiği kadar tekrarlayın
Klon var olduğu sürece kaynak silinemezKlon bir kaynak anlık görüntüye bağlıdırÖnce klonları, ardından kaynağı silin; aksi takdirde silme, klon listesiyle birlikte -2604 döndürür
Servis VM'leri klonlanamazKlon, destekleyici kurulum olmadan servis bağını devralır: -2605 hatasıServis VM'sini standart yordamla oluşturun
Bir klon klonlanamazBir klonun klonu, bağımlı ZFS klonlarından oluşan bir zincir yaratır. -2606 hatası, kaynağın kilit ve durum denetimlerinden önce döndürülürÖzgün VM'yi yeniden klonlayın. VM, kaynak silindikten sonra da dahil olmak üzere klon işaretini kalıcı olarak korur
Aynı saniyede tek bir kaynağın iki klonuHer iki işlem de aynı anlık görüntü noktası adını kullanırGenellikle ikinci işlem ilk işlemin anlık görüntüsünü yeniden kullanır; bir yarış durumu oluşursa işlemi yeniden deneyin

Diğer hatalar: -2601 kaynağın bulunamadığı, -2602 kaynağın kilitli olduğu, -2610 klon oluşturmanın başarısız olduğu, -255 kaynak havuzun veri kabul etmediği, -256 kaynağın OS profilinin bulunamadığı ve -403 yetkilerin yetersiz olduğu veya VM'nin rolün kapsamı dışında olduğu anlamına gelir.

VM'yi içe aktarma alanından geri yükleme​

İçe aktarma alanı, kümenin dışarıdan VM akışlarını aldığı yerdir. Buradan geri yükleme ayrı bir operatör adımıdır: VM otomatik olarak yeniden oluşturulmaz.

İçe aktarma alanı Import area sekmesinde açılır: Dataset Id, VM name ve Progress sütunlarını içeren bir tablo. Cluster master tüm kayıtları görür; sıradan bir kullanıcı, yönetici rolüne sahip olduğu VDC'lere ait kayıtları görür.

  1. İlgili kaydı bulun ve alımın tamamlandığından emin olun: Progress sütunu aktarım ilerlemesini gösterir ve yalnızca tamamen alınmış kayıtlar geri yüklenebilir.

  2. VM'yi geri yüklemek için hangi tanımlayıcıların kullanılacağına karar verin. Varsayılan olarak geri yükleme özgün tanımlayıcıları kullanır. Bu durumda kümede aynı tanımlayıcıya sahip bir VM bulunamaz; aksi takdirde -25208 hatası döndürülür. İkinci modda vStack Center yeni tanımlayıcılar atar ve bu denetimi yapmaz. Özgün havuzun ve VDC'nin hâlâ var olup olmadığını da kontrol edin.

  3. Seçilen kayıt için geri yüklemeyi başlatın ve VM'nin VM listesinde görünmesini bekleyin.

Varsayılan olarak geri yükleme, VM'yi özgün tanımlayıcılarıyla yeniden oluşturur: VM, disk ve ağ bağlantı noktası kayıtları, konsol bağlantı noktaları ve varsa akışla birlikte kaydedilen anlık görüntü.

İkinci mod yeni tanımlayıcılar atar. vStack Center VM'yi yeni olarak oluşturur: kendi tanımlayıcısı, yeni bir veri kümesindeki diskler, yeni konsol bağlantı noktaları ve aynı ağlarda yeni ağ bağlantı noktaları. Bağlantı noktaları, IP guard etkin olarak yeni adresler ve MAC adresleri alır. Akışla birlikte alınan bir anlık görüntü her iki modda da kaydedilir.

HataNedenGeçici çözüm
-25206 Import area item is not finishedAkış alımı tamamlanmamışAlımın bitmesini bekleyin
-25208 Specified VM id exists alreadyKümede özgün tanımlayıcıya sahip bir VM zaten varÇakışan VM'yi silin veya yeni tanımlayıcılarla geri yükleyin. Yeniden adlandırmak tanımlayıcıyı serbest bırakmaz
-25205 VM item is not defined, -25207 Import area item has no VM idİçe aktarma alanı kaydı eksikAkışı yeniden alın
-25209 Can't retrieve pool mapKaydın havuzu kullanılamıyorHavuzun durumunu kontrol edin
-25210, -25211 console port allocation failedKonsol bağlantı noktaları ayrılamadıDaha sonra yeniden deneyin
-25220–-25223 MAC or port address conflictKayıttaki adres veya MAC adresi zaten kullanımdaAdresi serbest bırakın veya çakışan bağlantı noktasını silin
-25224 Can't parse dataset nameDataset adı ayrıştırılamıyorKaydı içe aktarma alanı listesinden yeniden seçin

Ayrıca bkz.​

API yöntemleri​

Bu sayfanın API işlemleri vm-migrate, vm-migrate-status, vm-migration, vms-clone, vm-import-area-list ve vm-import-area-process'tir; bkz. API başvurusu.