Аппаратная виртуализация

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Короткий URL: vt-x

Использование операционных систем в неизменном виде возможно при использовании процессоров с поддержкой виртуализации:

  • VT (Vanderpool) от Intel
  • SVM или AMD-V™ (Pacifica) от AMD

Указанные архитектурные расширения доступны в перечисленных ниже процессорах.

[править] AMD

Поддержка виртуализации на аппаратном уровне обеспечивается во всех процессорах серии AMD-V (SVM). Процессоры для рабочих станций должны работать с сокетом AM2 с поддержкой DDR2, иметь степпинг K8 Rev. F2 и выше (F3,G1,G2,Tri- и Quadcores) и при этом НЕ быть Sempron'ом.

В процессорах для ноутбуков поддержка виртуализации есть в моделях Turion 64 X2 и Turion Ultra.

Кроме того, поддержка виртуализации есть в AMD Opteron c DDR2 (серии 1000, 2000 и 8000).

Icon-caution.gif

Процессоры на Socket939 и Socket940 не поддерживают технологию SVM

[править] Intel

Процессоры Intel, поддерживающие аппаратную виртуализацию (Intel VT):

  • Intel® 2 Core(TM) Duo Extreme processor X6800
  • Intel® 2 Core(TM) Duo processor E6700, E6600, E6400, E6300
  • Intel® Core(TM) Duo processor T2600, T2500, T2400, L2300
  • Intel® Pentium® processor Extreme Edition 965, 955
  • Intel® Pentium® D processor 960, 950, 940, 930, 920
  • Intel® Pentium® 4 processor 672, 662
  • Intel® Xeon® processor 7041, 7040, 7030, 7020, 5080, 5063, 5060, 5050, 5030

Для использования технологии Intel VT необходим не только процессор с поддержкой виртуализации, но также и BIOS.

Постоянно обновляющийся список процессоров с поддержкой виртуализации находится здесь: [1].


Если у вас в системе установлен Linux, вы можете проверить, поддерживает ли ваш процессор архитектурные расширения следующим образом:

%# egrep flags.*'svm|vmx' /proc/cpuinfo

Должен быть не пустой результат.

Icon-caution.gif

Проверку можно выполнять только, когда ядро работает непосредственно на железе, потому что гипервизор скрывает флаги процессора, и правды вы таким образом не узнаете, если запустите команду из домена Xen (даже домена 0).

Пример для процессора Intel поддерживающего HVM:

%# grep flags /proc/cpuinfo
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 nx lm constant_tsc pni monitor ds_cpl 
                  vmx smx est tm2 ssse3 cx16 xtpr lahf_lm
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 nx lm constant_tsc pni monitor ds_cpl
                  vmx smx est tm2 ssse3 cx16 xtpr lahf_lm

В NetBSD проверить поддержку HVM-инструкций можно так:

%# cpuctl identify 1
cpu1: Intel Pentium III (Katmai) (686-class), 2666.51 MHz, id 0x1067a
cpu1: features 0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features 0xbfebfbff<PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX>
cpu1: features 0xbfebfbff<FXSR,SSE,SSE2,SS,HTT,TM,SBF>
cpu1: features2 0x408e3fd<SSE3,DTES64,MONITOR,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE41>
cpu1: features3 0x20000000<EM64T>
cpu1: "Intel(R) Core(TM)2 Quad CPU    Q9400  @ 2.66GHz"
cpu1: I-cache 32KB 64B/line 8-way, D-cache 32KB 64B/line 8-way
cpu1: ITLB 128 4KB entries 4-way
cpu1: DTLB 256 4KB entries 4-way, 32 4MB entries 4-way
cpu1: Initial APIC ID 2
cpu1: Cluster/Package ID 0
cpu1: Core ID 2
cpu1: family 06 model 07 extfamily 00 extmodel 01

В числе флагов features будет должно присутствовать VMX или SVM.