4 DESIGN AND METHODOLOGY
6.1 METHODOLOGICAL CONSIDERATIONS
Puede usar el software del Oracle VM Server for SPARC para asignar todo un bus PCIe (también conocido como complejo de raíz) a un dominio. Todo el bus PCIe consiste en el mismo bus PCIe y todos los conmutadores y dispositivos PCI. Los buses PCIe que están presentes en un servidor se identifican con nombres como pci@400 (pci_0). Un dominio de E/S que está configurado con todo un bus PCIe también se conoce como dominio raíz.
El siguiente diagrama muestra un sistema que tiene dos buses PCIe (pci_0 y pci_1). Cada bus se asigna a un dominio diferente. Por lo tanto, el sistema se configura con dos dominios de E/S.
El número máximo de dominios de E/S que puede crear con buses PCIe depende del número de buses PCIe que están disponibles en el servidor. Por ejemplo, si usa un servidor Oracle Sun SPARC Enterprise T5440, puede tener hasta cuatro dominios de E/S.
FIGURA 6–1 Asignación de un bus PCIe a un dominio de E/S.
Dominio de E/S Principal
Sistema operativo Sistema operativo
Conmutador PCIe
PCIE7 PCIE6 PCIE5 PCIE4 pci_1
Conmutador PCIe
PCIE3 PCIE2 PCIE1
Servicio incorporado pci_0
Nota –Algunos servidores UltraSPARC sólo tienen un bus PCIe. En estos casos, puede crear un dominio de E/S asignando un dispositivo de punto final PCIe (o E/S directa asignable) a un dominio. Consulte“Asignación de dispositivos de punto final PCIe” en la página 86Si el sistema tiene una unidad de interfaz de red (NIU), también puede asignar una NIU a un dominio para crear un dominio de E/S.
Cuando asigna un bus PCIe a un dominio de E/S, todos los dispositivos en ese bus son propiedad del dominio de E/S. No se permite asignar cualquiera de los dispositivos de punto final de PCIe en ese bus a otros dominios. Sólo los dispositivos de punto final PCIe en los buses PCIe que están asignados al dominio primary pueden ser asignados a otros dominios.
Cuando un servidor se configura inicialmente en un entorno Logical Domains o está usando la configuración factory-default, el dominio primary tiene acceso a todos los recursos de dispositivos físicos. Esto significa que el dominio primary es el único dominio de E/S configurado en el sistema y que posee todos los buses PCIe.
▼
Cómo crear un dominio de E/S asignando un bus PCIe
Este procedimiento de ejemplo muestra cómo crear un nuevo dominio de E/S desde una configuración inicial donde varios buses son propiedad del dominio primary. De manera predeterminada el dominio primary posee todos los buses presentes en el sistema. Este ejemplo corresponde a un servidor SPARC T4-2. Este procedimiento también puede ser usado en otros servidores. Las instrucciones para los diferentes servidores pueden variar ligeramente de éstas, pero puede obtener los principios básicos de este ejemplo.
Primero, debe conservar el bus que tiene el disco de inicio del dominio primary. Después, elimine otro bus del dominio primary y asígnelo a otro dominio.
Precaución –Todos los discos internos de los servidores admitidos podrían estar conectados a un único bus PCIe. Si un dominio se inicia desde un disco interno, no quite ese bus del dominio. Asimismo, asegúrese que no está eliminando un bus con dispositivos (como puertos de red) usados por un dominio. Si quita el bus equivocado, el dominio podría no poder acceder a los dispositivos necesarios y podría quedar no utilizable. Para eliminar un bus que tiene dispositivos usados por un dominio, reconfigure ese dominio para usar dispositivos de otros buses. Por ejemplo, quizás sea necesario reconfigurar el dominio para que use un puerto de red incorporado diferente o una tarjeta PCIe de una ranura PCIe diferente.
En este ejemplo, el dominio primary sólo usa una agrupación ZFS (rpool [c0t1d0s0]) y la interfaz de red (igb0). Si el dominio primary usa más dispositivos, repita los pasos 2-4 para cada dispositivo para asegurarse de que ninguno está ubicado en el bus que se ha eliminado.
Compruebe que el dominio primary tiene más de un bus PCIe. primary# ldm list-io
NAME TYPE BUS DOMAIN STATUS
---- ---- --- --- ---
niu_0 NIU niu_0 primary
niu_1 NIU niu_1 primary
pci_0 BUS pci_0 primary
pci_1 BUS pci_1 primary
/SYS/MB/PCIE0 PCIE pci_0 primary OCC
/SYS/MB/PCIE2 PCIE pci_0 primary OCC
/SYS/MB/PCIE4 PCIE pci_0 primary OCC
/SYS/MB/PCIE6 PCIE pci_0 primary EMP
/SYS/MB/PCIE8 PCIE pci_0 primary EMP
/SYS/MB/SASHBA PCIE pci_0 primary OCC
/SYS/MB/NET0 PCIE pci_0 primary OCC
/SYS/MB/PCIE1 PCIE pci_1 primary OCC
/SYS/MB/PCIE3 PCIE pci_1 primary OCC
/SYS/MB/PCIE5 PCIE pci_1 primary OCC
/SYS/MB/PCIE7 PCIE pci_1 primary EMP
/SYS/MB/PCIE9 PCIE pci_1 primary EMP
/SYS/MB/NET2 PCIE pci_1 primary OCC
/SYS/MB/NET0/IOVNET.PF0 PF pci_0 primary
/SYS/MB/NET0/IOVNET.PF1 PF pci_0 primary
/SYS/MB/PCIE5/IOVNET.PF0 PF pci_1 primary
/SYS/MB/PCIE5/IOVNET.PF1 PF pci_1 primary
/SYS/MB/NET2/IOVNET.PF0 PF pci_1 primary
/SYS/MB/NET2/IOVNET.PF1 PF pci_1 primary
Determine la ruta del dispositivo del disco de inicio que se debe retener.
■ Para los sistemas de archivos UFS, ejecute el comando df / para determinar la ruta del dispositivo del disco de inicio.
primary# df /
/ (/dev/dsk/c0t5000CCA03C138904d0s0):22755742 blocks 2225374 files ■ Para sistemas de archivos ZFS, primero debe ejecutar el comando df / para determinar el
nombre de la agrupación. A continuación, ejecute el comando zpool status para determinar la ruta del dispositivo del disco de inicio.
primary# zpool status rpool pool: rpool
state: ONLINE
scan: none requested config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c0t5000CCA03C138904d0s0 ONLINE 0 0 0 Determine el bus PCIe bajo el cual está conectado el disco de inicio. a. Busque el puerto del iniciador al que está conectado el disco.
primary# mpathadm show lu /dev/rdsk/c0t5000CCA03C138904d0s0 Logical Unit: /dev/rdsk/c0t5000CCA03C138904d0s2
mpath-support: libmpscsi_vhci.so 1
2
Vendor: HITACHI
Product: H106030SDSUN300G Revision: A2B0
Name Type: unknown type Name: 5000cca03c138904 Asymmetric: no
Current Load Balance: round-robin Logical Unit Group ID: NA
Auto Failback: on Auto Probing: NA Paths:
Initiator Port Name: w50800200014100c8 Target Port Name: w5000cca03c138905 Override Path: NA Path State: OK Disabled: no Target Ports: Name: w5000cca03c138905 Relative ID: 0
b. Determine en qué bus PCIe el puerto del iniciador está presente. primary# mpathadm show initiator-port w50800200014100c8 Initiator Port: w50800200014100c8
Transport Type: unknown
OS Device File: /devices/pci@400/pci@2/pci@0/pci@e/scsi@0/iport@1 Determine la interfaz de red usada por el sistema.
Identifique la interfaz de red principal que está “asociada” mediante el comando ifconfig.
■ Oracle Solaris 10. primary# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000
igb0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 3 inet 10.129.241.135 netmask ffffff00 broadcast 10.129.241.255
ether 0:10:e0:e:f1:78 ■ Oracle Solaris 11.
primary# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000
net0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 3 inet 10.129.241.135 netmask ffffff00 broadcast 10.129.241.255
ether 0:10:e0:e:f1:78 primary# dladm show-phys net0
LINK MEDIA STATE SPEED DUPLEX DEVICE
net0 Ethernet up 1000 full igb0
Determine el dispositivo físico con el que está vinculado la interfaz de red.
El siguiente comando usa la interfaz de red igb0:
primary# ls -l /dev/igb0
lrwxrwxrwx 1 root root 46 Oct 1 10:39 /dev/igb0 -> ../devices/pci@500/pci@0/pci@c/network@0:igb0
En este ejemplo, el dispositivo físico para la interfaz de red usada por el dominio primary está bajo el bus pci@500, que corresponde a la enumeración anterior de pci_1. Así pues, los otros dos buses, pci_2 (pci@600) y pci_3 (pci@700), pueden ser asignados de manera segura porque no son usados por el dominio primary.
Si la interfaz de red usada por el dominio primary estaba en un bus que desea asignar a otro dominio, el dominio primary deberá reconfigurarse para usar una interfaz de red diferente.
Elimine un bus que no contiene el disco de inicio o la interfaz de red del dominio primary.
En este ejemplo, el bus pci_1 se elimina del dominio primary. También debe iniciar una reconfiguración retrasada.
primary# ldm start-reconf primary primary# ldm remove-io pci_1 primary
Guarde esta configuración en el procesador de servicio
En este ejemplo, la configuración es io-domain.
primary# ldm add-config io-domain
Esta configuración, io-domain, también se fija como la siguiente configuración que se debe usar después del reinicio.
Reinicie el dominio raíz para que se realice el cambio. primary# shutdown -i6 -g0 -y
Detenga el dominio en el que desea agregar el bus PCIe.
El siguiente ejemplo para el dominio ldg1:
primary# ldm stop ldg1
Agregue el bus disponible al dominio que necesita acceso directo.
El bus disponible es pci_1 y el dominio es ldg1.
primary# ldm add-io pci_1 ldg1
Reinicie el dominio para que se efectúe el cambio.
Los siguientes comandos reinician el dominio ldg1:
primary# ldm start ldg1 5 6 7 8 9 10 11
Confirme que el bus correcto aún esté asignado al dominio primary y que el bus correcto esté asignado al dominio ldg1.
primary# ldm list-io
NAME TYPE BUS DOMAIN STATUS
---- ---- --- --- ---
niu_0 NIU niu_0 primary
niu_1 NIU niu_1 primary
pci_0 BUS pci_0 primary
pci_1 BUS pci_1 ldg1
/SYS/MB/PCIE0 PCIE pci_0 primary OCC
/SYS/MB/PCIE2 PCIE pci_0 primary OCC
/SYS/MB/PCIE4 PCIE pci_0 primary OCC
/SYS/MB/PCIE6 PCIE pci_0 primary EMP
/SYS/MB/PCIE8 PCIE pci_0 primary EMP
/SYS/MB/SASHBA PCIE pci_0 primary OCC
/SYS/MB/NET0 PCIE pci_0 primary OCC
/SYS/MB/PCIE1 PCIE pci_1 ldg1 OCC
/SYS/MB/PCIE3 PCIE pci_1 ldg1 OCC
/SYS/MB/PCIE5 PCIE pci_1 ldg1 OCC
/SYS/MB/PCIE7 PCIE pci_1 ldg1 EMP
/SYS/MB/PCIE9 PCIE pci_1 ldg1 EMP
/SYS/MB/NET2 PCIE pci_1 ldg1 OCC
/SYS/MB/NET0/IOVNET.PF0 PF pci_0 primary
/SYS/MB/NET0/IOVNET.PF1 PF pci_0 primary
/SYS/MB/PCIE5/IOVNET.PF0 PF pci_1 ldg1
/SYS/MB/PCIE5/IOVNET.PF1 PF pci_1 ldg1
/SYS/MB/NET2/IOVNET.PF0 PF pci_1 ldg1
/SYS/MB/NET2/IOVNET.PF1 PF pci_1 ldg1
Esta salida confirma que el bus PCIe pci_0 y sus dispositivos están asignados al dominio primary. También confirma que el bus PCIe pci_1 y sus dispositivos están asignados al dominio ldg1.