Bagaimana cara membuat cadangan mesin virtual pada host ESXi mandiri?

17

Standalone ESXi (4.1) host tanpa Server vCenter.

Bagaimana cara membuat cadangan mesin virtual secepat dan seramah mungkin?

Saya tahu saya dapat mengakses konsol ESXi dan menggunakan cpperintah Unix standar , tetapi ini memiliki kejatuhan dalam menyalin seluruh file VMDK, tidak hanya ruang mereka yang sebenarnya digunakan; jadi, untuk VMDK 30 GB yang hanya menggunakan 1 GB, cadangannya akan membutuhkan ruang 30 GB penuh, dan waktu yang sesuai.

Dan ya, saya tahu tentang disk virtual yang disediakan tipis, tetapi mereka cenderung berperilaku sangat buruk ketika disalin secara fisik, dan / atau meledak hingga ukuran penuh yang disediakan; juga, mereka tidak direkomendasikan untuk kinerja VM aktual.

Tidak apa-apa bagi saya untuk mematikan VM sebelum mencadangkannya (yaitu saya tidak perlu backup "langsung"); tetapi saya perlu cara untuk menyalinnya secara efisien; dan ya, cara untuk mengautomatisasi shutdown / startup ketika mengambil cadangan juga akan membantu.

Saya hanya punya ESXi; tidak ada Konsol Layanan, tidak ada Server vCenter ... apa cara terbaik untuk menangani tugas ini? Juga, bagaimana dengan mengembalikan?

Massimo
sumber

Jawaban:

17

Solusi yang saya sukai untuk ini adalah dengan mengekspornya ke file ovf atau ova menggunakan klien vSphere atau perintah baris ovftool .

Di vSphere Client, pastikan VM tidak aktif, kemudian sorot dan pergi ke File-> Ekspor-> Ekspor Template OVF. Kemudian ikuti saja petunjuknya.

Memulihkan adalah sepotong kue, lakukan saja yang terbalik (opsi menu adalah "Menyebarkan template OVF", saya pikir).

Untuk membuat cadangan tipis menggunakan ovftool

ovftool -dm=thin  vi://<user>@<esxi-host>/<vm-name> <local-file>.ovf

Anda mungkin juga ingin memeriksa beberapa opsi di http://www.virtualghetto.com/ , saya tahu ini sangat populer dan saya pikir ada beberapa pilihan yang baik untuk backup, walaupun saya belum melihat satu pun dari mereka. terlalu baru.

Jed Daniels
sumber
Cadangan dan pemulihan OVF tampaknya berfungsi dengan baik sebagai opsi cadangan VMWare dari orang miskin. Akhirnya saya berniat untuk mengotomatiskan menggunakan cli ovftool, tetapi mematikan vm di dalam skrip sementara cadangan berjalan akan menjadi bagian yang sulit.
dikemudikan
OVF sangat lambat. Jika Anda ingin menghindari downtime, Anda dapat menggunakan klien web untuk mengkloning VM yang sedang berjalan dengan membayar vMotion, kemudian mematikan dan membuat cadangan klon. Tidak ada downtime
dikemudikan
5

Saya tidak tahu apakah ini sesuai dengan tagihan untuk Anda, tetapi VM Explorer melakukan pekerjaan yang baik dalam melakukan cadangan panas atau dingin mesin virtual. Saya percaya bahwa dengan ESXi 4.1 VM Explorer memungkinkan Anda untuk melakukan backup tamu VM dari satu host ke host lain juga.

joeqwerty
sumber
Saya harus melihat ini lebih banyak tetapi sejak awal saya melihat sesuatu yang saya suka - Berlisensi per pemasangan.
Chadddada
Versi dasar gratis
Matthew Lock
Baik untuk dicatat bahwa ini tidak lagi gratis, tingkat terendah adalah "Profesional" pada $ 699
Douglas Gaskell
4

Saya akhirnya menulis skrip yang menyalin file konfigurasi VM dan menggunakan vmkfstools -duntuk mengkloning VMDK sambil menjaga provisi tipis.

Sebagai referensi:

#!/bin/sh

if [ $# != 2 ]; then
        echo "Usage: $(basename $0) <SOURCE VM PATH> <DESTINATION PATH>"
        echo "Example: $(basename $0) /vmfs/volumes/datastore1/VM1 /vmfs/volumes/datastore2"
        exit
fi

vmx=$(basename $(/bin/ls $1/*.vmx))
name=$(grep displayName $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmxf=$(grep vmxf $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
nvram=$(grep nvram $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmdks=$(grep vmdk $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')

echo "Started copying VM $name"

vmdir=$(basename $1)
destpath="$2/$vmdir"

echo "Source path: $1"
echo "Destination path: $destpath"

echo "Creating destination path $destpath"
/bin/mkdir -p $destpath

echo "Copying configuration files:"
echo $vmx
/bin/cp $1/$vmx $destpath
echo $vmxf
/bin/cp $1/$vmxf $destpath
echo $nvram
/bin/cp $1/$nvram $destpath

echo "Copying virtual disks:"
for vmdk in $vmdks;
do
        echo $vmdk
        /sbin/vmkfstools -d thin -i $1/$vmdk $destpath/$vmdk
done

echo "Completed copying VM $name"

Ini membutuhkan VM untuk dimatikan dan tidak memiliki snapshot aktif.

Massimo
sumber
Hai, bagaimana dengan tebal malas?
rovshango
Script yang bagus @ Massimo, tapi saya harus menambahkan tanda kutip ganda untuk penugasan vmx untuk menghindari kesalahan sintaksis nama samaran: vmx = $ (basename "$ (/ bin / ls $ 1 / *. Vmx)"). Tetapi sekarang, jika jalur $ 1 berisi spasi, itu macet karena $ 1 tidak dikutip. Saya tidak bisa menyingkirkan masalah ini. Ada ide?
Blazeag
4

Saya akan mencoba menggunakan solusi yang sudah terbukti dan bukannya roll sendiri. Kerumitan, waktu, dan risiko yang berkurang akan dengan mudah membayar sendiri meskipun Anda memilih solusi yang tidak gratis. Semua masalah yang Anda khawatirkan dibahas dalam solusi cadangan modern untuk ESXi.

Solusi yang digunakan klien di lingkungan ESXi mereka dengan keberuntungan adalah Veeam. Bahkan ada edisi gratis yang dapat digunakan untuk kebutuhan Anda: https://www.veeam.com/virtual-machine-backup-solution-free.html

Josh Richards
sumber
1
Edisi gratis masih membutuhkan lisensi ESXi.
Overmind
@ Overmind Anda benar sekali. Saya lupa bahwa itu tidak berfungsi (ironisnya, mungkin) dengan edisi vSphere Hypervisor gratis.
Josh Richards
2

Ghetto VCB dapat melakukan pencadangan saat mesin sedang berjalan. Untuk ruang, Anda dapat menggunakan sistem file deduplication + kompresi seperti lessfs di server cadangan.

Mircea Vutcovici
sumber
1

XSIBackup adalah layanan ESXi yang berjalan di ESXi hypervisor OS dan memiliki jejak minimal. Bahkan pengguna Anda tidak akan melihat ada cadangan yang terjadi di latar belakang.

Ini menawarkan dua alat yang berbeda: XSIBackup-Free dan XSIBackup-Pro.

XSIBackup-Free menawarkan semua fitur yang ada dalam versi Pro, seperti:

  • Backup panas
  • Penjadwalan cron
  • Pencadangan diferensial instan (OneDiff)
  • Deduplikasi tingkat blok asli plus kompresi ke datastore lokal dan ke server Linux (XSITools).

Versi Pro menawarkan semua alat di atas ditambah yang diperluas yang akan mempercepat transfer data Anda (XSIDiff), sertifikasi cadangan melalui checksum, metode perbandingan file cepat dan SSH GUI (Graphical User Interface) yang memungkinkan untuk mengonfigurasi semua opsi dari penyihir, mempercepat pengaturan pekerjaan cadangan.

https://33hops.com/xsibackup-pro-vmware-esxi-backup.html

Daniel J.
sumber
0

Saya mengekspor ke format OVF juga. Tidak apa-apa karena kompres on the fly gambar dengan gzip.

Tetapi lisensi hilang, karena dengan mengimpor file OVF ke ESXI mesin dengan perangkat keras baru dibuat.

Larutan:

Saya mencadangkan (mengunduh) folder file dari mesin virtual tanpa gambar besar dan mengompresnya.

Folder keduanya - ovf dan salinan terkompresi dari file gambar virtual (tanpa gambar besar) - berada di folder yang sama.

Memulihkan:

-> Mengimpor OVF ke ESXI dan mengunggah konfigurasi terkompresi (dari folder file yang dicadangkan) -> Mesin Virtual baik-baik saja lagi

ismail

Ismail
sumber
0

cpio dapat menyalin file jarang sambil mempertahankan "lubang" di dalamnya.

MattBianco
sumber
AFAIK, tidak ada alat yang dapat menangani file sparse.vmdk secara asli, selain vmkfstools, yang terbatas untuk menyalin file dalam sistem file lokal. Itu sebabnya kami membuat (c) XSIDiff sebagai bagian dari rangkaian alat kami untuk ESXi. Ini hanya menyalin blok yang digunakan seperti yang dilakukan vmkfstools, tetapi Anda dapat menyalin data melalui SSH dan juga sebagai aplikasi klien / server TCP / IP. Anda dapat mengunduh versi kerja gratis di sini: 33hops.com/download-xsidiff-trial.html
Daniel J.