linux - virtualizador - ¿Existe un comando de SO que pueda ejecutar para determinar si se ejecuta dentro de una máquina virtual basada en Xen?
xen project (2)
¿Hay un comando del sistema operativo que pueda ejecutarse desde una máquina virtual basada en Xen para decirme que es una caja virtual en lugar de una caja física? Escuché que el kernel tenía alguna inteligencia de autoconciencia al respecto. Por ejemplo, como una columna extra en la salida "ps" o algo así? [Sé que vmstat proporciona la columna "st", pero he visto esto en cajas de hosts físicos que ejecutan Linux Kernel 2.6.11 y superior también].
Muchas gracias,
Pablo
Prueba el archivo /sys/hypervisor/uuid.
- No existe -> No relacionado con XEN.
- Existe, y está lleno de 0-s -> Es un Dom XEN
- Existe y tiene valores distintos a 0 -> Es un DomU
Esto requiere, por supuesto, que / sys esté montado y poblado ...
Dmesg puede dar algunas sugerencias del búfer de mensajes del kernel, aquí se muestra una instancia de Ubuntu virtualizada desde Slicehost:
bvm@qdbp:~$ sudo dmesg | grep Xen
[ 0.000000] Xen: 0000000000000000 - 00000000000a0000 (usable)
[ 0.000000] Xen: 00000000000a0000 - 0000000000100000 (reserved)
[ 0.000000] Xen: 0000000000100000 - 0000000010000000 (usable)
[ 0.000000] Booting paravirtualized kernel on Xen
[ 0.000000] Xen version: 3.1.2-rc1
[ 0.000000] Xen: using vcpu_info placement
[ 0.000000] Xen: using vcpuop timer interface
[ 0.000000] installing Xen timer for CPU 0
[ 0.021223] installing Xen timer for CPU 1
[ 0.046157] installing Xen timer for CPU 2
[ 0.046157] installing Xen timer for CPU 3
[ 0.265880] Initialising Xen virtual ethernet driver.