Konfigurasikan kekuatan Hyper-V VM

13

Bagaimana saya bisa mengkonfigurasi ulang Hyper-V VM

Saya ingin dapat mengubah file konfigurasi VM, titik pemeriksaan, dan lokasi hard drive virtual dengan Powershell.

Google-FU saya hanya menunjukkan saya untuk pindah, saya memiliki sekitar ~ 100 VM untuk Berubah, saya dapat memindahkan file, saya tidak keberatan sedikit downtime, Ketika berjalan melalui wizard untuk setiap VM dibutuhkan sekitar 5 hingga 15 menit per VM dan mereka yang lebih kecil, saya harus bisa melakukan semua 100 dalam 2 jam.

Jika saya perlu mengklarifikasi, beri tahu saya.

== Di mana saya terjebak ==

Ya saya telah melihat tautan itu dan melihat sebagian besar perintah namun tidak ada yang melakukan apa yang saya cari.

File-file secara keseluruhan sekitar 14 TB

~ 100 VM dikelompokkan di antara 7 Host. Penyimpanan bersama adalah EMC spinning disk dan saya ingin memindahkannya ke 3Par ssd.

Sekarang, apa yang berhasil saya lakukan adalah mematikan VM, memindahkan file, menghapus semua VM, dan membuatnya kembali VIA PowerShell, yang ketika saya memberi tahu CTO saya bahwa mungkin satu-satunya cara dia tentang anak kucing sial.

Apa yang saya ingin dapat bukan PINDAHKAN VM hanya MEREKONFIGURASI mereka,

Dalam karya lain dapat berubah:

masukkan deskripsi gambar di sini

UNTUK:

masukkan deskripsi gambar di sini

Saya ingin dapat melakukan ini dengan menggunakan powershell, Juga saya harus dapat melakukan hal yang sama untuk pos-pos pemeriksaan, dan file konfigurasi, dan semua komponen VM Hyper-V lainnya.

Saya dapat mentolerir sekitar 2 jam downtime, untuk melakukan MOVE melalui wizard karena semua VM tidak hanya akan aus pada mouse saya tetapi membutuhkan waktu sekitar 6 jam.

Saya juga telah meneliti ini dan menguji strategi yang berbeda selama beberapa minggu sekarang.

==== Satu Lagi Tembakan ====

Saya tidak ingin "Pindahkan" yang ingin saya lakukan hanyalah mengubah pengaturan dari dalam hyper-V pemindahan akan membutuhkan waktu lama, jauh lebih cepat bagi saya untuk menyalin file melalui jaringan dan hanya memperbarui jalur. di Hyper-V, saya bisa mematikan mesin.

Saya pikir itu tidak bisa dilakukan?

Anthony Fornito
sumber
Penelitian seperti apa yang telah Anda lakukan sejauh ini? Dokumentasi dalam modul hyper-v tampaknya cukup bagus bagi saya. Di mana Anda terjebak?
Zoredache
@Zoredache silakan lihat pembaruan.
Anthony Fornito
1
Jika mereka berkerumun Anda hanya perlu memindahkan penyimpanan, menggunakan opsi pindah penyimpanan. Itu ada di GUI dan harus menghasilkan tidak ada downtime. blogs.msdn.microsoft.com/clustering/2012/04/26/...
Drifter104
Im thinking it cannot be done?Saya pikir itu bisa dilakukan, tetapi itu akan menjadi skrip yang panjang dan rumit. Cukup banyak segala sesuatu tentang VM dapat sepenuhnya dimanipulasi melalui PowerShell. Saya menduga Anda membuat hidup Anda jauh lebih sulit dengan tidak membiarkan alat mengelola perpindahan file untuk Anda.
Zoredache
@Zoredache di dunia yang sempurna di mana saya punya 6 jam ya tidak apa-apa untuk menggunakan alat, namun saya punya 2
Anthony Fornito

Jawaban:

8

Tidak benar-benar yakin ini melakukan apa yang Anda butuhkan tetapi ada contoh fragmen PowerShell yang saya gunakan di masa lalu untuk memigrasi VM termasuk semua penyimpanan ke tujuan baru

Get-VM -Name ('ansible-test-acs',
              'ansible-test-web',
              'ansible-test-db') |
ForEach-Object {
    # move everything to d:\hyper-v\vm_name on hv-srv-01
    $MoveOptions = @{
        'Name'                   = $_.Name
        'DestinationHost'        = 'hv-srv-01'
        'IncludeStorage'         = $true
        'DestinationStoragePath' = 'D:\Hyper-V\{0}' -f $_.Name
    }
    $MoveOptions
    Move-VM @MoveOptions -WhatIf
    # Move-VM @MoveOptions
}

Pindahkan penyimpanan VM ke jalur baru

('ansible-test-web', 'ansible-test-db') |
ForEach-Object {
    Move-VMStorage $_ `
            –DestinationStoragePath "E:\Hyper-V\$_"
}

Jika Anda telah menyalin VM dan semua file-nya ke lokasi baru dan Anda ingin Hyper-V untuk mulai menggunakan lokasi baru, maka Anda harus dapat melakukan sesuatu seperti.

Remove-VM oldvmname
Import-VM -Register -Path 'path to VM config file'
Sakit kepala
sumber
Terima kasih untuk kodenya tetapi masih menggerakkan pembaruan lihat VM
Anthony Fornito
Anda melihat opsi untuk memindahkan penyimpanan saja?
Zoredache
Ya, tapi saya tidak ingin 'PINDAHKAN' penyimpanan, saya telah menyalin file vhdx ke lokasi baru, juga saya dapat menggunakan perintah Set-VMHardDiskDrive yang berfungsi untuk mengubah direktori penyimpanan saat VM mati, yang juga baik-baik saja, tetapi saya tidak bisa menemukan cara untuk 'MENGUBAH' pointer untuk file konfigurasi VM.
Anthony Fornito
Jika Anda benar-benar telah menyalin semua file dan Anda yakin, Kemudian hapus hapus, dan impor kembali VM. Jawaban diperbarui dengan sebuah contoh.
Zoredache