Câu trả lời:
Lưu ý nhanh, thực tế có 3 chế độ, không phải hai chế độ khi nói đến trình điều khiển đang sử dụng:
Đối với khách Xen / DomU, bạn có thể thực hiện một thao tác rất cơ bản uname
và lsmod
với một grep để liệt kê các mô-đun đang sử dụng:
uname -a
lsmod | grep xen
Nếu uname -a
liệt kê một hạt nhân có chuỗi "xen" trong đó, thì bạn có một hạt nhân đã được sửa đổi và đó có thể là một khách PV và bạn sẽ thấy đầu ra từ lsmod
lệnh để xác nhận nó. Nếu bạn có đầu ra từ grep trên lsmod
nhưng không có dấu hiệu của kernel đã sửa đổi thì bạn là PV-HVM. Không có bất kỳ dấu hiệu nào, đó là một HVM thẳng.
Lưu ý: Nói chung, bạn có thể làm nhiều hơn với các máy ảo có cài đặt công cụ PV, vì vậy đó có thể là một con trỏ khá rõ ràng, tuy nhiên bạn có thể giả mạo sự hiện diện của các công cụ PV để cho phép tạm dừng / tiếp tục, v.v. .
Có một cách khác để phân tích uname -a
đầu ra từ bên trong miền khách. Bạn nên kiểm tra hồ sơ VM trong chính trình ảo hóa.
Với bộ công cụ XenLight hiện tại để cài đặt Xen độc lập, điều này có thể đạt được bằng cách chạy xl list --long
lệnh:
# 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",
...
},
...
}
}
]
Lưu ý type
mục trong c_info
phần - nếu nó bằng "pv"
, điều này có nghĩa là paravirtual.
Với bản cài đặt Xen độc lập cũ hơn sử dụng bộ xm
công cụ quản lý truyền thống , mọi thứ đều tương tự:
# xm list --long My-Virtual-Machine
(domain
(domid 42)
(name My-Virtual-Machine)
(image
(linux
(kernel ...)
...
)
)
...
)
Lưu ý (linux)
phần tử trong (image)
phần - nó tương ứng với builder
chỉ thị cấu hình, trong đó, linux linux có nghĩa là Paravirtual tựa (chứ không phải kernel thực tế), trong khi đó, hvm là viết tắt của cụm từ ảo hóa đầy đủ.
Với thiết bị XenServer hoặc XCP, bạn có thể sử dụng xe vm-list params=all
lệnh hoặc một cái gì đó tương tự.
Có thể có (hoặc đã) một số cách để có được thông tin này từ kho công cụ libvirt , nhưng tôi không biết.
Lưu ý rằng, bắt đầu với Xen 4.5, chế độ paravirtual trên x86-64 có hai hương vị:
Để kiểm tra xem máy chủ có chạy với PVH được kích hoạt hay không, người ta có thể sử dụng xl info
(mặc dù phương pháp này không tốt hơn kiểm tra grub.cfg ):
# xl info | grep xen_commandline
xen_commandline : pvh=1 loglvl=all guest_loglvl=all console=com1,vga
^^^^^
Để kiểm tra xem khách cụ thể có đang chạy trong chế độ PVH ( pvh=1
trong tệp cấu hình) không, hãy tham khảo lại xl list -l
:
"c_info":{
"name": "My-Virtual-Machine",
"type": "pv",
"pvh": "True",
...
},
Tuy nhiên, từ góc độ quản trị, PVH không nên khác với PV.
xm
lệnh nhưng xl
có đầu ra khác nhau. Bất kỳ ý tưởng làm thế nào để có được thông tin trên 4.4.1 XEN. Cảm ơn.
xl
, và chưa có đề cập đến xen trong tên hạt nhân hoặc mô-đun hạt nhân.