Pregunta Instalación de medios de marca OEM de Windows Server 2008 bajo KVM


Problema

Tengo un servidor HP que viene con una copia OEM de Windows Server 2008. He instalado CentOS 5.4 en el hardware y estoy tratando de instalar Windows Server 2008 como invitado KVM. Cuando intento instalar Windows Server 2008, se queja de que estoy intentando instalar en un hardware no compatible. Este problema se debe a que la información de hardware SMBIOS no se pasa al invitado KVM.

Fondo

Antes de continuar, quiero decir que lo que estoy tratando de hacer es dentro de la licencia. HP ofrece una solución compatible para VMWare pero no tiene una solución oficial para KVM. Después de mucha investigación, la plataforma que voy a utilizar es CentOS y KVM, así que no sugiera otras plataformas.

Envié un correo electrónico a la lista de correo de los desarrolladores de KVM y me dijeron que esto es posible y me dieron el consejo de que:

"Puede volcar la tabla SLIC de su bios host y proporcionársela a bios invitados   utilizando el parámetro -acpitable ".

Utilicé dmidecode y obtuve los parámetros que se deben pasar, pero no sé a dónde pasarlos.

Actualizar

Parece que CentOS 5.4 usa virt-install en lugar de qemu. Qemu está en el administrador de paquetes y pude instalarlo después de desinstalar qemu-img (están en conflicto y qemu contiene los paquetes en qemu-img). Así que ahora sé cómo pasar los parámetros aceptables, pero tengo problemas para mapear lo que salió de dmidecode en -acitable.


5
2018-03-09 15:57


origen




Respuestas:


Es posible que también tenga que usar los controladores firmados por MS con el invitado KVM. http://www.linux-kvm.com/content/tip-how-setup-windows-guest-paravirtual-network-drivers http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

Sé que los controladores provistos con RHEV están firmados, no muy seguros de CentOS


0
2018-03-10 20:55





Perdón por desenterrar el viejo tema, pero descubrí que esto es posible:

El problema con los medios de marca es que la máquina virtual BIOS de KVM se envía con diferentes tablas ACPI. El instalador por otro lado lo valida. Al momento de escribir esto, estoy usando Debian 8 con virtlib 1.2.9 y qemu-system-x86 1.7.0 (qemu-kvm).

Así que simplemente necesitas tener ACPI emparejado (dmidecode -t 0 y dmidecode -t 1) tablas en VM para hacerlo.

Esas tablas para Lenovo se parecen a:

# dmidecode 2.12
SMBIOS 2.8 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: LENOVO
        Version: FBKTB4AUS
        Release Date: 07/01/2015
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 6656 kB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                BIOS ROM is socketed
                EDD is supported
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.180
        Firmware Revision: 1.13

# dmidecode 2.12
SMBIOS 2.8 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 30AH001GPB
        Version: ThinkStation P300
        Serial Number: S4M88119
        UUID: CECF333D-6603-E511-97D5-6C0B843F98BA
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_30AH
        Family: To be filled by O.E.M.

Para HP:

# dmidecode 2.11                                                                                                                                                                   
SMBIOS 2.7 present.                                                                                                                                                                

Handle 0x0000, DMI type 0, 24 bytes                                                                                                                                                
BIOS Information                                                                                                                                                                   
        Vendor: HP
        Version: W07
        Release Date: 05/05/2011
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 8192 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                ESCD support is available
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
        Firmware Revision: 2.23

# dmidecode 2.11
SMBIOS 2.7 present.

Handle 0x0100, DMI type 1, 27 bytes
System Information
        Manufacturer: HP
        Product Name: ProLiant ML330 G6
        Version: Not Specified
        Serial Number: CZ104601XF      
        UUID: 30303734-3536-5A43-3130-343630315846
        Wake-up Type: Power Switch
        SKU Number: 470065-183      
        Family: ProLiant

Para IBM:

# dmidecode 2.12
# SMBIOS entry point at 0x7f6be000
SMBIOS 2.5 present.

Handle 0x002F, DMI type 0, 24 bytes
BIOS Information
        Vendor: IBM Corp.
        Version: -[D6E154AUS-1.13]-
        Release Date: 09/23/2011
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 4096 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                3.5"/2.88 MB floppy services are supported (int 13h)                                                                                                               
                Print screen service is supported (int 5h)                                                                                                                         
                8042 keyboard services are supported (int 9h)                                                                                                                      
                Serial services are supported (int 14h)                                                                                                                            
                CGA/mono video services are supported (int 10h)                                                                                                                    
                ACPI is supported                                                                                                                                                  
                USB legacy is supported                                                                                                                                            
                LS-120 boot is supported                                                                                                                                           
                ATAPI Zip drive boot is supported                                                                                                                                  
                Function key-initiated network boot is supported                                                                                                                   
                Targeted content distribution is supported                                                                                                                         
        BIOS Revision: 0.0                                                                                                                                                         
        Firmware Revision: 0.0                                                                                                                                                     

# dmidecode 2.12                                                                                                                                                                   
# SMBIOS entry point at 0x7f6be000                                                                                                                                                 
SMBIOS 2.5 present.                                                                                                                                                                

Handle 0x0030, DMI type 1, 27 bytes                                                                                                                                                
System Information                                                                                                                                                                 
        Manufacturer: IBM                                                                                                                                                          
        Product Name: System x3650 M3 -[7945J4G]-                                                                                                                                  
        Version: 00                                                                                                                                                                
        Serial Number: KD50NCR                                                                                                                                                     
        UUID: 49B2EFEE-5E45-3522-8FE3-C230FF137F25                                                                                                                                 
        Wake-up Type: Other
        SKU Number: XxXxXxX
        Family: System x

Tuve que instalar los medios de la marca Lenovo 2012 Fundation en el hardware de Lenovo.

Lo logré agregando a los parámetros qemu:

-smbios type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300 -acpitable file=/var/lib/libvirt/images/slic.bin -acpitable file=/var/lib/libvirt/images/msdm.bin

O agregando al archivo xml VM de libvirtd:

<domain type='kvm' id='18' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
#                           ^^^ be aware of XML's namespace for the prefixes ^^^
#                               without it qemu:arg tag won't work
...
  <qemu:commandline>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300'/>
    <qemu:arg value='-acpitable'/>
    <qemu:arg value='file=/var/lib/libvirt/images/slic.bin'/>
    <qemu:arg value='-acpitable'/>
    <qemu:arg value='file=/var/lib/libvirt/images/msdm.bin'/>
  </qemu:commandline>
</domain>

También hay una forma más elegante de hacerlo, pero desafortunadamente mi libvirt no quería pasar las tablas ACPI a la VM:

<os>
....
<sysinfo type='smbios'>
 <bios>
  <entry name='vendor'>LENOVO</entry>
 </bios>
 <system>
  <entry name='manufacturer'>HP</entry>
  <entry name='product'>30AH001GPB</entry>
  <entry name='serial'>S4M88119</entry>
  <entry name='sku'>LENOVO_MT_30AH</entry>
 </system>
</sysinfo>
</os>

¿Cómo crear volcado de tabla ACPI? Simplemente:

root@node0:/sys/firmware/acpi/tables# ls -l
total 0
-r-------- 1 root root    146 Sep 23 13:44 APIC
-r-------- 1 root root    165 Sep 23 13:44 ASF!
-r-------- 1 root root     56 Sep 23 13:44 BGRT
-r-------- 1 root root     52 Sep 23 13:44 DBGP
-r-------- 1 root root    184 Sep 23 13:44 DMAR
-r-------- 1 root root  96238 Sep 23 13:44 DSDT
drwxr-xr-x 2 root root      0 Sep 23 13:44 dynamic
-r-------- 1 root root    268 Sep 23 13:44 FACP
-r-------- 1 root root     64 Sep 23 13:44 FACS
-r-------- 1 root root    156 Sep 23 13:44 FIDT
-r-------- 1 root root     68 Sep 23 13:44 FPDT
-r-------- 1 root root     56 Sep 23 13:44 HPET
-r-------- 1 root root 207330 Sep 23 13:44 LUFT
-r-------- 1 root root     60 Sep 23 13:44 MCFG
-r-------- 1 root root     85 Sep 23 13:44 MSDM
-r-------- 1 root root    374 Sep 23 13:44 SLIC
-r-------- 1 root root   1337 Sep 23 13:44 SSDT1
-r-------- 1 root root   2776 Sep 23 13:44 SSDT2
-r-------- 1 root root    877 Sep 23 13:44 SSDT3
-r-------- 1 root root  13608 Sep 23 13:44 SSDT4
root@node0:/sys/firmware/acpi/tables# cat SLIC > /var/lib/libvirt/images/slic.bin 

Funcionará para los medios de marca Windows 2008/2012. Es muy importante verificar si esos argumentos se han pasado correctamente, verifique el inicio de sesión de VM: /var/log/libvirt/vm_name.log. Ejecute alguna distribución en vivo en VM, por ejemplo sysresccd y verifique la salida de dmidecode -t 0; dmidecode -t 1 debe coincidir con la versión de hardware.

Como profesor (Windows 2012 Foundation AFAIK solo tiene marca): Windows 2012 Foundation in Qemu-KVM


10
2017-09-23 14:00



Usted señor, merece una medalla por esto! Este es el artículo más coherente que he encontrado, con diferencia. - sjas


Extraiga las tablas SLIC de su placa base y ruede sus propios Seabios utilizando: https://github.com/ghuntley/seaslic


3
2018-04-07 00:34





Desafortunadamente, la respuesta de los controladores firmados de Windows no refleja la activación OEM / SLP. Estos controladores pueden mejorar el rendimiento, pero la activación OEM / SLP de Windows involucra estrictamente los datos almacenados en el BIOS, específicamente en las tablas ACPI.

Michael Tokarev pudo hacerlo él mismo modificando la fuente para incluir la tabla SLIC en el formato de la tabla completa, pero también menciona que esto se puede hacer usando varias opciones para -acceptible (http://kerneltrap.org/mailarchive/linux-kvm/2010/3/24/6260060). El cambio que hizo a la fuente simplemente le permitió incluir una tabla ACPI completa en lugar de pasar varios argumentos para incluir diferentes aspectos de la misma en la línea de comandos.

Ahora mismo estoy investigando esto, ya que me gustaría implementarlo para realizar pruebas en algunas configuraciones en nuestra oficina. Tenemos muchas máquinas OEM y podemos instalarlas bien en cada máquina, pero la virtualización ofrece muchos beneficios para las pruebas, así como una implementación muy rápida, por lo que me gustaría ver esto.

Me gustaría ver el OP de esta publicación, rancidfishbreath, lo que extrajo de dmidecode, cómo lo formateó en las opciones que dio a kvm, etc. Si puede agregar alguna información que los desarrolladores le hayan dado sobre esto, se lo agradecería.


1
2017-12-13 20:52



Acabé de comprar una nueva copia comercial de Windows Server 2008. Aunque el principio de pagar dos veces por algo no funciona bien, al final del día, el costo de la licencia adicional era pequeño en comparación con el tiempo y el esfuerzo invertido en este problema. . - rancidfishbreath


Comprobar http://jamar.org/2012/09/28/installing-windows-2008-hp-oem-as-kvm-guest/

proporcione información de smbios en el archivo xml conf (/ etc / libvirt / qemu) que puede volcarse usando dmidecode

más información en: http://libvirt.org/formatdomain.html#elementsSysinfo

Funciona hacer mi win2k12


0
2017-08-16 10:44