Ya sabíamos cómo comprobar si un sistema operativo Linux es de 32 bits o de 64 bits y cómo encontrar si un sistema Linux es una máquina física o virtual . Hoy, vamos a aprender otro tema útil, es decir, cómo saber si una CPU es compatible con la tecnología de virtualización (VT) o no. Esto debería ser lo primero que desee verificar antes de instalar aplicaciones de virtualización como KVM o VirtualBox o VMWare estación de trabajo para ejecutar máquinas virtuales en su sistema Linux. Ahora vamos a averiguar si nuestra computadora es compatible con VT o no.
Averigüe si una CPU es compatible con la tecnología de virtualización (VT) en Linux
Podemos verificar si nuestra CPU admite VT en varios métodos. Aquí he enumerado cuatro métodos.
Método 1:Usando el comando "egrep"
Egrep es una de las variantes de Grep utilidad de línea de comandos que se utiliza para buscar archivos de texto con expresiones regulares.
Para averiguar si su CPU es compatible con VT usando el comando egrep, ejecute:
$ egrep "(svm|vmx)" /proc/cpuinfo
Este comando grep /cpu/procinfo/ archivo y muestra si la CPU es compatible con VT o no.
Salida de muestra:
Obtendrá "vmx" (tecnología Intel-VT) o "svm" (Compatibilidad con AMD-V) en la salida.
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm epb pti tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts [...]
Dado que la salida es muy larga, puede ser un poco difícil encontrar las palabras "vmx" o "svm". ¡No hay problema! Puede distinguir esos términos con colores como los siguientes.
$ egrep --color -i "svm|vmx" /proc/cpuinfo
Salida de muestra:
Averigüe si una CPU admite la virtualización mediante el comando egrep en Linux
Si no obtiene ningún resultado, significa que su sistema no es compatible con la virtualización.
Tenga en cuenta que estos indicadores de CPU (vmx o svm) en /proc/cpuinfo El archivo indica que su sistema admitirá VT. En algunos modelos de CPU, la compatibilidad con VT puede estar deshabilitada en el BIOS de manera predeterminada. En tales casos, debe verificar la configuración de su BIOS para habilitar la compatibilidad con VT.
Método 2:usar el comando "lscpu"
El comando "lscpu" se usa para mostrar la información sobre la arquitectura de su CPU. Recopila información del archivo sysfs, /proc/cpuinfo y muestra la cantidad de CPU, subprocesos, núcleos, sockets y nodos de acceso a memoria no uniforme (NUMA) de su sistema host.
Para saber si el soporte de VT está habilitado o no, simplemente ejecute:
$ lscpu
Averigüe si una CPU admite la virtualización mediante el comando lscpu en Linux
Método 3:uso de la utilidad "Cpu-checker"
Comprobador de CPU es otra utilidad útil para probar su CPU para soporte de virtualización. Por lo que busqué en la web, esta utilidad está disponible solo para sistemas basados en Ubuntu. Para instalarlo, ejecute:
$ sudo apt-get install cpu-checker
Una vez que se haya instalado el paquete cpu-checker, ejecute el siguiente comando para verificar si la compatibilidad con VT está habilitada o no:
$ kvm-ok
Si su CPU es compatible con VT, obtendrá el siguiente resultado:
INFO: /dev/kvm exists KVM acceleration can be used
Averigüe si una CPU admite la virtualización usando cpu-checker
Si su CPU no es compatible con VT, verá una salida similar a la siguiente.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
Método 4:uso de la herramienta "virt-host-validate"
Esta herramienta es específicamente para distribuciones basadas en RHEL como CentOS y Scientific Linux. El cliente de libvirt el paquete proporciona virt-host-validate binario. Por lo tanto, debe instalar el paquete "libvert-client" para usar esta herramienta.
$ sudo yum install libvirt-client
Ahora, ejecute el comando "virt-host-validate" para averiguar si VT está habilitado o no en sus sistemas basados en RHEL.
$ sudo virt-host-validate
Si obtienes aprobado para todos los resultados, su sistema es compatible con VT.
QEMU: Checking for hardware virtualization : PASS QEMU: Checking if device /dev/vhost-net exists : PASS QEMU: Checking if device /dev/net/tun exists : PASS QEMU: Checking for cgroup 'memory' controller support : PASS QEMU: Checking for cgroup 'memory' controller mount-point : PASS QEMU: Checking for cgroup 'cpu' controller support : PASS QEMU: Checking for cgroup 'cpu' controller mount-point : PASS QEMU: Checking for cgroup 'cpuacct' controller support : PASS QEMU: Checking for cgroup 'cpuacct' controller mount-point : PASS QEMU: Checking for cgroup 'cpuset' controller support : PASS QEMU: Checking for cgroup 'cpuset' controller mount-point : PASS QEMU: Checking for cgroup 'devices' controller support : PASS QEMU: Checking for cgroup 'devices' controller mount-point : PASS QEMU: Checking for cgroup 'blkio' controller support : PASS QEMU: Checking for cgroup 'blkio' controller mount-point : PASS QEMU: Checking for device assignment IOMMU support : PASS LXC: Checking for Linux >= 2.6.26 : PASS LXC: Checking for namespace ipc : PASS LXC: Checking for namespace mnt : PASS LXC: Checking for namespace pid : PASS LXC: Checking for namespace uts : PASS LXC: Checking for namespace net : PASS LXC: Checking for namespace user : PASS LXC: Checking for cgroup 'memory' controller support : PASS LXC: Checking for cgroup 'memory' controller mount-point : PASS LXC: Checking for cgroup 'cpu' controller support : PASS LXC: Checking for cgroup 'cpu' controller mount-point : PASS LXC: Checking for cgroup 'cpuacct' controller support : PASS LXC: Checking for cgroup 'cpuacct' controller mount-point : PASS LXC: Checking for cgroup 'cpuset' controller support : PASS LXC: Checking for cgroup 'cpuset' controller mount-point : PASS LXC: Checking for cgroup 'devices' controller support : PASS LXC: Checking for cgroup 'devices' controller mount-point : PASS LXC: Checking for cgroup 'blkio' controller support : PASS LXC: Checking for cgroup 'blkio' controller mount-point : PASS
Si su sistema no es compatible con VT, verá un resultado como el siguiente.
QEMU: Checking for hardware virtualization : FAIL (Only emulated CPUs are available, performance will be significantly limited) [...]
Y, eso es todo por ahora. En esta guía, hemos discutido varios métodos para saber si una CPU es compatible con VT o no. Como puedes ver, fue muy fácil. Espero que esto haya sido útil.