Cet exemple de procédure indique comment créer un nouveau domaine root à partir d'une configuration initiale où plusieurs bus appartiennent au domaine primary. Par défaut, le domaine primary détient tous les bus présents sur le système. L'exemple suivant concerne le serveur SPARC T4-2. Cette procédure peut également être utilisée sur d'autres serveurs. Les instructions pour les différents serveurs peuvent varier légèrement de celles-ci, mais cet exemple illustre les principes de base.
Assurez-vous de ne pas supprimer les bus PCIe qui hébergent le disque d'initialisation et l'interface réseau principale du domaine primary.
Mise en garde - Tous les disques internes sur les serveurs pris en charge peuvent être connectés à un seul bus PCIe. Si un domaine est initialisé à partir d'un disque interne, ne supprimez pas le bus concerné de ce domaine. Ne supprimez pas un bus dont les périphériques, tels que les ports réseau ou périphériques usbecm sont utilisés par un domaine. Si vous supprimez le mauvais bus, le domaine risque de ne pas pouvoir accéder aux périphériques requis et peut devenir inutilisable. Pour supprimer un bus qui a des périphériques utilisés par un domaine, reconfigurez ce domaine pour qu'il utilise des périphériques d'autres bus. Par exemple, vous devrez peut-être reconfigurer le domaine pour qu'il utilise un port réseau intégré différent ou une carte PCIe d'un emplacement PCIe différent. Sur certains serveurs SPARC, vous pouvez supprimer un bus PCIe qui contient des contrôleurs de graphiques USB et d'autres périphériques. Toutefois, vous ne pouvez pas ajouter de bus PCIe à d'autres domaines. Ce type de bus PCIe ne peut être ajouté qu'au domaine primary. |
Dans cet exemple, le domaine primary n'utilise qu'un pool ZFS (rpool) et une interface réseau (igb0). Si le domaine primary utilise plusieurs périphériques, répétez les étapes 2 à 4 pour chaque périphérique afin de vous assurer qu'aucun d'entre eux n'est situé sur le bus qui va être supprimé.
Vous pouvez ajouter un bus de manière à supprimer un bus d'un domaine à l'aide de son chemin de périphérique (pci@nnn) ou de son pseudonyme (pci_n). La commande ldm list-bindings primary ou ldm list -l -o physio primary affiche ce qui suit :
pci@400 correspond à pci_0
pci@500 correspond à pci_1
pci@600 correspond à pci_2
pci@700 correspond à 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
A partir des serveurs SPARC T3, les disques internes sont gérés par la fonctionnalité multipathing d'E/S d'Solaris.
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
Utilisez cette commande pour un disque sur un système UltraSPARC T2 ou UltraSPARC T2 Plus qui n'est pas géré avec la fonctionnalité multipathing d'E/S d'Solaris.
L'exemple suivant utilise le périphérique en mode bloc 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
Dans cet exemple, le périphérique physique du disque d'initialisation du domaine primary est connecté au bus pci@400.
Identifiez l'interface du réseau principal qui est “raccordée” à l'aide de la commande ifconfig. Une interface raccordée contient des flux configurés de manière à ce que le protocole IP puisse utiliser le périphérique.
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
La commande suivante utilise l'interface réseau 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
Lancez également la commande ls -l /dev/usbecm.
Dans cet exemple, le périphérique physique utilisé par le domaine primary se trouve sous le bus pci@500, qui correspond à la liste précédente de pci_1. Par conséquent, les deux autres bus, pci_2 (pci@600) et pci_3 (pci@700), peuvent être assignés à d'autres domaines en toute sécurité, car ils ne sont pas utilisés par le domaine primary.
Si l'interface réseau utilisée par le domaine primary se trouve sur un bus que vous voulez affecter à un autre domaine, reconfigurez le domaine primary pour utiliser une interface réseau différente.
Dans cet exemple, le bus pci_2 est supprimé du domaine primary.
Assurez-vous que les périphériques du bus pci_2 ne sont pas en cours d'utilisation par le SE du domaine primary. Si tel est le cas, cette commande pourra ne pas parvenir à supprimer le bus. Pour forcer la suppression du bus pci_2, utilisez la méthode statique.
primary# ldm remove-io pci_2 primary
Avant de supprimer le bus, vous devez démarrer une reconfiguration retardée.
primary# ldm start-reconf primary primary# ldm remove-io pci_2 primary primary# shutdown -y -g0 -i6
Le bus utilisé par le domaine primary pour le disque d'initialisation et le périphérique réseau ne peut pas être affecté à d'autres domaines. Vous pouvez affecter n'importe lequel des autres bus à un autre domaine. Dans cet exemple, pci@600 n'est pas utilisé par le domaine primary et peut donc être réaffecté à un autre domaine.
Dans cet exemple, vous ajoutez le bus pci_2 au domaine ldg1.
primary# ldm add-io pci_2 ldg1
Avant d'ajouter le bus, vous devez arrêter le domaine.
primary# ldm stop-domain ldg1 primary# ldm add-io pci_2 ldg1 primary# ldm start-domain ldg1
Dans cet exemple, la configuration est io-domain.
primary# ldm add-config io-domain
Cette configuration, io-domain, est également définie comme la configuration suivante à utiliser après la réinitialisation.
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
Cette sortie confirme que les bus PCIe pci_0, pci_1 et pci_3 ainsi que leurs périphériques sont assignés au domaine primary. Elle confirme également que le bus PCIe pci_2 et ses périphériques sont assignés au domaine ldg1.