Tentukan tamu mana yang berjalan pada tamu XEN: HVM atau PV
9
Saya bekerja dengan host Xen yang menginstal XenServer dari Citrix oleh seseorang. Dia sudah menginstal banyak tamu CentOS 5.2 di host. Saya ingin tahu bagaimana cara memeriksa tamu-tamu itu untuk mengetahui bahwa mereka adalah tipe PV atau tipe HVM?
Catatan singkat, sebenarnya ada 3 mode, bukan dua dalam hal driver yang digunakan:
HVM: kernel dan driver yang tidak dimodifikasi menggunakan perangkat emulasi perangkat
PV-HVM: kernel yang tidak dimodifikasi dengan disk dan driver jaringan paravirtualual (khusus Xen)
PV: kernel dan driver yang dimodifikasi
Untuk tamu Xen / DomU Anda dapat melakukan yang sangat mendasar unamedan lsmoddengan grep untuk membuat daftar modul yang digunakan:
uname -a
lsmod | grep xen
Jika uname -amencantumkan kernel dengan string "xen" di dalamnya, maka Anda memiliki kernel yang dimodifikasi dan kemungkinan adalah tamu PV, dan Anda akan melihat output dari lsmodperintah untuk mengonfirmasi. Jika Anda memiliki output dari grep on lsmodtetapi tidak ada tanda-tanda kernel yang dimodifikasi maka Anda adalah PV-HVM. Tanpa tanda-tanda baik, itu adalah HVM lurus.
Catatan: Secara umum Anda dapat melakukan lebih banyak dengan VM yang memiliki alat PV diinstal, sehingga bisa menjadi pointer yang cukup jelas, namun Anda dapat memalsukan keberadaan alat PV untuk memungkinkan menangguhkan / melanjutkan dll sehingga Anda tidak dapat mengandalkan itu pada umumnya .
Terima kasih @Adam. Ini jawaban paling jelas yang saya temukan sejauh ini.
Ha Son Hai
10
Ada alternatif yang lebih baik untuk menganalisis uname -akeluaran dari dalam domain tamu. Anda sebaiknya memeriksa profil VM di hypervisor itu sendiri.
XL
Dengan toolstack XenLight saat ini untuk instalasi Xen mandiri, ini dapat dicapai dengan menjalankan xl list --longperintah:
# xl list
Name ID Mem VCPUs State Time(s)
My-Virtual-Machine 42 1024 1 -b---- 9001.0
# xl list -l 42
or
# xl list --long My-Virtual-Machine
[
{
"domid": 6,
"config": {
"c_info": {
"name": "My-Virtual-Machine",
"uuid": "12345678-abcd-1234-abcd-12345678abcd",
"type": "pv",
...
},
...
}
}
]
Perhatikan typeitem di c_infobagian - jika sama "pv", ini berarti paravirtual.
XM
Dengan instalasi Xen mandiri yang lebih lama menggunakan xmtoolstack manajemen tradisional , semuanya serupa:
Perhatikan (linux)elemen di (image)bagian - ini sesuai dengan builderdirektif konfigurasi, di mana "linux" berarti "paravirtual" (bukan kernel sebenarnya), sementara "hvm" adalah singkatan dari "virtualisasi penuh".
XE
Dengan XenServer atau XCP alat Anda bisa menggunakan xe vm-list params=allperintah atau sesuatu yang sama.
virsh
Mungkin ada (atau telah) beberapa cara untuk mendapatkan informasi ini dari libvirt toolstack, tetapi tidak saya ketahui.
Perhatikan bahwa, dimulai dengan Xen 4.5, mode paravirtual pada x86-64 memiliki dua rasa:
paravirtualization klasik (PV) yang mengandalkan sistem tamu untuk ditulis ulang dari menggunakan ring 0 menuju ring 1; karena AMD telah membuang ring 1 dan ring 2 di x86-64, Xen harus kembali ke manajemen berbasis perangkat lunak, yang bahkan lebih lambat dari HVM;
hardware-assisted paravirtualization (PVH), - jangan dikelirukan dengan sepenuhnya tervirtualisasi dengan driver paravirtual (PV-on-HVM), - yang mengandalkan bantuan perangkat keras untuk menangani instruksi khusus dan tabel halaman memori, tetapi menggunakan teknik PV tradisional untuk yang lainnya , sehingga tidak ada perangkat keras yang ditiru dan kinerja mendekati pribumi tercapai seperti pada x86-32 yang baik.
Untuk memeriksa apakah host berjalan dengan PVH diaktifkan, seseorang dapat menggunakan xl info(walaupun metode ini tidak lebih baik dari memeriksa grub.cfg ):
Ini tidak berfungsi pada 4.4.1 karena tidak ada xmperintah tetapi xlyang memiliki keluaran berbeda. Tahu cara mendapatkan info di 4.4.1 XEN. Terima kasih.
Wakan Tanka
@WakanTanka Saat ini saya tidak memiliki akses ke server Xen yang berfungsi, tetapi menurut sampel keluaran yang ditemukan secara online pendekatannya pada dasarnya sama. Lihat jawaban yang diperbarui.
Anton Samsonov
Ini adalah pendekatan yang jauh lebih baik daripada jawaban @ AdamC, karena saya memiliki beberapa tamu PV ubuntu yang pasti PV menurut xl, dan belum menyebutkan xen dalam nama kernel atau modul kernel.
Nama Palsu
2
Ini membutuhkan akses ke hypervisor, bagaimana orang bisa tahu jika dia hanya memiliki akses ke tamu?
Ada alternatif yang lebih baik untuk menganalisis
uname -a
keluaran dari dalam domain tamu. Anda sebaiknya memeriksa profil VM di hypervisor itu sendiri.XL
Dengan toolstack XenLight saat ini untuk instalasi Xen mandiri, ini dapat dicapai dengan menjalankan
xl list --long
perintah:Perhatikan
type
item dic_info
bagian - jika sama"pv"
, ini berarti paravirtual.XM
Dengan instalasi Xen mandiri yang lebih lama menggunakan
xm
toolstack manajemen tradisional , semuanya serupa:Perhatikan
(linux)
elemen di(image)
bagian - ini sesuai denganbuilder
direktif konfigurasi, di mana "linux" berarti "paravirtual" (bukan kernel sebenarnya), sementara "hvm" adalah singkatan dari "virtualisasi penuh".XE
Dengan XenServer atau XCP alat Anda bisa menggunakan
xe vm-list params=all
perintah atau sesuatu yang sama.virsh
Mungkin ada (atau telah) beberapa cara untuk mendapatkan informasi ini dari libvirt toolstack, tetapi tidak saya ketahui.
Perhatikan bahwa, dimulai dengan Xen 4.5, mode paravirtual pada x86-64 memiliki dua rasa:
Untuk memeriksa apakah host berjalan dengan PVH diaktifkan, seseorang dapat menggunakan
xl info
(walaupun metode ini tidak lebih baik dari memeriksa grub.cfg ):Untuk memeriksa apakah tamu tertentu berjalan dalam mode PVH (
pvh=1
dalam file konfigurasi), sekali lagi, lihatxl list -l
:Namun, dari perspektif administrasi, PVH seharusnya tidak berbeda dengan PV.
sumber
xm
perintah tetapixl
yang memiliki keluaran berbeda. Tahu cara mendapatkan info di 4.4.1 XEN. Terima kasih.xl
, dan belum menyebutkan xen dalam nama kernel atau modul kernel.