Ekspor dan impor mesin virtual Hyper-V. Impor dan Ekspor mesin virtual di VirtualBox

11.02.2012 - 18:26

Mari kita lihat skrip untuk mengekspor VM di server Hyper-V.
Tujuannya adalah untuk mengotomatiskan proses dengan logika maksimal tanpa mengurangi produktivitas. Hasilnya, saya menulis naskah yang saya kirimkan lebih awal. Situasi berubah setiap hari, sistem sudah berjalan dalam produksi, sehingga risiko kerusakan sesuatu perlu diminimalkan. Hasilnya, saya memodifikasi skrip, yang konsepnya tidak berubah:

  1. Menemukan VM
  2. Matikan VMnya
  3. Mengekspor VM
  4. Nyalakan komputer virtual

Hanya “ruffles” dan “monogram” yang ditambahkan.
Syarat utamanya adalah menyimpan 2 salinan VM, yang sekarang dan yang sebelumnya. Ketika salinan baru terbentuk, salinan sebelumnya dihapus, dan salinan saat ini diganti namanya menjadi salinan sebelumnya. Semuanya diimplementasikan menggunakan contoh katalog Hari Ini dan Kemarin.

Fitur utama skrip:

  1. Memeriksa keberadaan VM yang diperlukan di antara daftar VM. Semua tindakan dicatat dalam file log.
  2. Jika VM ditemukan - Menghapus direktori dengan entri sebelumnya, mengganti nama direktori saat ini ke direktori sebelumnya, membuat direktori untuk entri saat ini.
  3. Memeriksa status VM. Jika VM sedang berjalan - Menghentikan VM. Mengekspor VM ke direktori yang ditentukan. Diluncurkan.
  4. Jika VM dihentikan, ekspor VM ke direktori yang ditentukan.
  5. Jika VM berada dalam status berbeda, VM akan menulis ke log.
  6. Jika VM tidak ditemukan, VM akan menulis ke log.
  7. Setelah ekspor - menghapus semua informasi tentang VHD, menguji VHD. Menulis ke log.
  8. Mengirim email ke penerima tentang operasi yang telah selesai, menetapkan pentingnya surat jika terjadi kegagalan.

Ada beberapa fitur:

  1. Saat mengirim surat, log yang rencananya akan dikirim sebagai lampiran tidak boleh berada di jalur UNC. Dengan kata lain, jika Anda ingin mengirim log sebagai lampiran, Anda harus meletakkannya disk lokal atau direktori jaringan terhubung dengan disk terpisah.
  2. Script mengumpulkan informasi tentang disk VHD dengan fungsi tambahan. Agar fungsi audit berhasil, disk tidak boleh ditempatkan di jalur UNC, lagi-lagi Anda harus menghubungkan drive jaringan.
  3. Untuk mengontrol pelaksanaan ekspor mesin sesuai jadwal, dicoba untuk memperkenalkan parameter "Nama VM".

Untuk pekerjaan yang sukses skrip, Anda perlu menginstal modul ini. Saya pikir tidak akan ada kesulitan.
Naskah:

param ($VM) # Parameter masuk dari Mesin Virtual (VM)

if (! (Dapatkan-Modul -Nama hyperv) )
{
# Aktifkan modul
impor-modul hyperv
}
jika ($VM -eq $null )
{
Tulis-Host "Masukkan nama mesin virtual."
}

# ==== Parameter awal
$ComputerName = Dapatkan-Konten env:COMPUTERNAME
# Hubungkan drive R: untuk mendapatkan informasi tentang VHD
Invoke-Expression -Perintah "net use R: \\Server /y"
# Setel ulang penghitung
$hitung = $salah # Pemicu VM yang ditemukan
$export_count = $salah # Penghitung ekspor VM yang berhasil
# Tentukan nama\alamat file log
$log = "\\Server\backup\Log \$VM\" + (Dapatkan-Tanggal -Format " yyy-MM") +" .log "
# Tentukan path ke folder dengan RK
$BackupDir = "
\\Server\cadangan\" +$VM
# Jalur ke folder dengan RK untuk menghapus informasi dari VHD
$InfoDir = "R:\cadangan \" +$VM
# Data untuk email
$Pengirim = "
[email protected]"
$SMTP = " smtp.contoso.com"
$Penerima = @(" [email protected] ") # grup distribusi dengan penerima yang memantau cadangan
$LampirkanJalur = "
R:\backup\Logs\$VM \" + (Dapatkan-Tanggal -Format "yyy-MM" ) +".log"

# Fungsi untuk mengirim pesan, pada saat penulisan saya tidak mengetahui tentang fungsi Send-MailMessage dan menulis fungsinya sendiri. Saya tidak ingin mengulanginya, "Berhasil - jangan sentuh!"
fungsi KirimEmail($Subjek ,$Badan ,$Prioritas )
{
$Message = Sistem Objek Baru.Net.Mail.MailMessage
$Server = Sistem Objek Baru.Net.Mail.SMTPClient
$Attache = Sistem Objek Baru.Net.Mail.Attachment($AttachePath )
# ==== Pesan
$Penerima |
ForEach-Object ( $Message .To.Add($_ ) )
$Pesan .Dari = $Pengirim
$Pesan .Subjek = $Subjek
$Pesan .Badan = $Badan
$Pesan .Lampiran.Tambahkan($Lampirkan )
$Pesan .Prioritas = [ System.Net.Mail.MailPriority] ::$Prioritas
# ==== Mengirim
$Server.Host = $SMTP
}

# =========================================
$Server.Kirim($Pesan)
# Mulai masuk (Dapatkan-Tanggal) + "`r` n Memulai skrip ekspor VM " +$VM + " server: " + $Nama Komputer + "

`r` n Mendapatkan daftar Mesin Virtual... `r` n"
# Dapatkan daftar VM
$VMArray = Dapatkan-VM |
{
Pilih-Objek -Properti VMElementName
foreach($elemen dalam $VMArray )
{
# Cari VM tertentu if ($VM -eq $elemen .VMElementName) $log_string = $log_string +"Mesin virtual ditemukan. Saya sedang menjalankan
tindakan yang ditentukan
...`r`n"

$hitung = $benar
# ========== Pengoperasian folder ===============
# Hapus folder Kemarin
{
Hapus-Item -Path ($BackupDir + "\Yesterday" ) -Recurse -ErrorVariable err
jika ($salah)
# Jika terjadi kesalahan penghapusan, hentikan eksekusi.`tidak"
}
" Menghapus direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan: "
{
# Cari VM tertentu + $salah
kalau tidak
"Penghapusan direktori Kemarin berhasil. `r` n" # Ganti nama folder Hari Ini) -Nama Baru ($BackupDir + "\Kemarin") -Force -ErrorVariable err
# Hapus folder Kemarin
{
# Jika terjadi kesalahan rename, hentikan eksekusi.
$log_string = $log_string + $err + " jika ($salah)
" Mengganti nama direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan: "`tidak"
}
" Menghapus direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan: "
{
# Cari VM tertentu "Penggantian nama folder berhasil diselesaikan. `r` n"
# Buat folder Hari Ini
Item Baru -Path ($BackupDir + " # Ganti nama folder Hari Ini) -Direktori Tipe Barang -Force -ErrorVariable err
# Hapus folder Kemarin
{
# Jika terjadi kesalahan pembuatan, hentikan eksekusi.
$log_string = $log_string + $err + " jika ($salah)
$MailBody = $Mailbody + (Dapatkan-Tanggal -Format "(yyyy-MM-dd) hh:mm:ss" ) + "Pembuatan direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan:"`tidak"
}
" Menghapus direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan: "
{
# Cari VM tertentu "Pembuatan folder Hari Ini berhasil. `r` n"
#========== Akhir bekerja dengan folder

#========== Bekerja dengan VM
# Jika status mesin "Berjalan", maka
if ((Dapatkan-VMSummary $VM ) .enabledstate -eq "Berjalan" )
{
# Mulai mematikan
$log_string = $log_string + ((Dapatkan-Tanggal -Format "(yyyy-MM-dd) hh:mm:ss" ) + "Mesin virtual sedang berjalan. Saya menghentikannya.`r` n")
invoke-vmshutdown -VM $VM -Alasan "Ekspor VM."
# Hapus folder Kemarin
{
$log_string = $log_string + $err + " jika ($salah)
$MailBody = $Mailbody + (Dapatkan-Tanggal -Format "(yyyy-MM-dd) hh:mm:ss" ) + -Force -ErrorVariable salah`tidak"
}
" Menghapus direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan: "
{

"VM tidak dihentikan, ekspor $VM terganggu. Kesalahan: "
"Mesin virtual telah berhenti. Mengekspor.`r`n" $MailBody = $MailBody + (Dapatkan-Tanggal -Format "(yyyy-MM-dd) hh:mm:ss" ) +
"Mesin virtual telah berhenti. Mengekspor.`r`n" "Mesin virtual telah berhenti.`r`n"
# Ganti nama folder Hari Ini
# Hapus folder Kemarin
{
$log_string = $log_string + $err + " jika ($salah)
$MailBody = $Mailbody + (Dapatkan-Tanggal -Format "(yyyy-MM-dd) hh:mm:ss" ) + "Mengekspor mesin virtual.`r`n"`tidak"
}
" Menghapus direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan: "
{
"Ekspor VM selesai dengan kesalahan, ekspor $VM terganggu. Kesalahan:" $log_string = $log_string + (Dapatkan-Tanggal -Format "(yyyy-MM-dd) hh:mm:ss" ) +
"Mesin virtual telah berhenti. Mengekspor.`r`n"
"Mesin virtual telah berhasil diekspor. Saya memulainya.`r`n"
}
$ekspor_hitung = $benar
# Mulai VM dengan mengonfirmasi daya hidup selama 300 detik sebelum menjalankan perintah berikutnya
# Hapus folder Kemarin
{
$log_string = $log_string + $err + " jika ($salah)
$MailBody = $Mailbody + (Dapatkan-Tanggal -Format "(yyyy-MM-dd) hh:mm:ss" ) + Mulai-VM -vm $VM -HeartBeatTimeOut 300 -ErrorVariable err`tidak"
}
" Menghapus direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan: "
{
"Ekspor VM selesai dengan kesalahan, ekspor $VM terganggu. Kesalahan:"
"Mesin virtual telah berhenti. Mengekspor.`r`n" "VM gagal memulai. Kesalahan:"
}
}
}
"Mesin virtual sedang berjalan.`r`n"
{
elseif((Dapatkan-VMSummary $VM ) .enabledstate -eq "Berhenti" )
"Ekspor VM selesai dengan kesalahan, ekspor $VM terganggu. Kesalahan:" # Ekspor VM tanpa konfirmasi dengan semua file (xml, vhd, dll) dan tunggu hingga selesai
"Mesin virtual telah berhenti. Mengekspor.`r`n" "Mesin virtual dalam mode Berhenti. Mengekspor.`r`n"
"Mesin virtual dalam mode Berhenti.`r`n" # Ganti nama folder Hari Ini ekspor-VM -VM $VM -jalur ($backupDir + "
# Hapus folder Kemarin
{
$log_string = $log_string + $err + " jika ($salah)
$MailBody = $Mailbody + (Dapatkan-Tanggal -Format "(yyyy-MM-dd) hh:mm:ss" ) + ) -force -copystate -tunggu -ErrorVariable salah`tidak"
}
" Menghapus direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan: "
{
"Ekspor VM selesai dengan kesalahan, ekspor $VM terganggu. Kesalahan:" "Ekspor VM gagal, ekspor $VM terganggu. Kesalahan:"
"Mesin virtual telah berhenti. Mengekspor.`r`n" "Ekspor VM gagal, ekspor $VM terganggu. Kesalahan:"
"Mesin virtual telah berhasil diekspor. Saya memulainya.`r`n"
}
}
" Menghapus direktori Kemarin gagal, ekspor $VM dibatalkan. Kesalahan: "
{
"Mesin virtual berhasil diekspor.`r`n"
"Ekspor VM selesai dengan kesalahan, ekspor $VM terganggu. Kesalahan:"
"Mesin virtual telah berhenti. Mengekspor.`r`n" $vm_state = (Dapatkan-VMSummary -VM $VM ) .EnabledState
}
}
}
}
}
}
"Mesin virtual tidak diekspor, nyatakan $VM = $vm_state .`r` n" jika ($hitungan)
{
# Jika VM ditemukan # Jika VM tidak diekspor
{
# Cari VM tertentu "Ekspor mesin virtual $VM selesai dengan kesalahan. Proses dibatalkan. `r` n"
$MailBody = $MailBody + "Ekspor mesin virtual $VM selesai dengan kesalahan. Proses dibatalkan.`r` n"
}
kalau tidak # Jika VM diekspor
{
# Cari VM tertentu "Saya mencari *.VHD untuk $VM ...`r` n"
# Cari *.vhd di direktori yang ditentukan
if (Dapatkan-Item -Path ($InfoDir + " \T hari ini\" + $VM + "\Hard Disk Virtual\* ") -Sertakan *.*vhd | Pilih-Objek -Nama Properti)
{
#$VHDInfo = "
Info VHD:`r`n"
depan( $elemen dalam (Dapatkan-Item -Path ($InfoDir + "\Hari ini\" + $VM + " \V Hard Disk asli\*") -Sertakan * .* vhd |
{
Pilih-Objek -Nama Properti) )
# Cari VM tertentu # Untuk setiap elemen yang ditemukan, kami memperoleh informasi dan menuliskannya ke log dan baris untuk penulisan"Informasi untuk" jika ($salah)
+ $elemen .Nama + ": \T hari ini\" + $VM + "$SomeVHDInfo = Dapatkan-VHDInfo -VHDPaths ($InfoDir + "
\Hard Disk Virtual\" + $elemen .Nama) jika ($salah)
$log_string = $log_string + "Jalur: " + $SomeVHDInfo .Jalur + " jika ($salah)
$log_string = $log_string + "Ukuran file: " + ([ System.Math] ::Round(($SomeVHDInfo .FileSize/ 1Gb) ,2 ) ) + "Gb jika ($salah)
$log_string = $log_string + "Pengikatan VM: " + $SomeVHDInfo .InSavedState + " jika ($salah)
# Cari VM tertentu "$log_string = $log_string + "Dipasang: " + $SomeVHDInfo .InUse + " Volume maksimum mengajukan: " jika ($salah)
+ ([ Sistem.Matematika] ::Round(($SomeVHDInfo .MaxInternalSize/ 1Gb) ,2 ) ) + "Gb jika ($salah)
$log_string = $log_string + "Jenis gambar: " + $SomeVHDInfo .TypeName + "
# Kami memvalidasi VM VHD \T hari ini\" + $VM + "$TestVHD = "VHD: " + $element .Name + ": " + (Test-VHD -VHDPaths ($InfoDir + "
\Hard Disk Virtual\" + $element .Nama) ) jika ($salah)
$log_string = $log_string + $TesVHD + " jika ($salah)
}
}
kalau tidak $MailBody = $Mailbody + $TestVHD + "
{
# Tiba-tiba VHD tidak ada di direktori ini O_O $log_string = $log_string + "*.VHD untuk
$VM tidak ditemukan.`r`n" $log_string = $log_string + "*.VHD untuk
}
}
}
kalau tidak $MailBody = $MailBody + "*.VHD untuk
{
# VM tidak ditemukan di server
$MailBody = $MailBody + $log_string = $log_string +
}

"Ekspor VM selesai dengan kesalahan, ekspor $VM terganggu. Kesalahan:" "Mesin virtual $VM tidak ditemukan. Proses telah dihentikan.`r` n"
# Cari VM tertentu "Pekerjaan di $VM sudah selesai.`r`n"

"=========`r`n" $MailSubjek = "
laporan ekspor $VM."
# Kirim surat:

KirimEmail -Subjek $MailSubject -Badan $MailBody -Prioritas $MailPriority #net gunakan R: /hapus /y Fungsi ini

Faktanya, inilah keseluruhan skripnya. Untuk bekerja dengan cluster, kami membuat tugas untuk setiap VM di setiap node cluster dengan perbedaan waktu startup yang sangat kecil, karena skrip dari node mana pun mengakses file log yang sama dan pada saat yang sama mungkin terjadi tabrakan akses. Jika tidak ada VM di salah satu node cluster, skrip akan menampilkan pesan bahwa VM tidak ditemukan dan akan keluar.
Skrip ini telah diterapkan di beberapa perusahaan dengan sedikit penyesuaian untuk pelanggan tertentu. Semua orang senang, dan saya berharap hal yang sama untuk Anda.

Hyper-V - pengaturan jaringan, pembuatan titik kontrol, impor dan ekspor mesin virtual.

Secara default, semua mesin virtual Hyper-V pada dasarnya di-sandbox dan diisolasi sepenuhnya dari komputer dan jaringan lain. Dan jika Anda ingin mesin virtual Anda berkomunikasi dengan VM lain, komputer fisik, jaringan, dan Internet, Anda perlu membuat saklar virtual. Anda dapat melakukan ini di manajer Hyper-V dengan mengklik Virtual Switch Manager di panel kanannya.

Namun pertama-tama Anda harus memutuskan jenis saklar virtual yang Anda buat. Dan penawaran Virtual Switch Manager deskripsi teks setiap jenis saklar.

Jika Anda ingin file Anda melihat dan mengakses file di PC host dan di jaringan Anda, Anda harus memilih saklar eksternal. Opsi yang sama menyediakan akses VM ke Internet. Opsi peralihan internal dan privat memungkinkan virtual Mesin Hyper-V hanya berkomunikasi satu sama lain. Setelah Anda memutuskan opsi ini, klik tombol buat saklar virtual.

Selanjutnya, Anda harus mengonfigurasi opsi untuk sakelar virtual Anda. Yang penting di sini adalah menentukan adaptor jaringan mana di komputer yang Anda sambungkan. Komputer Anda mungkin berkabel atau koneksi nirkabel. Pilih yang tepat.

Petunjuk. Katakanlah Anda ingin mesin virtual Anda mengakses file di PC host, tetapi tidak memiliki akses ke jaringan atau Internet. Jika komputer Anda memiliki koneksi kabel dan nirkabel, sambungkan sakelar ke sesuatu yang tidak Anda gunakan untuk mengakses Internet. Jika Anda tidak memiliki fisik kabel jaringan, pilih tidak koneksi WiFi. Dengan cara ini VM hanya akan memiliki akses ke PC utama dan akan diisolasi dari perangkat lunak berbahaya dan serangan eksternal.

Setelah Anda membuat saklar virtual, Anda perlu menghubungkannya ke mesin virtual. Di area tengah Manajer Hyper-V, klik VM yang sesuai. Lalu di bagian bawah daerah yang tepat, klik pengaturan. Yang akan membuka pengaturan mesin virtual.

Di panel kiri, klik opsi adaptor koneksi. Jika Anda tidak melihat opsi ini, klik Tambah Perangkat Keras dan tambahkan adaptor jaringan. Fitur yang berguna- manajemen bandwidth, yang dapat mengontrol penggunaan VM lebar pita jaringan Anda. Penyesuaian ini memastikan bahwa mesin virtual memiliki apa yang diperlukan koneksi jaringan, namun tidak menghabiskan sumber daya tambahan.

Di bagian paling atas pengaturan adaptor jaringan, pilih saklar virtual yang Anda buat dan klik OK. Tidak perlu mengkonfigurasi apa pun lagi. Mesin virtual Anda sekarang memilikinya akses jaringan.

Perhatian. Meskipun banyak opsi yang dapat diubah dalam pengaturan VM itu sendiri, beberapa opsi yang ditetapkan saat membuat mesin virtual hanya dapat diubah dengan mematikannya.

Membuat pos pemeriksaan Hyper-V

Jika Anda membuat perubahan signifikan pada Windows 8.1 Anda, misalnya menginstal program desktop atau Pembaruan Windows, titik pemulihan sistem dibuat. Artinya, salinan file sistem operasi penting disimpan, seperti Registri Windows, sebelum mereka berubah. Dan jika terjadi kesalahan, perubahan tersebut dapat dibatalkan dan dikembalikan ke kondisi Windows sebelumnya.

Hyper-V juga memiliki fungsi pos pemeriksaannya sendiri - . Ini adalah cuplikan yang dapat Anda ambil kapan saja. Untuk melakukan ini, di panel tengah manajer Hyper-V, pilih VM yang ingin Anda buat snapshotnya dan di sudut kanan bawah jendela kontrol, klik tautan titik kontrol.

Pos pemeriksaan yang Anda buat muncul di Hyper-V Manager Center. Anda dapat mengklik salah satunya dan mengembalikan mesin virtual ke titik tersebut, mengekspor snapshot, atau menghapusnya.

Hyper-V - impor dan ekspor mesin virtual

Terkadang Anda mungkin perlu membuat mesin virtual dan menggunakannya di komputer lain atau menyimpan salinan VM. Membuat VM saja, menyalin file ini ke komputer lain dan membukanya di sana tidak akan berhasil. Untuk mengimpor mesin virtual ke Hyper-V ada pilihan khusus impor dan ekspor. Untuk mengekspor VM, di Hyper-V Manager, pilih opsi ini. Di sudut kanan bawah jendela Hyper-V Manager, opsi ekspor akan muncul. Klik di atasnya dan Anda akan ditanya di folder mana Anda ingin menyimpan salinan VM Anda. Proses ekspor tidak terlihat dan cukup cepat.

  • Anda kemudian dapat mengimpor mesin virtual yang sebelumnya diekspor ke Hyper-V. Untuk melakukan ini, tanpa memilih VM di sudut kanan atas jendela manajer Hyper-V, klik tautan impor mesin virtual.

  • Wizard Impor Mesin Virtual akan terbuka dan menanyakan di folder mana (bukan file) salinan VM yang disimpan berada.

  • Anda kemudian akan melihat nama VM dan detail pembuatannya. Jika ini yang Anda cari, klik berikutnya.

  • Anda sekarang akan ditanya bagaimana Anda ingin mengimpor VM. Ada tiga kemungkinan untuk hal ini:
  1. Mesin virtual terdaftar. Digunakan jika Anda melakukan impor langsung. VM berada di folder yang sama tempat VM diekspor, dan Anda ingin membiarkannya di sana.
  2. Memulihkan mesin virtual. Digunakan jika VM tidak terletak di folder tempat VM diekspor. Misalnya, ini adalah salinan yang dibuat dari gambar utama di server.
  3. Salinan mesin virtual. Digunakan jika Anda ingin membuat salinan lokal VM yang ada, membiarkan "utama" tetap utuh, misalnya, untuk kemudian diimpor ke PC lain. Opsi ini juga digunakan jika Anda membuat salinan VM yang sudah diimpor.

Perhatian. Jika Anda mengimpor VM tanpa membuat salinannya, perubahan apa pun yang Anda buat dan masalah apa pun akan tetap ada di dalamnya dan Anda secara efektif kehilangan salinan master bersih Anda.

  • Jika Anda ingin membuat salinan mesin virtual, Anda akan ditanya di mana Anda ingin menyimpannya.

  • Langkah terakhir adalah mengonfirmasi pengaturan yang dipilih.

Mengintegrasikan layanan tambahan ke dalam mesin virtual

Beberapa sistem operasi, terutama yang lainnya versi awal Windows tidak menyediakan akses jaringan atau lainnya fungsi yang diperlukan. Dan Anda harus menyalakannya fitur tambahan VM. Ini harus dilakukan di mesin virtual yang sedang berjalan.

Fitur tambahan inilah yang dibutuhkan oleh sebagian orang sistem operasi, menyertakan kemampuan untuk memindahkan kursor mouse antara desktop utama dan mesin virtual yang terbuka. Mereka juga menyertakan dukungan jaringan dan USB.

Pada menu Tindakan, klik Instal Layanan Integrasi. Dan itu akan dimuat untuk Anda berkas ISO mengandung perangkat lunak meningkatkan fungsionalitas mesin virtual.

Menginstal ulang sistem operasi atau mengubah perangkat komputer tidak berarti akhir dari pekerjaan dengan OS tamu yang diinstal dalam program. Benar, pengecualian mungkin terjadi ketika file hard drive mesin virtual berada di disk sistem komputer, dan sistem itu sendiri tidak dapat dipulihkan setelah kegagalan kritis. Untuk terus bekerja dengan OS tamu yang ada sambil mempertahankan statusnya, tetapi pada Windows yang diinstal ulang atau di komputer lain, program VirtualBox memiliki alat untuk mengekspor konfigurasi mesin virtual yang ada untuk diimpor nanti. Pilihan lain untuk terus bekerja dengan OS tamu yang ada adalah menambahkan mesin virtual baru berdasarkan file yang ada di hard drive mereka. Kami akan mempertimbangkan semua proses di bawah ini.

1. Format file ekspor mesin virtual universal

Konfigurasi virtual yang ada mesin VirtualBox diekspor ke file " .ova" File ".ova" (Buka Peralatan Virtual) adalah berkas universal penyimpanan data mesin virtual yang dapat digunakan berbagai program untuk virtualisasi sistem operasi. Ini , . Mesin virtual yang diekspor ke file ini kemudian dapat diimpor melalui VirtualBox atau Stasiun Kerja VMware atau Microsoft Hyper-V dalam sistem tamu yang didukung oleh program ini.

Mari kita lihat lebih dekat proses ekspor dan impor konfigurasi mesin virtual VirtualBox di sistem utama Windows.

2. Ekspor mesin virtual

Di jendela VirtualBox, pilih mesin virtual tertentu yang akan diekspor, klik menu “ Mengajukan" dan pilih " Ekspor konfigurasi».

Di jendela berikutnya, klik “ Berikutnya».

Mengekspor konfigurasi hanya dapat dilakukan ketika mesin virtual dimatikan, dan jika dijeda, VirtualBox akan meminta Anda mengatur ulang status tersimpan untuk melanjutkan proses.

Selanjutnya, jendela opsi ekspor akan muncul. Kami meninggalkan format preset, tetapi mengubah folder file ekspor ".ova", yang secara default terletak di drive sistem, ke folder, misalnya, seperti dalam kasus kami, yang dibuat khusus di drive non-sistem D.

Di jendela berikutnya, klik “ Ekspor».

Kita tunggu proses ekspornya selesai.

Mesin virtual yang diekspor dalam file ".ova" akan ditempatkan di folder yang ditentukan, dari mana ia dapat dipindahkan ke komputer lain, media yang dapat dipindahkan, layanan awan. Atau Anda dapat membiarkannya, seperti dalam kasus kami, di tempatnya - di drive non-sistem, tempat file ini akan disimpan selama instalasi ulang Windows.

3. Impor mesin virtual

Setelah menginstal VirtualBox jendela baru atau di komputer lain buka programnya dan di menu “ Mengajukan» pilih « Mengimpor konfigurasi».

Di jendela berikutnya, tentukan jalur ke file “.ova” dengan mesin virtual yang diekspor. Klik " Berikutnya».

Di bagian paling akhir jendela, jalur akan ditunjukkan di mana file hard disk “.vdi” akan ditempatkan setelah diimpor. Secara default, ini adalah drive sistem, dan agar tidak mengacaukannya dan mencegah hilangnya file ".vdi" jika terjadi kegagalan sistem, Anda dapat mengubah jalur dengan menentukan folder penyimpanan di non-sistem menyetir. Klik " Impor».

Kami menunggu proses impor selesai.

Setelah itu kita akan melihat mesin virtual yang diimpor dalam daftar mesin VirtualBox. Yang tersisa sekarang hanyalah menyalakan mobil.

OS tamu akan mulai persis seperti keadaan saat mesin virtual diekspor.

4. Menambahkan mesin baru dari file hard disk VirtualBox yang ada

Alternatif untuk mengekspor dan mengimpor mesin virtual adalah menambahkan mobil baru dari file keras yang ada disk VirtualBox « .vdi" Cara ini sama sekali tidak kalah dengan prosedur ekspor dan impor mesin virtual. Apalagi jika file ".vdi" terletak di drive non-sistem, kapan menginstal ulang Windows pada komputer fisik Anda bahkan tidak perlu membuang waktu untuk mengekspor konfigurasi. Kita cukup mentransfer file “.vdi” yang tersimpan di disk sistem ke disk non-sistem. Secara umum, proses mengekspor dan mengimpor mesin virtual hanya mendapat manfaat dengan menghemat ruang yang digunakan oleh file “.ova”. Misalnya, dalam kasus kami, kami mengekspor mesin virtual dengan OS tamu Windows XP terinstal, dan bobot file ".ova" pada output adalah 4,11 GB Sedangkan ukuran file “.vdi” hard disk dari sistem yang sama adalah 10 GB.

Manfaat menghemat ruang ini mungkin relevan jika Anda mentransfer mesin virtual ke komputer lain menggunakan penyimpanan awan atau media yang dapat dilepas dengan ukuran terbatas. Dalam kasus kami, ketika kita berbicara tentang menginstal ulang Windows, metode menambahkan mesin baru dari file hard disk VirtualBox yang ada cukup cocok.

Luncurkan VirtualBox dan klik " Membuat».

Atur indikatornya RAM. Klik " Berikutnya».

Di jendela pemilihan hard drive, pilih opsi “ Gunakan hard drive yang ada", menggunakan tombol telusuri, tentukan jalur untuk menyimpan file ".vdi". Klik " Membuat».

Mesin virtual akan muncul di daftar VirtualBox, kita bisa meluncurkannya.

OS tamu akan mulai persis dalam keadaan penyimpanannya terakhir kali Anda menggunakannya.

Menambahkan mesin virtual baru dari file “.vdi” yang ada juga merupakan cara untuk memindahkan file hard disk OS tamu ke drive non-sistem komputer jika awalnya dibuat di drive sistem, dan seiring waktu akan memakan ruang. ditempati mulai mengurangi kinerja sistem. Untuk melakukan ini, Anda perlu menghapus mesin virtual dari daftar di jendela utama VirtualBox. Pada mesin yang dipilih kami menelepon menu konteks dan pilih " Menghapus».

Kemudian di jendela yang muncul, klik “ Hapus dari daftar».

Setelah ini, Anda dapat mencari file “.vdi” hard disk di drive sistem (biasanya jalur default C:\Users\Nama Pengguna\VirtualBox VM), pindahkan ke disk non-sistem dan tambahkan mesin virtual lagi.

Apakah artikel ini membantu Anda?

Mekanisme ekspor-impor pada hypervisor Hyper-V dirancang untuk memindahkan mesin virtual dari satu komputer atau server ke komputer atau server lainnya. Ekspor pada dasarnya menyalin mesin virtual sambil mempertahankan konfigurasinya sepenuhnya. Disalin selama ekspor maya keras disk, pengaturan perangkat keras, momen tersimpan dari OS tamu, dibuat (snapshot).

Mekanisme ekspor-impor Hyper-V juga dapat digunakan untuk membuat mesin virtual kloning di server atau komputer yang sama untuk pengujian dan interaksi dengan mesin virtual asli. Mesin klon dapat menerima ID (pengidentifikasi) yang berbeda, yang lain alamat IP internal di jaringan Hyper-V, sehingga sebenarnya tidak ada bedanya dengan mesin virtual yang dibuat dari awal.

Di bawah ini kami akan mempertimbangkan proses mengekspor dan mengimpor mesin virtual menggunakan contoh yang disertakan dalam Windows 10 secara lebih rinci.

Masalah yang dibahas:

1. Ekspor mesin virtual

Salah satu kelebihannya versi baru Hyper-V, termasuk dalam Server Windows 2012 R2, klien sistem Windows 8.1 dan 10, adalah kemampuan untuk melakukan beberapa tugas yang membutuhkan banyak sumber daya, khususnya mengekspor dengan cepat, saat mesin virtual sedang berjalan, tanpa menghentikannya, bahkan tanpa menjedanya. Ekspor dilakukan ke latar belakang, itu tidak berlalu dengan cepat, karena melibatkan jumlah kecil sumber daya sistem, memberikan kesempatan kepada pengguna untuk terus bekerja dengan mesin virtual.

Bagaimana cara mesin virtual diekspor? Pilih mesin virtual yang diinginkan di manajer Hyper-V dan panggil menu konteks. Kami memerlukan perintah "Ekspor".

2. Ekspor snapshot mesin virtual

Satu lagi mengenai fitur baru Hyper-V, yang tidak ada di ruang server lama Versi Windows– kemampuan untuk mengekspor pos pemeriksaan terpisah, yaitu keadaan mesin virtual pada saat pembuatan pos pemeriksaan ini. Sebelumnya, hypervisor Microsoft hanya menyediakan ekspor-impor seluruh mesin virtual. Dan jika keadaan pos pemeriksaan tertentu diperlukan, maka perlu mengekspor mesin virtual dengan semua pos pemeriksaannya, dan setelah mengimpor, memutar kembali ke yang diinginkan. Hyper-V sekarang memungkinkan Anda mengekspor setiap pos pemeriksaan. Setelah mengekspor snapshot terpisah, snapshot tersebut kemudian dapat diimpor sebagai mesin virtual baru, khususnya dengan miliknya sendiri pengenal unik di server atau komputer yang sama.

Untuk mengekspor mesin virtual dari titik kontrol, pilih mesin dan titik kontrol di manajer Hyper-V. Yang terakhir, panggil menu konteks dan pilih “Ekspor”.

3. Keandalan format ekspor Hyper-V

Mengekspor mesin virtual Hyper-V tidak dilakukan dalam beberapa format file terkompresi terpisah, di mana file virtual perangkat keras, dan file konfigurasi, dan status OS tamu yang disimpan, seperti, misalnya, ditawarkan oleh mekanisme ekspor-impor di program Kotak Virtual. Dalam kasus mesin virtual Ekspor-impor VirtualBox dimungkinkan dengan partisipasi perantara - file OVA. Jika file ini rusak, mesin virtual VirtualBox tidak dapat diimpor. Namun dalam kasus Hyper-V, mengekspor berarti mesin virtual salinan lengkap keras maya disk dalam format aslinya – VHDX (atau VHD).

Dengan cara ini, jika data ekspor lainnya rusak, mesin virtual masih dapat dibuat ulang. Anda perlu membuat mesin virtual baru menggunakan Hyper-V menggunakan berkas yang ada VHDX (VHD).

4. Impor mesin virtual

Mesin virtual yang diekspor nantinya dapat diimpor versi yang kompatibel Hyper-V sebagai bagian dari server Edisi Windows dan klien Windows 8.1 dan 10.

Untuk mengimpor mesin virtual, pilih fungsi yang sesuai di Hyper-V Manager.

Di jendela berikutnya, gunakan tombol telusuri dan tentukan jalur ke folder dengan mesin virtual yang diekspor. Klik "Selanjutnya".

Pilih mesin virtual yang diinginkan jika ada beberapa di folder yang ditentukan. Klik "Selanjutnya".

Kemudian Anda perlu menentukan pilihan tentang bagaimana mesin virtual akan diimpor. Jika ditransfer dari server atau komputer lain, Anda dapat menggunakan jenis impor pertama, yang melibatkan pendaftaran menggunakan pengenal asli. Opsi ini mendaftarkan mesin virtual di folder yang sama tempat file ekspornya disimpan, sehingga tidak ada waktu yang terbuang untuk menyalin file.

Jenis impor kedua juga cocok untuk kasus mentransfer mesin virtual dari server atau komputer lain, tetapi saat menggunakannya, file yang diekspor akan ditransfer ke folder yang ditentukan. ID mesin virtual akan tetap sama.

Jika mesin virtual dipindahkan dalam server atau komputer yang sama, Anda harus menggunakan jenis impor ketiga, yang melibatkan pembuatan pengenal baru. Lagi pula, satu komputer fisik tidak dapat memiliki komputer virtual Mesin Hyper-V dengan ID yang sama.

Dalam kasus kami, kami menyalin mesin virtual; ini adalah jenis impor ketiga. Klik "Selanjutnya".

Jalur penyimpanan default untuk file konfigurasi, pos pemeriksaan, dan data lain dari mesin virtual yang diimpor, yang ditentukan oleh Hyper-V, dapat diubah. Anda harus mencentang kotak untuk mengubah lokasi penyimpanan dan menentukannya secara manual jalan yang benar.

Dalam kasus kami, kami cukup menambahkan kreasi di jalur (melalui garis miring) folder terpisah"Menyalin". Klik "Selanjutnya".

Kami akan menunjukkan jalur yang sama untuk file VHDX sehingga semuanya ada di satu tempat. Klik "Selanjutnya".

Langkah terakhir dari wizard adalah ringkasan data impor. Klik "Selesai".

Sekarang, dalam kasus kami, ada dua mesin virtual identik di Hyper-V Manager. Mereka mempunyai ID yang berbeda, tetapi mereka memiliki nama yang sama. Mari kita ubah nama mesin virtual yang baru diimpor.

Selesai - proses impor telah selesai. Mesin virtual yang diimpor dapat diluncurkan dan diuji.

Semoga harimu menyenangkan!

3 Juni 2011 pukul 20.40

PowerShell+Hyper-V

  • Virtualisasi

Saya tidak bisa menggunakan gui lagi...

Kira-kira beginilah percakapan saya dimulai dengan seorang teman yang, dalam waktu singkat, harus mengekspor mesin virtual dari Hyper-V beberapa kali berturut-turut. Biasanya, hal ini dilakukan menggunakan Hyper-V Manager (HVM), yang diinstal bersama dengan peran Hyper-V di Windows Server 2008 R2. Saya harus mengakui bahwa antarmuka program ini tidak menimbulkan emosi negatif apa pun dalam diri saya. Di antara semua program manajemen yang disediakan Microsoft untuk Server, menurut saya ini adalah yang paling nyaman dan mudah dipahami (saya bandingkan, misalnya, dengan IIS Manager, yang menyebabkan kebingungan di antara pengguna baru dan kemarahan hebat di antara mereka yang menggunakan IIS 6 di Server 2003) . Namun, jika Anda perlu mengekspor atau mengimpor mesin virtual dalam jumlah N-piece dalam jangka waktu t, maka dengan menggunakan Hyper-V Manager Anda dapat merusak tombol mouse dan sangat membenci Hyper-V. Di sinilah PowerShell datang untuk menyelamatkan.
Impor-Modul HyperV
... Dan secara default tidak ada modul seperti itu di PowerShell. Microsoft memutuskan bahwa tidak ada yang akan menulis cmdlet untuk mengelola Hyper-V (ide yang sangat liar). Di sisi lain, dunia ini penuh dengan orang-orang yang tahu caranya dan siap menyederhanakan hidup untuk dirinya sendiri dan pengguna lain. Ini adalah bagaimana Perpustakaan manajemen PowerShell untuk Hyper-V lahir.
Hal pertama yang perlu Anda lakukan adalah mengunduh modul + dokumentasi ini sesuai selera Anda. (Keduanya tersedia di: http://pshyperv.codeplex.com/releases)
Maka Anda perlu menginstal modul ini. Prosesnya tidak rumit (file instalasi yang Anda jalankan akan hilang dengan sendirinya).
Sekarang kamu bisa bekerja. Kami meluncurkan PowerShell, mengimpor modul (apa yang tertulis di subtitle).
Dan kami memiliki akses ke semua fungsi yang dapat kami gunakan melalui HVM, berikut beberapa di antaranya:

Menghubungkan ke mesin virtual
VMConnectSession baru

Memanipulasi keadaan mesin virtual
Dapatkan-VMState, Setel-VMState, Konversi-VmState,
Ping-VM, Uji-VMHeartBeat, Shutdown-VM, Mulai-VM, Stop-VM, Suspend-VM
Dapatkan-VMKVP, Tambah-KVP, Hapus-KVP, Dapatkan-VMJPEG

Kemampuan untuk membuat cadangan, mengekspor mesin virtual, dan mengambil snapshot
Ekspor-VM, Impor-VM, Dapatkan-VMSnapshot, Pilih-VMSnapshot, Terapkan-VMSnapshot, VMSnapshot baru, Hapus-VMSnapshot, Ganti nama-VMSnapShot, Perbarui-VMSnapshot, Dapatkan-VMSnapshotTree, Dapatkan-VmBackupScript

Menambah dan menghapus virtual. mesin, mengatur propertinya
VM-baru, Hapus-VM, Set-VM, Dapatkan-VMCPUCount, Set-VMCPUCount, Dapatkan-VMMemory, Set-VMMemory, Set-VMSerialPort

Mengelola pengontrol disk
Dapatkan-VMDiskController
Tambahkan-VMSCSIController, Hapus-VMSCSIcontroller
Dapatkan-VMDriveByController, Tambah-VMDRIVE, Hapus-VMdrive
Dapatkan-VMDiskByDrive, Tambah-VMDISK, Set-VMDisk, Dapatkan-VMDisk
Dapatkan-VMFloppyDisk, Tambahkan-VMFloppyDisk
Tambahkan-VMNewHardDisk

Manajemen Antarmuka Jaringan
Dapatkan-VMNIC, Daftar-VMNIC, Pilih-VMNIC, Tambah-VMNIC, Hapus-VMNIC, Set-VMNICAddress, Set-VMNICConnection, Dapatkan-VMNICport,
Dapatkan-VMnicSwitch, Pilih-VMSwitch, Baru-VMSwitchPort, Dapatkan-VMByMACaddress, Pilih-VMExternalEthernet,
Baru-VMExternalSwitch, Baru-VMInternalSwitch, Baru-VmPrivateSwitch

Bekerja dengan file VHD
Dapatkan-VHDDefaultPath, Dapatkan-VHDInfo, VHD Baru, Compact-VHD, Uji-VHD, Konversi-VHD, Gabung-VHD, Pasang-VHD, Lepas-VHD

Semua perintah yang diberikan berbicara sendiri.
Misalnya, untuk mendapatkan status mesin virtual, cukup masukkan:
Daftar-VMState nama virt. mobil
dan sebagai hasilnya:

Dalam contoh saya, hanya ada satu mesin virtual => Saya tidak menentukan parameter apa pun, tetapi jika Anda memiliki banyak parameter, maka Anda mungkin harus menentukan namanya secara eksplisit jika Anda tidak ingin menelusuri keluaran konsol nanti.
Misalnya saja mudah untuk mengetahui bekasnya antarmuka jaringan untuk mesin virtual, cukup masukkan:
Dapatkan-VMNic
dan kami mendapatkan:

Nah, dan yang paling penting, yang sobat butuhkan adalah kemampuan untuk mengekspor di latar belakang, sesuai jadwal. Untuk melakukan ini, Anda dapat menulis cmdlet yang kemudian dapat Anda dorong ke Penjadwal. Misalnya, bagi saya cmdlet ini menghentikan mesin virtual, mengekspornya, memulainya lagi, dan mengirimi saya surat tentang kesalahan atau keberhasilan cmdlet. Setelah ini, kontrol ditransfer ke skrip lain yang mengarsipkan dan mengirimkan cadangan ke ftp jarak jauh.
Ekspor: ekspor-vm -vm MyVM1 -jalur D:\backups\VM -copystate -tunggu -force
Parameter -copystate memberitahu Anda untuk menyalin semuanya (termasuk disk virtual=> ukuran output ekspor bisa sangat besar)

Alih-alih sebuah kesimpulan
Seperti yang Anda lihat, mengelola mesin virtual Anda dari PowerShell bisa sangat nyaman dan bebas stres. Anda hanya perlu membaca parameter perintah yang Anda perlukan dan menulis skrip Anda.

P.S. Saya sama sekali tidak berpura-pura “menemukan Amerika”; saya hanya memutuskan bahwa seseorang akan menganggap informasi tentang modul yang berguna ini bermanfaat. Saya hanya menjelaskan sebagian besar saja pilihan sederhana yang mana Anda dapat menggunakan perpustakaan manajemen PowerShell untuk Hyper-V. Jika ada yang tahu atau pernah menulis sendiri lebih lanjut alat yang nyaman untuk mengoptimalkan pekerjaan dengan Hyper-V, saya akan senang mempelajarinya.

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat