Go to main content

Notes de produit des serveurs de la série SPARC T8

Quitter la vue de l'impression

Mis à jour : Novembre 2017
 
 

Panique au démarrage iSCSI vfs_mountroot: cannot mount root en raison de la lenteur de la cible iSCSI (26178433)

Ce problème concerne les trois serveurs.

Le système d'exploitation peut paniquer lors de la fonction vfs_mountroot si le serveur est configuré pour s'initialiser à partir d'une unité logique (LUN) iSCSI sur un réseau Ethernet ou InfiniBand.


Remarque -  Les serveurs SPARC M8-8 exécutant Oracle Solaris 11.3 SRU 24 et les serveurs SPARC M7 exécutant Oracle Solaris 11.3 SRU 19 à SRU 24 sont concernés par cette panique vfs_mountroot.

Dans le cas d'une panique vfs_mountroot avérée, la console système affiche des messages semblables à ce qui suit :

{0} ok boot net
Boot device: /pci@300/pci@1/network@0  File and args:
1000 Mbps full duplex Link up
1000 Mbps full duplex Link up
1000 Mbps full duplex Link up
SunOS Release 5.11 Version 11.3 64-bit
Copyright (c) 1983, 2016, Oracle and/or its affiliates. All rights reserved.
NOTICE: Configuring iSCSI boot session...
NOTICE: iscsi connection(5) unable to connect to target iqn.1986-03.com.sun:02:118cb23b-920f-49ef-b7a1-b00767a60dfa, target address 192.168.1.1
NOTICE: iscsi connection(5) unable to connect to target iqn.1986-03.com.sun:02:118cb23b-920f-49ef-b7a1-b00767a60dfa, target address 192.168.1.1
WARNING: Failed to configure iSCSI boot session
WARNING: Failed to get iscsi boot path

panic[cpu0]/thread=20012000: vfs_mountroot: cannot mount root

Cette panique vfs_mountroot se produit le plus souvent lors du processus de démarrage. Un problème similaire peut toutefois survenir si le système a déjà démarré à partir d'une unité logique iSCSI et que celle-ci devient temporairement indisponible. Par exemple, l'unité logique iSCSI peut être rendue indisponible à la suite d'un encombrement temporaire du réseau ou d'un basculement réseau suite à une panne.

Solutions

Ce problème de panique vfs_mountroot est généralement causé par la lenteur d'un périphérique iSCSI cible ou d'une connexion réseau. Néanmoins, Solaris 11.3 SRU 24 est plus vulnérable par rapport à ce problème, en raison des différences d'alignement temporel dans son module de noyau de lancement iSCSI. Si le périphérique iSCSI cible ou le réseau est lent, essayez d'appliquer l'une des solutions ci-après pour démarrer le serveur.

Déterminez la solution qui convient à votre configuration de serveur :

Application de la solution à un environnement d'initialisation installé

La version minimale du système d'exploitation Oracle Solaris 11.3 prise en charge sur les serveurs SPARC T8 et SPARC M8 est Oracle Solaris 11.3 SRU 24. Ces serveurs ne contiennent pas d'environnements d'initialisation pour les versions antérieures d'Oracle Solaris 11.3. Procédez comme indiqué ci-après pour appliquer la solution préconisée à l'environnement d'initialisation installé.

  1. Démarrez sur un DVD d'installation d'Oracle Solaris 11.3.

    Utilisez l'option –s avec la commande boot. Sinon, vous devrez quitter le programme d'installation.

    {0} ok boot rcdrom -s
  2. Une fois que le serveur a démarré, configurez les interfaces réseau et vérifiez que le serveur peut accéder à l'adresse IP de la cible iSCSI.

    # ping 192.168.1.1
    192.168.1.1 is alive
  3. Configurez la méthode iSCSI SendTargets en fournissant l'adresse de découverte de la cible iSCSI qui a été utilisée pour l'initialisation iSCSI.

    # iscsiadm add discovery-address 192.168.1.1
    # iscsiadm modify discovery -t enable
  4. Vérifiez que l'unité logique de démarrage iSCSI est visible dans les résultats de la commande format.

    # format
    1. c0t5000CCA02D104088d0 <HGST-H101812SFSUN1.2T-A770-1.09TB>
      /scsi_vhci/disk@g5000cca02d104088
      /dev/chassis/SYS/DBP/HDD0/disk
    2. c0t5000CCA02D1032D8d0 <HGST-H101812SFSUN1.2T-A770-1.09TB>  solaris
      /scsi_vhci/disk@g5000cca02d1032d8
      /dev/chassis/SYS/DBP/HDD1/disk
    3. c0t5000CCA02D102FF8d0 <SUN1.2T cyl 48638 alt 2 hd 255 sec 189>
      /scsi_vhci/disk@g5000cca02d102ff8
      /dev/chassis/SYS/DBP/HDD2/disk
    4. c0t5000CCA02D103B20d0 <HGST-H101812SFSUN1.2T-A770-1.09TB>  solaris
      /scsi_vhci/disk@g5000cca02d103b20
      /dev/chassis/SYS/DBP/HDD3/disk
    5. c0t60000000000000000000000000009999d0 <SUN-COMSTAR-1.0-60.00GB>
      /scsi_vhci/ssd@g60000000000000000000000000009999
    Specify disk (enter its number): 5  
    selecting c0t60000000000000000000000000009999d0
    [disk formatted]
  5. Importez le pool root et indiquez un point de montage alternatif.

    # zpool import -R /a -d /dev/dsk/c0t60000000000000000000000000009999d0s0 rpool
  6. Vérifiez que iscsi-rpool a bien été importé.

    # zpool list
    NAME    SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
    rpool  59.5G  48.9G  10.6G  82%  1.00x  ONLINE  /a
  7. Affichez les environnements d'initialisation sur le pool root importé.

    # beadm list
    be_find_current_be: failed to find current BE name
    be_find_current_be: failed to find current BE name
    BE            Flags Mountpoint Space  Policy Created          
    --            ----- ---------- -----  ------ -------          
    S11.3-SRU18.6 -     -          32.82M static 2027-07-03 13:57 
    S11.3-SRU22.3 R     -          6.42G  static 2027-07-03 14:03 
    solaris       -     -          99.75M static 2027-07-03 13:40
  8. Créez un point de montage temporaire et montez l'environnement d'initialisation sélectionné.

    # mkdir /a/mnt
    # zfs mount -o mountpoint=/a/mnt/ rpool/ROOT/S11.3-SRU22.3
  9. Appliquez la solution.

    # echo "set iscsi:iscsi_conn_first_login_max=20" >> /a/mnt/etc/system
    # echo "set iscsi:iscsi_conn_first_interval_max=10" >> /a/mnt/etc/system
  10. Mettez à jour l'archive d'initialisation dans l'environnement d'initialisation monté pour activer la solution lors du prochain redémarrage.

    # bootadm update-archive -v -R /a/mnt
  11. Réinitialisez le système et démarrez à partir du périphérique d'initialisation iSCSI.

    # shutdown -y -i0 -g0
    {0} ok boot net

Application de la solution à une nouvelle installation du système d'exploitation Oracle Solaris

Procédez comme indiqué ci-après pour appliquer la solution préconisée à un environnement d'initialisation que vous venez d'installer.

  1. Répétez la procédure d'installation, mais quittez le programme d'installation peu avant que le système ne redémarre.

                              Installation Complete
    The installation of Oracle Solaris has completed successfully.
    
    Reboot to start the newly installed software or Quit if you wish to
    perform additional tasks before rebooting.
    
    The installation log is available at /system/volatile/install_log. After
    reboot it can be found at /var/log/install/install_log.
    
    Esc-4_View Log Esc-7_Halt Esc-8_Reboot Esc-9_Quit
  2. Appuyez sur les touches Echap et 9 pour quitter le programme d'installation, puis appuyez sur la touche 3 pour entrer dans le shell.

    Welcome to the Oracle Solaris installation menu 
         1  Install Oracle Solaris
         2  Install Additional Drivers
         3  Shell
         4  Terminal type (currently xterm)
         5  Reboot
    Please enter a number [1]:3
  3. Affichez les environnements d'initialisation.

    # beadm list
    be_find_current_be: failed to find current BE name
    be_find_current_be: failed to find current BE name
    BE      Flags Mountpoint Space Policy Created          
    --      ----- ---------- ----- ------ -------          
    solaris R     -          2.29G static 2027-07-04 14:46
  4. Montez l'environnement d'initialisation nouvellement installé.

    # beadm mount solaris /a
  5. Appliquez la solution.

    # echo "set iscsi:iscsi_conn_first_login_max=20" >> /a/etc/system
    # echo "set iscsi:iscsi_conn_first_interval_max=10" >> /a/etc/system
  6. Mettez à jour l'archive d'initialisation dans l'environnement d'initialisation monté pour activer la solution lors du prochain redémarrage.

    # bootadm update-archive -v -R /a
  7. Appliquez la solution.

    # echo "set iscsi:iscsi_conn_first_login_max=20" >> /etc/system
    # echo "set iscsi:iscsi_conn_first_interval_max=10" >> /etc/system
  8. Démontez l'environnement d'initialisation et redémarrez le système.

    # beadm umount solaris
    # reboot

Sélection d'un environnement d'initialisation antérieur à Oracle Solaris 11.3 SRU 19.5

Les serveurs SPARC T8 et SPARC M8-8 ne contiennent pas d'environnements d'initialisation pour les versions d'Oracle Solaris 11.3 antérieures à SRU 24. Si vous avez un serveur SPARC M7 muni d'environnements d'initialisation antérieurs, procédez comme indiqué ci-après pour démarrer sur un environnement antérieur à Oracle Solaris 11.3 SRU 19.5 en vue d'appliquer la solution préconisée à l'environnement concerné par ce problème de panique vfs_mountroot.

  1. Sélectionnez un environnement d'initialisation antérieur à S11.3 SRU 19.5.

    {0} ok boot net -L 
    Boot device: /pci@300/pci@1/network@0  File and args: -L
    1000 Mbps full duplex Link up
    1000 Mbps full duplex Link up
    1000 Mbps full duplex Link up
    1 Oracle Solaris 11.3 SPARC
    2 S11.3-SRU18.6
    3 S11.3-SRU22.3
    Select environment to boot: [ 1 - 3 ]: 2
    
    To boot the selected entry, invoke:
    boot [<root-device>] -Z rpool/ROOT/S11.3-SRU18.6
    
    Program terminated
  2. Démarrez sur un environnement d'initialisation antérieur à Oracle Solaris 11.3 SRU 19.5.

    {0} ok boot net -Z rpool/ROOT/S11.3-SRU18.6
  3. Affichez la liste des environnements d'initialisation existants.

    # beadm list
    BE            Flags Mountpoint Space  Policy Created          
    --            ----- ---------- -----  ------ -------          
    S11.3-SRU18.6 N     /          33.32M static 2027-07-03 15:57 
    S11.3-SRU22.3 R     -          6.40G  static 2027-07-03 16:03 
    solaris       -     -          99.75M static 2027-07-03 15:40
  4. Montez l'environnement d'initialisation qui provoque la panique.

    # beadm mount S11.3-SRU22.3 /mnt
  5. Appliquez la solution.

    # echo "set iscsi:iscsi_conn_first_login_max=20" >> /mnt/etc/system
    # echo "set iscsi:iscsi_conn_first_interval_max=10" >> /mnt/etc/system
  6. Mettez à jour l'archive d'initialisation dans l'environnement d'initialisation monté pour activer la solution lors du prochain redémarrage.

    # bootadm update-archive -v -R /mnt
  7. Démontez l'environnement d'initialisation.

    # beadm umount S11.3-SRU22.3
  8. Redémarrez le serveur sur le nouvel environnement d'initialisation.