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.
- 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.
- İşlem hemen kabul edilir ve çalışma arka planda sürer.
- 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.
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.
| Hata | Neden | Geçici çözüm |
|---|---|---|
-403 missing privilege | Rolde 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 type | Belirtilen tür "compute" / "storage" kümesinin dışında | İki yordamdan birini seçin |
-1602 unsuitable parameter set | Bir düğüme taşıma için hedef havuz verildi veya tersi | Düğüm değiştirmek için hedef düğüm, havuz değiştirmek için hedef havuz belirtin |
-1603 VM not found | Var olmayan bir VM tanımlayıcısı belirtildi | Tanımlayıcıyı VM listesinde kontrol edin |
-1604 VM outside access scope | VM, rolün erişemediği bir VDC'ye ait | Kendi VDC'nizde çalışın |
-1605 VM state does not allow migration | Düğü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 found | Kümede bu numaraya sahip düğüm yok | Kümenin düğüm listesinden bir düğüm seçin |
-1607 target node is the current node | VM zaten bu düğümde çalışıyor | Başka bir düğüm seçin |
-1608 live migration unavailable | Aktarım bağlantı noktası havuzu tükendi | Mevcut taşımaların bitmesini bekleyin |
-1611 migration already in progress | VM kilitli veya bitmemiş bir taşıması var | Tamamlanmasını bekleyin ve yeniden deneyin |
-1612 migration not found | Bilinmeyen bir tanımlayıcı için durum istendi | Taşı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.
| Hata | Neden | Geçici çözüm |
|---|---|---|
-25300 operation available only to the Cluster master role | Taşımayı başka bir rol istedi | İşlemi küme düzeyinde bir rolle gerçekleştirin |
-25306 VM not in Offline/Created state | VM çalışıyor veya askıya alınmış | VM'yi durdurun |
-25305 migration to the same pool is impossible | Hedef havuz geçerli havuz | Başka bir havuz belirtin |
-25307 unable to determine the node for the migration pool | Havuz içe aktarılmamış | Hedef havuzun durumunu kontrol edin |
-25304 unable to determine the node for the VM | VM'nin yerleşimi bilinmiyor | VM'nin düğüm ve havuz durumlarını kontrol edin |
-25308 no available send-receive ports | Tüm aktarım bağlantı noktaları dolu | Mevcut aktarımların bitmesini bekleyin |
-25310 migration failed | Aktarımdan sonra yeniden kayıt başarısız oldu | Her 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.
-
Kaynak VM'yi durdurun. Çalışan bir VM'yi klonlama
-2603hatasıyla reddedilir. -
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.
-
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ıtlama | Neden | Eylem |
|---|---|---|
| Klon her zaman kaynak havuzda bulunur | zfs clone bu şekilde çalışır | Başka bir havuzda kopyaya ihtiyacınız varsa önce klonlayın, ardından taşıyın |
| Yapılandırma değiştirilemez | Klon, kaynağın tüm vCPU, RAM, disk ve ağ yapılandırmasını devralır | Parametreleri oluşturduktan sonra klonun kartında düzenleyin |
| Bir çağrı bir klon oluşturur | Toplu mod yok | İşlemi gerektiği kadar tekrarlayın |
| Klon var olduğu sürece kaynak silinemez | Klon 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 klonlanamaz | Klon, destekleyici kurulum olmadan servis bağını devralır: -2605 hatası | Servis VM'sini standart yordamla oluşturun |
| Bir klon klonlanamaz | Bir 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 klonu | Her iki işlem de aynı anlık görüntü noktası adını kullanır | Genellikle 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.
-
İ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.
-
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
-25208hatası 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. -
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.
| Hata | Neden | Geçici çözüm |
|---|---|---|
-25206 Import area item is not finished | Akış alımı tamamlanmamış | Alımın bitmesini bekleyin |
-25208 Specified VM id exists already | Kü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ı eksik | Akışı yeniden alın |
-25209 Can't retrieve pool map | Kaydın havuzu kullanılamıyor | Havuzun durumunu kontrol edin |
-25210, -25211 console port allocation failed | Konsol bağlantı noktaları ayrılamadı | Daha sonra yeniden deneyin |
-25220–-25223 MAC or port address conflict | Kayıttaki adres veya MAC adresi zaten kullanımda | Adresi serbest bırakın veya çakışan bağlantı noktasını silin |
-25224 Can't parse dataset name | Dataset adı ayrıştırılamıyor | Kaydı içe aktarma alanı listesinden yeniden seçin |
Ayrıca bkz.
- VM anlık görüntüleri alma ve bunlara geri dönme — klon var olduğu sürece neyin geri alınamayacağı
- Sanal makine oluşturma, silme ve taşıma — sıfırdan VM oluşturma ve kaynağı silme
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.