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.
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 :
Si votre serveur contient un seul environnement de démarrage, reportez-vous à la rubrique Application de la solution à un environnement d'initialisation installé.
Si vous venez d'installer le système d'exploitation Solaris sur le serveur, reportez-vous à la rubrique Application de la solution à une nouvelle installation du système d'exploitation Oracle Solaris.
Si votre serveur SPARC M7 contient des environnements d'initialisation pour Solaris 11.3 antérieurs à la mise à jour SRU 19.5, reportez-vous à l'article "Sélection d'un environnement d'initialisation antérieur à Oracle Solaris 11.3 SRU 19.5".
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é.
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
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
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
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]
Importez le pool root et indiquez un point de montage alternatif.
# zpool import -R /a -d /dev/dsk/c0t60000000000000000000000000009999d0s0 rpool
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
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
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
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
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
Réinitialisez le système et démarrez à partir du périphérique d'initialisation iSCSI.
# shutdown -y -i0 -g0 {0} ok boot net
Procédez comme indiqué ci-après pour appliquer la solution préconisée à un environnement d'initialisation que vous venez d'installer.
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
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
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
Montez l'environnement d'initialisation nouvellement installé.
# beadm mount solaris /a
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
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
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
Démontez l'environnement d'initialisation et redémarrez le système.
# beadm umount solaris # reboot
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.
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
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
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
Montez l'environnement d'initialisation qui provoque la panique.
# beadm mount S11.3-SRU22.3 /mnt
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
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
Démontez l'environnement d'initialisation.
# beadm umount S11.3-SRU22.3
Redémarrez le serveur sur le nouvel environnement d'initialisation.