Узнайте, поддерживает ли процессор технологию виртуализации (VT)
Мы уже знали, как проверить, является ли ОС Linux 32-битной или 64-битной и как определить, является ли система Linux физической или виртуальной машиной. Сегодня мы собираемся изучить еще одну полезную тему: как определить, поддерживает ли процессор технологию виртуализации (VT) или нет. Это первый шаг, который вам следует сделать перед установкой приложений виртуализации, таких как KVM, Proxmox, Gnome Boxes, Quickemu. >, VirtualBox и VMWare для запуска виртуальных машин в вашей системе Linux. Теперь давайте продолжим и выясним, поддерживает ли наш процессор VT или нет.
Узнайте, поддерживает ли процессор технологию виртуализации (VT) в Linux
Мы можем проверить, поддерживает ли наш процессор VT различными способами. Здесь я перечислил четыре метода.
Способ 1: использование команды egrep
Egrep — это один из вариантов утилиты командной строки Grep, которая используется для поиска текстовых файлов с помощью регулярных выражений.
Чтобы узнать, поддерживает ли ваш процессор VT, используйте команду egrep, запустите:
egrep "(svm|vmx)" /proc/cpuinfo
Эта команда создаст файл /cpu/procinfo
и покажет, поддерживает ли процессор VT или нет.
Пример вывода:
В выходных данных вы получите либо "vmx" (технология Intel-VT), либо "svm" (поддержка AMD-V).
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
[...]
Поскольку вывод очень длинный, может быть сложно найти слова «vmx» или «svm». Не беспокойся! Вы можете различать эти термины цветами, как показано ниже.
egrep --color -i "svm|vmx" /proc/cpuinfo
Пример вывода:
Узнайте, поддерживает ли процессор виртуализацию с помощью команды egrep в Linux
Если вы не получаете никаких результатов, это означает, что ваша система не поддерживает виртуализацию.
Обратите внимание, что эти флаги ЦП (vmx или svm) в файле /proc/cpuinfo
указывают на то, что ваша система будет поддерживать VT. В некоторых моделях ЦП поддержка VT может быть отключена в BIOS по умолчанию. В таких случаях вам следует проверить настройки BIOS, чтобы включить поддержку VT.
Способ 2. Использование команды lscpu
Команда lscpu
используется для отображения информации об архитектуре вашего процессора. Он собирает информацию из файлов sysfs
, /proc/cpuinfo
и отображает количество процессоров, потоков, ядер, сокетов и узлов неоднородного доступа к памяти (NUMA) вашего компьютера. хост-система.
Чтобы узнать, включена поддержка VT или нет, просто запустите:
lscpu
Узнайте, поддерживает ли процессор виртуализацию с помощью команды lscpu в Linux
Способ 3 — Использование утилиты CPU-checker
Cpu-checker — еще одна полезная утилита для проверки вашего процессора на поддержку виртуализации. Насколько я искал в Интернете, эта утилита доступна только для систем на базе Ubuntu. Чтобы установить его, запустите:
sudo apt-get install cpu-checker
После установки пакета cpu-checker выполните следующую команду, чтобы проверить, включена ли поддержка VT:
kvm-ok
Если ваш процессор поддерживает VT, вы получите следующий вывод:
INFO: /dev/kvm exists
KVM acceleration can be used
Узнайте, поддерживает ли процессор виртуализацию с помощью cpu-checker
Если ваш процессор не поддерживает VT, вы увидите вывод, подобный приведенному ниже.
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
Способ 4. Использование инструмента virt-host-validate
Этот инструмент специально предназначен для дистрибутивов на основе RHEL, таких как CentOS и Scientific Linux. Пакет libvirt-client предоставляет двоичный файл virt-host-validate. Поэтому вам необходимо установить пакет «libvert-client», чтобы использовать этот инструмент.
sudo yum install libvirt-client
Теперь запустите команду «virt-host-validate», чтобы узнать, включено ли VT в ваших системах на базе RHEL.
sudo virt-host-validate
Если вы получили прошел для всех результатов, ваша система поддерживает 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
Если ваша система не поддерживает VT, вы увидите результат, как показано ниже.
QEMU: Checking for hardware virtualization : FAIL (Only emulated CPUs are available, performance will be significantly limited)
[...]
Заключение
В этом руководстве мы обсудили различные способы узнать, поддерживает ли процессор VT или нет. Как уже упоминалось, перед установкой каких-либо гипервизоров необходимо обязательно проверить, поддерживает ли ваш процессор аппаратную виртуализацию.