OVirt dalam 2 jam. Bagian 4. Operasi dasar

Hari ini kita melihat sejumlah operasi dasar yang perlu dilakukan oleh administrator lingkungan virtualisasi. Artikel ini merupakan kelanjutan dari seri oVirt: bagian 1 , bagian 2 dan bagian 3 :

Kandungan




Artikel


  1. pengantar
  2. Instalasi manajer (mesin ovirt) dan hypervisor (host)
  3. Pengaturan tambahan
  4. Operasi Dasar - We Are Here

Secara tradisional, untuk perincian tentang tugas-tugas administrasi, selamat datang di dokumentasi .

Saat memasuki oVirt Anda akan melihat 2 portal:

  • Portal administrasi
  • Portal VM

Yang pertama ditujukan untuk tugas administrator dan administrasi, yang kedua - untuk pelanggan mesin, tetapi juga dapat digunakan oleh administrator - beberapa fungsi bahkan lebih nyaman di sana.

Di bagian atas jendela dari setiap koleksi objek oVirt ada kotak pencarian yang kuat, dengan petunjuk kontekstual.

Sebagai contoh, memilih host masalah di panel kontrol sebenarnya menyebabkan filter:

status = unassigned or status = maintenance or status = installing or status = reboot or status = preparingformaintenance or status = pendingapproval or status = connecting or status = installingos or status = kdumping


Buat VM dan templat


Saya pikir Anda telah membuat VM sederhana di Bagian 2, sekarang kita akan mengenal entitas oVirt lain yang berhubungan langsung dengan mesin virtual - mesin virtual itu sendiri, templat dan kumpulan.

Templat adalah salinan mesin (biasanya disiapkan sebelumnya) yang dirancang untuk membuat mesin yang identik (kloning). Templat mungkin memiliki versi, karena itu nyaman, karena tidak perlu membuat templat terpisah baru setelah setiap pembaruan mesin referensi. Lebih detail dalam dokumentasi .

Kumpulan adalah sekelompok mesin identik yang dihasilkan dari satu templat. Nyaman untuk VDI (infrastruktur desktop virtual), ketika puluhan atau ratusan pengguna perlu menyediakan lingkungan kerja yang identik dan ini dilakukan secara harfiah dalam sekejap mata. Baca lebih lanjut tentang kumpulan dalam dokumentasi .

Mari kita membuat templat yang kita dapat mengkloning mesin yang dibuat sebelumnya, tetapi untuk demonstrasi kita akan pergi ke arah lain - impor templat dari koleksi eksternal Sekilas Gambar: Penyimpanan -> Domain -> repositori-ovirt-image-repositori (1), Impor (2):


Gbr. 1 - Impor gambar Fedora 32.

Kami menandai "Impor sebagai Templat" (3, Impor sebagai Templat), beri nama templat (4). Sangat disarankan agar disk diberi nama yang ramah (5, Disk Alias).

Kemajuan tugas dimonitor dengan mudah di bagian Tugas .


Ara. 2 - Kemajuan dalam menyelesaikan tugas di oVirt.

Setelah berhasil mengunggah, templat ditambahkan ke daftar.


Ara. 3 - Templat.

Berdasarkan templat yang dimuat, buat kumpulan:


Gbr. 4 - Membuat kolam.

Pergi ke Compute -> Pools (1), Baru (2), pilih template Fedora32 (3), versi - terbaru (4), tentukan nama "myPoolA- ??" (5) Kami belum menyentuh bidang Jumlah VM dan VM Prestarted, kami akan kembali ke mereka di langkah berikutnya. Selanjutnya, aktifkan pengaturan lanjutan (6) dan lanjutkan ke pengaturan Menjalankan Awal.


Ara. 4 - Konfigurasikan startup awal.

Karena dari Glance Images kami mengunduh Cloud Image, kita perlu mengonfigurasi otentikasi. Periksa bahwa β€œGunakan Cloud-Init / Sysprep” (1) diaktifkan, buka Otentikasi (2), tentukan nama pengguna, misalnya, root atau pengguna (3). Untuk membuat kata sandi unik untuk kumpulan ini, nonaktifkan "Gunakan Kata Sandi yang Sudah Dikonfigurasi" (4) dan masukkan kata sandi Anda (5). Klik "OK" - kolam dibuat, mesin identik muncul di Hitung -> Mesin Virtual (perhatikan ikon mereka, itu berbeda dari mesin yang bekerja secara terpisah).

Perhatikan nama kolam. Seperti yang Anda perhatikan, pada akhirnya adalah "- ??". Ini termasuk penomoran mesin "dinormalisasi" (ditambah dengan nol - 01, 02, ..., 09, 10, dll.) Jika tidak, penomoran akan menjadi bilangan alami tanpa penyejajaran (1, 2, ..., 9, 10, ...)
Sebelum melanjutkan, mari kembali ke pengaturan kolam. Perhatikan bahwa bidang "Jumlah VM" telah berubah menjadi "Tambah jumlah VM di kumpulan oleh." Kami menentukan 31 di sini dan jumlah mesin di kolam hampir secara instan menjadi 32. Sekarang di bidang "VM Prestarted" kita masukkan 16 - ini akan memaksa oVirt untuk menjaga jumlah mesin yang ditentukan dimulai dan siap untuk menghubungkan pengguna. Di sinilah kami akan menyelesaikan tentang mesin, templat, dan kumpulan dan beralih ke migrasi.

Ikon VM Utama:

  • unit rak - server;
  • monitor - desktop;
  • 3 menara - server dari kolam;
  • 3 monitor - desktop dari kolam;
  • rewind (rewind) - stateless (mesin me-reset statusnya ke kondisi semula setelah shutdown; semua perubahan dibatalkan);
  • segitiga di monitor oranye - perubahan konfigurasi yang diminta memerlukan reboot.


Migrasi VM (migrasi langsung)


Migrasi keadaan mesin yang diaktifkan sederhana - klik kanan pada mesin atau sekelompok mesin. Prosedurnya mirip dengan vMotion di vSphere.


Ara. 5 - Mulai migrasi.

Hitung -> Mesin Virtual, pilih satu atau beberapa mesin, Migrasikan.


Ara. 6 - Proses migrasi dapat diamati di host (Compute -> Hosts).

Pada suatu waktu, tidak lebih dari 2 mobil bergerak.

Migrasi penyimpanan


Tetapi prosedur ini mungkin tampak tidak biasa bagi pengguna VMware vSphere, karena pendekatan untuk menyimpan gambar disk dan konfigurasi mesin dalam sistem berbeda.
Untuk mentransfer penyimpanan VM, buka disk (Penyimpanan -> Disk) atau domain (Penyimpanan -> Domain -> {Nama Domain} -> Disk). Pilih drive dan tekan Pindahkan . Itu saja, drive dikirim ke penyimpanan lain.

Catatan: karena organisasi internal, ada batasan untuk memigrasi penyimpanan template dan kumpulan. Keakraban dengan migrasi penyimpanan paling baik dilakukan pada mesin terpisah, di luar kolam.
Penyalinan disk dilakukan dalam menu yang sama dengan pemuatan / pembongkaran manual.

Ganti nama VM dan disk


Mengubah nama mesin atau templat sangat sederhana - Edit dan masukkan nama baru. Mengganti nama pool memerlukan penghapusan mesin dan membuatnya kembali, karena berdasarkan itu VM dihasilkan dengan nama dan konfigurasi yang sesuai.

Mengganti nama disk juga dimungkinkan, tetapi jalurnya lebih panjang dari
e: Compute -> Virtual Machine -> {VM Name} -> Disk -> {VM Disk Alias} -> Edit, Alias.
Pengidentifikasi objek internal dibangun di atas UUID. Saat mengganti nama, kami benar-benar mengubah alias.

Bagian ini berkaitan dengan pembaruan, yang merupakan pembaruan (kecil), bukan pemutakhiran (utama), ketika nomor versi berubah (ini adalah prosedur yang lebih rumit dan bukan bagian dari tugas harian).

Perbarui oVirt-Host (hypervisor)


Pembaruan host lebih sederhana daripada di vSphere, manajer pembaruan di oVirt terintegrasi secara organik ke dalam platform dan tidak memerlukan pengaturan apa pun. Dokumentasi pembaruan resmi .


Ara. 7 - Jika ada pembaruan, manajer akan melaporkannya dengan ikon CD.


Ara. 8 - Sebelum memulai pembaruan, Anda harus mengaktifkan mode pemeliharaan (Manajemen -> Pemeliharaan), itu akan secara otomatis memulai migrasi VM ke host lain (lihat Gambar 6) dan bersiap untuk pembaruan.


Ara. 9 - Ikon kunci inggris menunjukkan bahwa tuan rumah siap untuk layanan.


Ara. 10 - Instalasi -> Peningkatan memulai prosedur peningkatan.


Ara. 11 - Kami dapat meminta manajer untuk memberi perintah kepada host untuk memulai kembali setelah pembaruan selesai, agar berlaku.


Ara. 12 - Setelah reboot, kami mengeluarkan hypervisor dari mode layanan (Manajemen -> Aktifkan).

Kami melewati semua host dan memperbaruinya.

Perbarui oVirt-Engine (manajer)


Pada awalnya, ini bisa membingungkan, tetapi pembaruan manajer dilakukan menggunakan pengaturan mesin, dengan langkah-langkah tambahan, seperti dijelaskan dalam dokumentasi .

  1. Jika memungkinkan, buat arsip atau snapshot mesin, pastikan cadangan terjadwal terakhir berhasil.
  2. Kami memeriksa dan memperbarui paket instalasi:

    $ sudo engine-upgrade-check
    $ sudo update ovirt\*setup\*
  3. Bagian utama dari pembaruan dilakukan oleh program pengaturan mesin. Dia akan mengajukan sejumlah pertanyaan konfigurasi, kemudian menghentikan layanan ovirt-engine, mengunduh dan menginstal paket yang diperbarui, membuat arsip dan memperbarui database, menerapkan konfigurasi yang diperbarui, dan memulai layanan ovirt-engine.

    $ sudo engine-setup

    Setelah pembaruan berhasil, kami akan menerima pesan:

    Execution of setup completed successfully

    Contoh output dari skrip pengaturan mesin
    $ sudo engine-setup

    [ INFO  ] Stage: Initializing
    [ INFO  ] Stage: Environment setup
              Configuration files: ['/etc/ovirt-engine-setup.conf.d/10-packaging-jboss.conf', '/etc/ovirt-engine-setup.conf.d/10-packaging.conf', '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf']
              Log file: /var/log/ovirt-engine/setup/ovirt-engine-setup-20200522232449-o97vyx.log
              Version: otopi-1.8.2 (otopi-1.8.2-1.el7)
    [ INFO  ] Stage: Environment packages setup
    [ INFO  ] Stage: Programs detection
    [ INFO  ] Stage: Environment setup (late)
    [ INFO  ] Stage: Environment customization
             
              --== PRODUCT OPTIONS ==--
             
             
              --== PACKAGES ==--
             
    [ INFO  ] Checking for product updates...
              Setup needs to install or update the following packages:
              [updated] ovirt-engine-4.3.5.5-1.el7.noarch will be updated
    ...
              [update] ovirt-engine-wildfly-overlay-17.0.1-1.el7.noarch is an update
              Replying "No" will abort Setup. You can pass the option "--offline" to prevent installing or updating packages.
              Do you wish to update them now? (Yes, No) [Yes]: 
    [ INFO  ] Checking for an update for Setup...
             
              --== NETWORK CONFIGURATION ==--
             
              Setup can automatically configure the firewall on this system.
              Note: automatic configuration of the firewall may overwrite current settings.
              NOTICE: iptables is deprecated and will be removed in future releases
              Do you want Setup to configure the firewall? (Yes, No) [Yes]: 
    [ INFO  ] firewalld will be configured as firewall manager.
             
              --== DATABASE CONFIGURATION ==--
             
              The detected DWH database size is 439 MB.
              Setup can backup the existing database. The time and space required for the database backup depend on its size. This process takes time, and in some cases (for instance, when the size is few GBs) may take several hours to complete.
              If you choose to not back up the database, and Setup later fails for some reason, it will not be able to restore the database and all DWH data will be lost.
              Would you like to backup the existing database before upgrading it? (Yes, No) [Yes]: 
              Perform full vacuum on the oVirt engine history
              database ovirt_engine_history@localhost?
              This operation may take a while depending on this setup health and the
              configuration of the db vacuum process.
              See https://www.postgresql.org/docs/10/sql-vacuum.html
              (Yes, No) [No]: 
             
              --== OVIRT ENGINE CONFIGURATION ==--
             
              Perform full vacuum on the engine database engine@localhost?
              This operation may take a while depending on this setup health and the
              configuration of the db vacuum process.
              See https://www.postgresql.org/docs/10/sql-vacuum.html
              (Yes, No) [No]: 
             
              --== STORAGE CONFIGURATION ==--
             
             
              --== PKI CONFIGURATION ==--
             
             
              --== APACHE CONFIGURATION ==--
             
             
              --== SYSTEM CONFIGURATION ==--
             
             
              --== MISC CONFIGURATION ==--
             
             
              --== END OF CONFIGURATION ==--
             
    [ INFO  ] Stage: Setup validation
              During execution engine service will be stopped (OK, Cancel) [OK]: 
    [ INFO  ] Cleaning stale zombie tasks and commands
             
              --== CONFIGURATION PREVIEW ==--
             
              Default SAN wipe after delete           : False
              Firewall manager                        : firewalld
              Update Firewall                         : True
              Host FQDN                               : ovirt.example.com
              Upgrade packages                        : True
              Set up Cinderlib integration            : False
              Engine database secured connection      : False
              Engine database user name               : engine
              Engine database name                    : engine
              Engine database host                    : localhost
              Engine database port                    : 5432
              Engine database host name validation    : False
              Engine installation                     : True
              PKI organization                        : JSC Open Lab
              Set up ovirt-provider-ovn               : False
              Configure WebSocket Proxy               : True
              DWH installation                        : True
              DWH database secured connection         : False
              DWH database host                       : localhost
              DWH database user name                  : ovirt_engine_history
              DWH database name                       : ovirt_engine_history
              Backup DWH database                     : True
              DWH database port                       : 5432
              DWH database host name validation       : False
              Configure Image I/O Proxy               : True
              Configure VMConsole Proxy               : True
             
              Please confirm installation settings (OK, Cancel) [OK]: 
    [ INFO  ] Cleaning async tasks and compensations
    [ INFO  ] Unlocking existing entities
    [ INFO  ] Checking the Engine database consistency
    [ INFO  ] Stage: Transaction setup
    [ INFO  ] Stopping engine service
    [ INFO  ] Stopping ovirt-fence-kdump-listener service
    [ INFO  ] Stopping dwh service
    [ INFO  ] Stopping Image I/O Proxy service
    [ INFO  ] Stopping vmconsole-proxy service
    [ INFO  ] Stopping websocket-proxy service
    [ INFO  ] Stage: Misc configuration (early)
    [ INFO  ] Stage: Package installation
    [ INFO  ] Yum Status: Downloading Packages
    ...
    [ INFO  ] Stage: Misc configuration
    [ INFO  ] Upgrading CA
    [ INFO  ] Not rewriting /etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf because it was changed manually. You might want to compare it with /etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf.new and edit as needed.
    [ INFO  ] Backing up database localhost:ovirt_engine_history to '/var/lib/ovirt-engine-dwh/backups/dwh-20200522233531.6LDItj.dump'.
    [ INFO  ] Creating/refreshing DWH database schema
    [ INFO  ] Configuring Image I/O Proxy
    [ INFO  ] Configuring WebSocket Proxy
    [ INFO  ] Backing up database localhost:engine to '/var/lib/ovirt-engine/backups/engine-20200522233538.LZCwME.dump'.
    [ INFO  ] Creating/refreshing Engine database schema
    [ INFO  ] Creating/refreshing Engine 'internal' domain database schema
              Unregistering existing client registration info.
    [ INFO  ] Generating post install configuration file '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf'
    [ INFO  ] Stage: Transaction commit
    [ INFO  ] Stage: Closing up
    [ INFO  ] Starting engine service
    [ INFO  ] Starting dwh service
    [ INFO  ] Restarting ovirt-vmconsole proxy service
             
              --== SUMMARY ==--
             
    [ INFO  ] Restarting httpd
              Web access is enabled at:
                  http://ovirt.example.com:80/ovirt-engine
                  https://ovirt.example.com:443/ovirt-engine
              SSH fingerprint: SHA256:JvilhbwRuMjBCJEjQVPlFQgk0aLaKz7Od0WzsZtx4j4
              Did not update /etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf because it was changed manually. You might want to compare it with /etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf.new and edit as needed.
             
              --== END OF SUMMARY ==--
             
    [ INFO  ] Stage: Clean up
              Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-setup-20200522232449-o97vyx.log
    [ INFO  ] Generating answer file '/var/lib/ovirt-engine/setup/answers/20200522233608-setup.conf'
    [ INFO  ] Stage: Pre-termination
    [ INFO  ] Stage: Termination
    [ INFO  ] Execution of setup completed successfully

  4. Kami memperbarui OS dan paket tambahan lainnya:
    $ sudo yum update

    Jika perlu (memperbarui kernel atau komponennya) kami me-reboot mesin.


Impor VM


Anda dapat mengimpor dari VMware, Ekspor Domain (entitas khusus untuk bertukar gambar antara Pusat Data), Peralatan Virtual (OVA), XEN, KVM. Semua opsi yang didukung secara resmi:

  1. Impor VM dari VMware ESXi / VSPHERE berjalan di host + otentikasi ke host di mana ESXi / VSPHERE berjalan di
  2. Impor KVM / Xen VM dari Libvirt: Pengguna menentukan URL + otentikasi ke host tempat Libvirt berjalan
  3. Impor KVM / Xen VM dari jalur yang diberikan: Pengguna menentukan jalur nfs / posix ke konfigurasi VM & disk
  4. Impor VM yang diekspor dari VMware: Pengguna menentukan jalur nfs / posix ke file ova
  5. Unggah KVM / Xen VM: Pengguna menentukan file konfigurasi dan disk
  6. Unggah VM yang diekspor dari VMware: Pengguna menentukan file ova
  7. Impor VM dari folder: Pengguna menentukan jalur ke folder yang berisi KVM / Xen VM atau VM yang diekspor dari VMware

Mari kita bahas 2 opsi - impor dari vSphere dan mesin yang berdiri sendiri dengan KVM. Untuk memulai materi impor dalam Hitung -> Mesin Virtual, klik tombol untuk item menu tambahan (3 titik vertikal, lihat Gambar 13). Mesin sumber harus dimatikan.

Impor mesin dari vCenter


Dalam panduan:

  • Sumber Data: VMware;
  • Penyedia Eksternal: dalam Administrasi -> Penyedia Anda dapat mengkonfigurasi template untuk operasi yang sering;
  • vCenter: nama atau alamat server vCenter;
  • ESXi: dari mana hypervisor akan kita ambil mobilnya;
  • Data Ceter: path lengkap ke cluster;
  • Cluster: mengandung cluster hypervisor;
  • Nama pengguna / kata sandi: nama pengguna dan kata sandi untuk menghubungkan ke vCenter;
  • Verifikasi sertifikat SSL server: ketika menggunakan sertifikat yang ditandatangani sendiri, Anda harus menonaktifkan verifikasi mereka.


Ara. 13 - Impor VM dari VMware vSphere.

Mesin impor dari KVM


Detail tentang mengimpor dari KVM dalam dokumentasi .

Pertama, Anda harus mengaktifkan koneksi ke KVM dari luar, jika ini belum dikonfigurasi sebelumnya.

Izin untuk mengekspor mesin ke KVM
, . ! , , , . , ., ArchLinux.

, libvirtd

$ sudo vim /etc/sysconfig/libvirtd



LIBVIRTD_ARGS="--listen"



$ sudo cp /etc/libvirt/libvirtd.conf /etc/libvirt/libvirtd.conf.`date +%F`
$ sudo vim /etc/libvirt/libvirtd.conf

:

listen_tls = 0
listen_tcp = 1
listen_addr = "0.0.0.0"
auth_tcp = "none"



log_outputs="3:syslog:libvirtd"

libvirtd. , libvirtd > 0.6 ( libvirtd --version), .

$ sudo service libvirtd restart

tcp:16509.

CentOS 7 ( permanent):

$ sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="172.17.71.32/30" port port="16509" protocol="tcp" accept'

:

$ virsh -r -c 'qemu+tcp://mgmt@kvm46.example.com/system' list --all


Selanjutnya, impor itu sendiri sangat sederhana:

Hitung -> Mesin Virtual ->: (menu tambahan, 3 titik vertikal) -> Impor -> Sumber (KVM via libvirt) -> URI (qemu + tcp: //kvm46.example.com / sistem) -> Memerlukan Otentikasi (Nonaktifkan) -> Muat.

Kami menandai mesin yang diperlukan, pilih kebijakan alokasi (Kebijakan Alokasi).

Kebijakan Alokasi - Preallocated lebih disukai untuk volume penyimpanan dengan deteksi nol perangkat keras, untuk volume dengan I / O tinggi, volume dengan hunian tinggi, dll., Jika tidak disediakan secara tipis. Bagaimanapun, kami melihat situasi dan menganalisisnya.

"Klon" yang dicentang telah dicentang, tetapi tidak menyalin mobil. Misalnya, alamat MAC baru untuk antarmuka jaringan akan ditetapkan.

Pada tab Umum, penting untuk menentukan jenis OS yang benar, dan pada tab Antarmuka Jaringan, Anda dapat menentukan jaringan yang diinginkan. Selanjutnya, "impor", dan, tergantung pada kecepatan peralatan, kami mendapatkan mesin yang diimpor. Setelah mengimpor (atau sebelumnya) jangan lupa untuk menginstal ovirt-guest-agent.


Manajemen tugas


Ketika tugas membeku, "tarian" yang sulit dimulai, beberapa di antaranya akan saya coba sentuh. Dengan perilaku teratur, seseorang dapat mengamati mereka pada Gambar. 2.

Jika tugas dilakukan lebih atau kurang secara normal, alat biasa sudah cukup. Dengan pimers dan gambar Anda dapat melihat di sini .

Tugas dilakukan pada host oVirt.

[mgmt@ovirt-nodeNN] $ sudo vdsm-client Host getAllTasksInfo
[mgmt@ovirt-nodeNN] $ sudo vdsm-client Task getStatus taskID=<TASKID>
[mgmt@ovirt-nodeNN] $ sudo vdsm-client Task stop taskID=<TaskID>
[mgmt@ovirt-nodeNN] $ sudo vdsm-client Task clear taskID=<TaskID>
[mgmt@ovirt-nodeNN] $ sudo vdsm-client Host getAllTasksInfo

Selain itu, vdsm-client dapat mencoba untuk memutar kembali tugas, semua metode yang didukung:

$ sudo vdsm-client Task -h

...
Metode tugas :
metode [arg = nilai]
getStatus Dapatkan informasi status Tugas.
kembalikan Rollback a Task untuk mengembalikan status sistem sebelumnya.
hapus Buang informasi tentang Tugas yang sudah selesai.
getInfo Dapatkan informasi tentang Tugas.
stop Menghentikan Tugas yang sedang berjalan.

Namun, gerakan menjadi lebih rumit jika tugas tidak dapat dihentikan menggunakan metode standar.
Secara resmi, alat pemberi tugas digunakan untuk ini:

[mgmt@ovirt-engine] $ sudo /usr/share/ovirt-engine/setup/dbutils/taskcleaner.sh --help

Untuk kasus yang lebih parah, diperlukan pengeditan langsung basis data. Metode ini harus digunakan hanya sebagai upaya terakhir, memiliki arsip segar oVirt dan mesin yang terpengaruh.

Jadi, kami menghubungkan koleksi perangkat lunak

[mgmt@ovirt-engine] $ sudo scl enable rh-postgresql10 "psql -d engine -U postgres"

Selanjutnya, sambungkan ke database

su postgres
psql -d engine -U postgres
select * from job order by start_time desc;

Dan penghapusan langsung - menjalankan prosedur DeleteJob untuk tugas yang bermasalah:

select DeleteJob('UUID_HERE');

Contoh:

select DeleteJob('ed0127c7-b052-4ec2-a67c-8b3a65d55e19');

Itu saja untuk hari ini, dan saya harap Anda tidak perlu mengedit database secara manual!

All Articles