Guide d'administration d'Oracle® VM Server for SPARC 3.3

Quitter la vue de l'impression

Mis à jour : Octobre 2015
 
 

Procédure de création d'un domaine root par affectation d'un bus PCIe

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.


Caution

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

  1. Vérifiez que le domaine primary détient plusieurs bus PCIe.
    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
  2. Déterminez le chemin du périphérique du disque d'initialisation qui doit être conservé.
    • Pour les systèmes de fichiers UFS, exécutez la commande df / pour déterminer le chemin de périphérique du disque d'initialisation.
      primary# df /
      /                  (/dev/dsk/c0t5000CCA03C138904d0s0):22755742 blocks  2225374 files
    • Pour les systèmes de fichiers ZFS, exécutez d'abord la commande df / pour déterminer le nom de pool. Puis exécutez la commande zpool status pour déterminer le chemin de périphérique du disque d'initialisation.
      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
  3. Obtenez des informations sur le disque d'initialisation du système.
    • S'il s'agit d'un disque d'initialisation géré à l'aide la fonctionnalité de multipathing d'E/S d'Solaris, identifiez le bus PCIe sous lequel il est connecté en exécutant la commande mpathadm.

      A partir des serveurs SPARC T3, les disques internes sont gérés par la fonctionnalité multipathing d'E/S d'Solaris.

      1. Recherchez le port initiateur auquel le disque est connecté.
        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
      2. Identifiez le bus PCIe sur lequel le port initiateur est présent.
        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
    • Pour un disque qui n'est pas géré avec la fonctionnalité multipathing d'E/S d'Solaris, déterminez le périphérique physique auquel le périphérique en mode bloc est connecté à l'aide de la commande ls -l.

      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.

  4. Identifiez l'interface réseau utilisée par le système.

    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
  5. Identifiez le périphérique physique auquel l'interface réseau est connectée.

    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.

  6. Supprimez du domaine primary les bus qui ne contiennent pas le disque d'initialisation ou l'interface réseau.

    Dans cet exemple, le bus pci_2 est supprimé du domaine primary.

    • Méthode dynamique :

      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
    • Méthode statique :

      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.

  7. Ajoutez un bus à un domaine.

    Dans cet exemple, vous ajoutez le bus pci_2 au domaine ldg1.

    • Méthode dynamique :
      primary# ldm add-io pci_2 ldg1
    • Méthode statique :

      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
  8. Enregistrez cette configuration sur le processeur de service.

    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.

  9. Vérifiez que le bus correct est toujours assigné au domaine primary et que le bus correct est assigné au domaine ldg1.
    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.