Este procedimiento de ejemplo muestra cómo crear un nuevo dominio raíz 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.
Asegúrese de no eliminar los buses PCIe que alojan el disco de inicio y la interfaz de red principal desde el dominio primary.
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. Asegúrese de no eliminar un bus que tenga dispositivos que sean utilizados por un dominio, como puertos de red o dispositivos usbecm. 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 determinados servidores SPARC, puede eliminar un bus PCIe que contenga unidades USB, controladores de gráficos y otros dispositivos. Sin embargo, no puede agregar estos buses PCIe a ningún otro dominio. Estos buses PCIe solo se pueden agregar al dominio primary. |
En este ejemplo, el dominio primary solo usa una agrupación ZFS (rpool) 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.
Puede agregar o eliminar un bus en un dominio utilizando la ruta de su dispositivo (pci@nnn) o su seudónimo (pci_n). Los comandos ldm list-bindings primary o ldm list -l -o physio primary muestran lo siguiente:
pci@400 corresponde a pci_0
pci@500 corresponde a pci_1
pci@600 corresponde a pci_2
pci@700 corresponde a pci_3
primary# ldm list-io NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ pci_0 BUS pci_0 primary pci_1 BUS pci_1 primary pci_2 BUS pci_2 primary pci_3 BUS pci_3 primary /SYS/MB/PCIE1 PCIE pci_0 primary EMP /SYS/MB/SASHBA0 PCIE pci_0 primary OCC /SYS/MB/NET0 PCIE pci_0 primary OCC /SYS/MB/PCIE5 PCIE pci_1 primary EMP /SYS/MB/PCIE6 PCIE pci_1 primary EMP /SYS/MB/PCIE7 PCIE pci_1 primary EMP /SYS/MB/PCIE2 PCIE pci_2 primary EMP /SYS/MB/PCIE3 PCIE pci_2 primary EMP /SYS/MB/PCIE4 PCIE pci_2 primary EMP /SYS/MB/PCIE8 PCIE pci_3 primary EMP /SYS/MB/SASHBA1 PCIE pci_3 primary OCC /SYS/MB/NET2 PCIE pci_3 primary OCC /SYS/MB/NET0/IOVNET.PF0 PF pci_0 primary /SYS/MB/NET0/IOVNET.PF1 PF pci_0 primary /SYS/MB/NET2/IOVNET.PF0 PF pci_3 primary /SYS/MB/NET2/IOVNET.PF1 PF pci_3 primary
primary# df / / (/dev/dsk/c0t5000CCA03C138904d0s0):22755742 blocks 2225374 files
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
primary# mpathadm show lu /dev/rdsk/c0t5000CCA03C138904d0s0 Logical Unit: /dev/rdsk/c0t5000CCA03C138904d0s2 mpath-support: libmpscsi_vhci.so 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
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
El siguiente ejemplo utiliza el dispositivo de bloques c1t0d0s0:
primary# ls -l /dev/dsk/c0t1d0s0 lrwxrwxrwx 1 root root 49 Oct 1 10:39 /dev/dsk/c0t1d0s0 -> ../../devices/pci@400/pci@0/pci@1/scsi@0/sd@1,0:a
En este ejemplo, el dispositivo físico para el disco de inicio del dominio primary está conectado al bus pci@400.
Identifique la interfaz de red principal que está “asociada” mediante el comando ifconfig. Una interfaz asociada tiene flujos configurados para que el protocolo IP pueda utilizar el dispositivo.
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
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
Ejecute también el comando ls -l /dev/usbecm.
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 es un bus que desea asignar a otro dominio, reconfigure el dominio primary para usar una interfaz de red diferente.
En este ejemplo, el bus pci_2 se elimina del dominio primary.
Asegúrese de que los dispositivos del bus pci_2 no estén siendo usados por el SO del dominio primary. Si lo están, es posible que este comando no pueda eliminar el bus. Utilice el método estático para eliminar el bus pci_2 de manera forzada.
primary# ldm remove-io pci_2 primary
Antes de eliminar el bus, debe iniciar una reconfiguración retrasada.
primary# ldm start-reconf primary primary# ldm remove-io pci_2 primary primary# shutdown -y -g0 -i6
El bus que usa el dominio primary para el disco de inicio y el dispositivo de red no se pueden asignar a otros dominios. Puede asignar cualquiera de los otros buses a otro dominio. En este ejemplo, el dominio primary no utiliza pci@600, por lo tanto, puede reasignarlo a otro dominio.
En este ejemplo, se agrega el bus pci_2 al dominio ldg1.
primary# ldm add-io pci_2 ldg1
Antes de agregar el bus, debe detener el dominio.
primary# ldm stop-domain ldg1 primary# ldm add-io pci_2 ldg1 primary# ldm start-domain ldg1
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.
primary# ldm list-io NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ pci_0 BUS pci_0 primary pci_1 BUS pci_1 primary pci_2 BUS pci_2 ldg1 pci_3 BUS pci_3 primary /SYS/MB/PCIE1 PCIE pci_0 primary EMP /SYS/MB/SASHBA0 PCIE pci_0 primary OCC /SYS/MB/NET0 PCIE pci_0 primary OCC /SYS/MB/PCIE5 PCIE pci_1 primary EMP /SYS/MB/PCIE6 PCIE pci_1 primary EMP /SYS/MB/PCIE7 PCIE pci_1 primary EMP /SYS/MB/PCIE2 PCIE pci_2 ldg1 EMP /SYS/MB/PCIE3 PCIE pci_2 ldg1 EMP /SYS/MB/PCIE4 PCIE pci_2 ldg1 EMP /SYS/MB/PCIE8 PCIE pci_3 primary EMP /SYS/MB/SASHBA1 PCIE pci_3 primary OCC /SYS/MB/NET2 PCIE pci_3 primary OCC /SYS/MB/NET0/IOVNET.PF0 PF pci_0 primary /SYS/MB/NET0/IOVNET.PF1 PF pci_0 primary /SYS/MB/NET2/IOVNET.PF0 PF pci_3 primary /SYS/MB/NET2/IOVNET.PF1 PF pci_3 primary
Esta salida confirma que los buses PCIe pci_0, pci_1 y pci_3 y sus dispositivos están asignados al dominio primary. También confirma que el bus PCIe pci_2 y sus dispositivos están asignados al dominio ldg1.