Go to main content

SPARC T8 시리즈 서버 제품 안내서

인쇄 보기 종료

업데이트 날짜: 2017년 11월
 
 

느린 iSCSI 대상으로 인해 iSCSI 부트 패닉 vfs_mountroot: cannot mount root 발생(26178433)

이 문제는 서버 세 개 모두에 영향을 줍니다.

서버가 이더넷 또는 InfiniBand 네트워크를 통해 iSCSI LUN(논리 장치)에서 부트하도록 구성된 경우 vfs_mountroot 기능 사용 시 운영체제에 패닉이 발생할 수 있습니다.


주 -  Oracle Solaris 11.3 SRU 24를 실행 중인 SPARC M8-8 서버 및 Oracle Solaris 11.3 SRU19에서 SRU 24까지를 실행 중인 SPARC M7 서버에서 이 vfs_mountroot 패닉이 발생할 수 있습니다.

vfs_mountroot 패닉이 발생하는 경우 시스템 콘솔은 다음과 유사한 출력을 표시합니다.

{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

vfs_mountroot 패닉은 부트 프로세스 중 가장 많이 표시됩니다. 하지만 iSCSI 논리 장치에서 시스템을 이미 부트했고 iSCSI 논리 장치가 임시로 사용할 수 없는 상태가 된 경우에도 이와 비슷한 문제가 발생할 수 있습니다. 예를 들어 임시 네트워크 혼잡 또는 네트워크 페일오버로 인해 iSCSI 논리 장치를 사용하지 못하게 될 수 있습니다.

임시해결책

vfs_mountroot 패닉 문제는 일반적으로 느린 iSCSI 대상 장치 또는 느린 네트워크 연결로 인해 발생합니다. 하지만 Solaris 11.3 SRU 24는 iSCSI 개시자 커널 모듈의 타이밍 차이로 인해 이 문제에 더 취약합니다. iSCSI 대상 장치 또는 네트워크가 느린 경우 다음 임시해결책 중 하나를 시도하여 서버를 부트하십시오.

서버 구성에 적합한 임시해결책 확인:

설치된 부트 환경에 임시해결책 적용

SPARC T8 및 SPARC M8 서버에서 지원되는 최소 지원 Oracle Solaris OS 11.3은 Oracle Solaris 11.3 SRU 24입니다. 이 서버에는 Oracle Solaris 11.3 이전 버전용 부트 환경이 포함되어 있지 않습니다. 다음 단계에 따라 설치된 부트 환경에 임시해결책을 적용하십시오.

  1. Oracle Solaris 11.3 설치 DVD를 부트합니다.

    –s 옵션을 boot 명령과 함께 사용합니다. 그렇지 않으면 설치 프로그램을 종료해야 합니다.

    {0} ok boot rcdrom -s
  2. 서버가 부트되면 네트워크 인터페이스를 구성하고 서버가 iSCSI 대상 IP 주소에 액세스할 수 있는지 확인합니다.

    # ping 192.168.1.1
    192.168.1.1 is alive
  3. iSCSI 부트에 사용된 iSCSI 대상의 검색 주소를 제공하여 iSCSI SendTargets 검색 방법을 구성합니다.

    # iscsiadm add discovery-address 192.168.1.1
    # iscsiadm modify discovery -t enable
  4. iSCSI 부트 논리 장치가 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. 루트 풀을 가져오고 대체 마운트 지점을 지정합니다.

    # zpool import -R /a -d /dev/dsk/c0t60000000000000000000000000009999d0s0 rpool
  6. iscsi-rpool을 성공적으로 가져왔는지 확인합니다.

    # zpool list
    NAME    SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
    rpool  59.5G  48.9G  10.6G  82%  1.00x  ONLINE  /a
  7. 가져온 rpool에 부트 환경을 표시합니다.

    # 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. 임시 마운트 지점을 만들고 선택한 부트 환경을 마운트합니다.

    # mkdir /a/mnt
    # zfs mount -o mountpoint=/a/mnt/ rpool/ROOT/S11.3-SRU22.3
  9. 임시해결책을 적용합니다.

    # 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. 마운트된 부트 환경에서 부트 아카이브를 업데이트하여 다음 재부트 중 임시해결책을 활성화합니다.

    # bootadm update-archive -v -R /a/mnt
  11. 시스템을 재부트하고 iSCSI 부트 장치에서 부트합니다.

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

새로운 Oracle Solaris OS 설치에 임시해결책 적용

다음 단계에 따라 새로 설치한 부트 환경에 임시해결책을 적용합니다.

  1. 설치를 반복하지만 시스템 재부트 바로 전에 설치 프로그램을 종료합니다.

                              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. Esc-9 키 시퀀스를 눌러 설치 프로그램을 종료한 다음 3을 눌러 셸로 들어갑니다.

    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. 부트 환경을 표시합니다.

    # 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. 새로 설치한 부트 환경을 마운트합니다.

    # beadm mount solaris /a
  5. 임시해결책을 적용합니다.

    # 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. 마운트된 부트 환경에서 부트 아카이브를 업데이트하여 다음 재부트 중 임시해결책을 활성화합니다.

    # bootadm update-archive -v -R /a
  7. 임시해결책을 적용합니다.

    # echo "set iscsi:iscsi_conn_first_login_max=20" >> /etc/system
    # echo "set iscsi:iscsi_conn_first_interval_max=10" >> /etc/system
  8. 부트 환경을 마운트 해제하고 시스템을 재부트합니다.

    # beadm umount solaris
    # reboot

Oracle Solaris 11.3 SRU 19.5 이전 부트 환경 선택

SPARC T8 및 SPARC M8-8 서버에는 SRU 24 이전 Oracle Solaris 11.3 버전에 대한 부트 환경이 포함되어 있지 않습니다. 이전 부트 환경이 포함되어 있는 SPARC M7 서버가 있는 경우 다음 단계에 따라 Oracle Solaris 11.3 SRU 19.5 이전 부트 환경을 부트하여 이 vfs_mountroot 패닉 문제의 영향을 받는 Oracle Solaris OS 부트 환경에 임시해결책을 적용하십시오.

  1. 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. Oracle Solaris 11.3 SRU 19.5 이전 부트 환경을 선택하고 부트합니다.

    {0} ok boot net -Z rpool/ROOT/S11.3-SRU18.6
  3. 기존 부트 환경을 나열합니다.

    # 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. 패닉을 표시하는 부트 환경을 마운트합니다.

    # beadm mount S11.3-SRU22.3 /mnt
  5. 임시해결책을 적용합니다.

    # 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. 마운트된 부트 환경에서 부트 아카이브를 업데이트하여 다음 재부트 중 임시해결책을 활성화합니다.

    # bootadm update-archive -v -R /mnt
  7. 부트 환경을 마운트 해제합니다.

    # beadm umount S11.3-SRU22.3
  8. 새 부트 환경으로 서버를 재부트합니다.