Oracle® VM Server for SPARC 3.3 릴리스 노트

인쇄 보기 종료

업데이트 날짜: 2015년 10월
 
 

일반 문제

이 절에서는 특정 버그 번호보다 포괄적인 이 릴리스의 Oracle VM Server for SPARC 소프트웨어에 대해 알려진 일반 문제에 대해 설명합니다. 가능한 경우에는 해결 방법이 제공됩니다.

마이그레이션을 취소한 후 대상 시스템에서 실행되는 ldm 명령이 일시적으로 응답하지 않음

라이브 마이그레이션을 취소할 경우 대상 시스템에 생성된 도메인 인스턴스의 메모리 내용을 하이퍼바이저에서 "지워야" 합니다. 이러한 스크러빙 프로세스는 보안 목적을 위해 수행되며, 메모리를 여유 메모리 풀로 반환하기 전에 완료해야 합니다. 이러한 스크러빙이 진행 중일 때는 ldm 명령이 응답하지 않습니다. 따라서 Logical Domains Manager가 중단된 것처럼 보입니다.

복구: 다른 ldm 명령을 실행하려고 시도하기 전에 이 스크러빙 요청이 완료될 때까지 기다려야 합니다. 이 프로세스는 오래 걸릴 수 있습니다. 예를 들어, 500GB 메모리가 포함된 게스트 도메인에서 이 프로세스를 완료하는 데에는 SPARC T4 서버의 경우 최대 7분, SPARC T3 서버의 경우 최대 25분까지 소요될 수 있습니다.

SPARC M5-32 및 SPARC M6-32: 다중 직접 I/O 경로를 통해 액세스할 수 있는 디스크 관련 문제

 

ldm add-vcpu 명령을 사용하여 CPU를 도메인에 지정할 경우 Oracle Solaris OS에서 다음 메시지와 함께 패닉이 발생할 수 있습니다.

panic[cpu16]/thread=c4012102c860: mpo_cpu_add: Cannot read MD

    이 패닉은 다음 조건이 있을 경우 발생합니다.

  • 추가 DCU가 호스트에 지정되었습니다.

  • 호스트에 지정된 일부 하드웨어를 포함하지 않는 이전에 저장된 SP 구성을 사용하여 호스트가 시작되었습니다.

ldm add-vcpu 작업의 대상 도메인이 패닉이 발생하는 도메인입니다. 재부트하면 도메인이 추가 CPU로 복구됩니다.

임시해결책: 호스트에 지정된 것보다 적은 수의 하드웨어 리소스로 생성된 구성을 사용하지 마십시오.

문제를 피하려면 문제 설명에 설명된 대로 CPU를 추가하지 마십시오. 또는 다음 단계를 수행합니다.

  1. DCU가 추가된 후 새로운 SP 구성을 생성합니다.

    예를 들어, 다음 명령은 new-config-more-dcus라는 구성을 만듭니다.

    primary# ldm add-config new-config-more-dcus
  2. 도메인을 종료합니다.

  3. 호스트를 중지합니다.

    -> stop /HOST
  4. 호스트를 시작합니다.

    -> start /HOST

모든 가상 기능을 삭제하고 슬롯을 루트 도메인으로 반환해도 루트 컴플렉스 리소스가 복원되지 않음

 

모든 가상 기능을 삭제하고 슬롯을 루트 도메인에 반환한 후에도 루트 컴플렉스의 리소스가 복원되지 않습니다.

복구: 루트 컴플렉스와 연관된 모든 가상 I/O 리소스를 해당 루트 도메인에 반환합니다.

먼저 컨트롤 도메인을 지연된 재구성에 배치합니다.

primary# ldm start-reconf primary

모든 하위 PCIe 슬롯을 pci_0 버스를 소유한 루트 도메인에 반환합니다. 그런 다음 pci_0 버스에서 모든 하위 가상 기능을 제거하고 삭제합니다.

마지막으로 pci_0 버스에 iov=off를 설정하고 루트 도메인을 재부트합니다.

primary# ldm set-io iov=off pci_0
primary# shutdown -y -g 10

임시해결책: 특정 PCIe 버스에 대해 iov 옵션을 off로 설정합니다.

primary# ldm start-reconf primary
primary# ldm set-io iov=off pci_0

init-system이 저장된 XML 파일에서 게스트 도메인의 이름이 지정된 코어 제약 조건을 복원하지 않음

 

저장된 XML 파일에서 게스트 도메인의 이름이 지정된 CPU 코어 제약 조건을 복원하기 위한 ldm init-system 명령이 실패합니다.

해결 방법: 다음 단계를 수행합니다.

  1. 기본 도메인에 대한 XML 파일을 만듭니다.

    # ldm ls-constraints -x primary > primary.xml
  2. 게스트 도메인에 대한 XML 파일을 만듭니다.

    # ldm ls-constraints -x domain-name[,domain-name][,...] > guest.xml
  3. 시스템을 껐다 켜고 출하 시 기본 구성으로 부트합니다.

  4. primary 도메인에 XML 구성을 적용합니다.

    # ldm init-system -r -i primary.xml
  5. 게스트 도메인에 XML 구성을 적용합니다.

    # ldm init-system -f -i guest.xml

도메인에서 많은 수의 CPU를 제거할 경우 실패할 수 있음

게스트 도메인에서 많은 수의 CPU를 제거하려고 시도하면 다음과 같은 오류 메시지가 표시될 수 있습니다.

Request to remove cpu(s) sent, but no valid response received
VCPU(s) will remain allocated to the domain, but might
not be available to the guest OS
Resource modification failed

해결 방법: 도메인에서 100개 이상의 CPU를 제거하기 전에 게스트 도메인을 중지하십시오.

Logical Domains가 구성된 경우 새로 추가된 NIU/XAUI 어댑터가 호스트 OS에 표시되지 않음

Logical Domains가 시스템에 구성된 상태에서 또 다른 XAUI 네트워크 카드를 추가하면 시스템 전원을 껐다 켠 후 카드가 표시되지 않습니다.

복구: 새로 추가된 XAUI가 컨트롤 도메인에 표시되도록 하려면 다음 단계를 수행합니다.

  1. 컨트롤 도메인에서 더미 변수를 설정하고 지웁니다.

    다음 명령은 fix-xaui라는 더미 변수를 사용합니다.

    # ldm set-var fix-xaui=yes primary
    # ldm rm-var fix-xaui primary
  2. 수정된 구성을 SP에 저장하여 현재 구성을 바꿉니다.

    다음 명령은 구성 이름으로 config1을 사용합니다.

    # ldm rm-spconfig config1
    # ldm add-spconfig config1
  3. 컨트롤 도메인의 재구성 재부트를 수행합니다.

    # reboot -- -r

    이번에는 새로 제공되는 네트워크를 Logical Domains에서 사용할 수 있도록 구성할 수 있습니다.

동적 버스 또는 PCI-Box 핫 플러그 작업을 통해 LSI SAS 2008을 추가할 수 없음

 

LSI SAS HBA 장치를 호스트하는 PCIe 버스를 제거하려고 시도하는 경우 나중에 동적 버스 또는 PCI-Box 핫 플러그 작업을 사용하여 장치를 추가할 수 없습니다.

특정 조건에서 게스트 도메인의 Solaris Volume Manager 구성 또는 메타 장치가 손실될 수 있음

서비스 도메인이 Oracle Solaris 10 1/13 OS 이전의 Oracle Solaris 10 OS 버전을 실행 중이고 게스트 도메인에 물리적 디스크 슬라이스를 가상 디스크로 내보내는 경우 이 가상 디스크는 게스트 도메인에서 잘못된 장치 ID로 표시됩니다. 해당 서비스 도메인을 다시 Oracle Solaris 10 1/13 OS로 업그레이드하면 가상 디스크로 내보낸 물리적 디스크 슬라이스가 게스트 도메인에 장치 ID 없이 표시됩니다.

이러한 가상 디스크의 장치 ID 제거로 인해 가상 디스크의 장치 ID를 참조하려고 시도하는 응용 프로그램에 문제가 발생할 수 있습니다. 특히, Solaris Volume Manager가 해당 구성을 찾을 수 없거나 해당 메타 장치에 액세스하지 못할 수 있습니다.

임시해결책: 서비스 도메인을 Oracle Solaris 10 1/13 OS로 업그레이드한 후 게스트 도메인이 해당 Solaris Volume Manager 구성 또는 해당 메타 장치를 찾을 수 없는 경우 다음 절차를 수행하십시오.

게스트 도메인의 Solaris Volume Manager 구성 또는 메타 장치를 찾는 방법

  1. 게스트 도메인을 부트합니다.
  2. /kernel/drv/md.conf 파일에 다음 라인을 추가하여 Solaris Volume Manager의 devid 기능을 사용 안함으로 설정합니다.
    md_devid_destroy=1;
    md_keep_repl_state=1;
  3. 게스트 도메인을 재부트합니다.

    도메인이 부트되면 Solaris Volume Manager 구성 및 메타 장치를 사용할 수 있어야 합니다.

  4. Solaris Volume Manager 구성이 올바른지 확인합니다.
  5. /kernel/drv/md.conf 파일에서 2단계에서 추가한 두 행을 제거하여 Solaris Volume Manager devid 기능을 다시 사용으로 설정합니다.
  6. 게스트 도메인을 재부트합니다.

    재부트 중에 다음과 비슷한 메시지가 표시됩니다.

    NOTICE: mddb: unable to get devid for 'vdc', 0x10

    이러한 메시지는 정상이며 문제를 보고하지 않습니다.

Oracle Solaris 부트 디스크 호환성

지금까지 Oracle Solaris OS는 SMI VTOC 디스크 레이블로 구성된 부트 디스크에 설치되었습니다. Oracle Solaris 11.1 OS부터는 기본적으로 EFI(Extensible Firmware Interface) GPT(GUID 분할 영역 테이블) 디스크 레이블로 구성된 부트 디스크에 OS가 설치됩니다. 펌웨어에서 EFI를 지원하지 않을 경우 대신 SMI VTOC 디스크 레이블로 디스크가 구성됩니다. 이 경우 시스템 펌웨어 버전 8.4.0 이상을 실행하는 SPARC T4 서버, 시스템 펌웨어 버전 9.1.0 이상을 실행하는 SPARC T5, SPARC M5, SPARC M6 서버, XCP 버전 2230 이상을 실행하는 Fujitsu M10 서버에만 적용됩니다.

    다음 서버의 경우 EFI GPT 디스크 레이블이 있는 디스크에서 부트할 수 없습니다.

  • 모든 시스템 펌웨어 버전의 UltraSPARC T2, UltraSPARC T2 Plus 및 SPARC T3 서버

  • 8.4.0 이전 버전의 시스템 펌웨어를 실행하는 SPARC T4 서버

  • 9.1.0 이전 버전의 시스템 펌웨어를 실행하는 SPARC T5, SPARC M5 및 SPARC M6 서버

  • 2230 이전 버전의 XCP를 실행하는 Fujitsu M10 서버

따라서 최신 SPARC T4, SPARC T5, SPARC M5, SPARC M6, Fujitsu M10 서버에 생성된 Oracle Solaris 11.1 부트 디스크는 이전 서버 또는 이전 펌웨어를 실행하는 서버에서 사용할 수 없습니다.

이러한 제한 사항으로 인해 콜드 또는 라이브 마이그레이션을 사용하여 도메인을 최신 서버에서 이전 서버로 이동할 수 없습니다. 또한 이전 서버에서 EFI GPT 부트 디스크 이미지를 사용할 수도 없습니다.

Oracle Solaris 11.1 부트 디스크가 서버 및 해당 펌웨어와 호환되는지 확인하려면 Oracle Solaris 11.1 OS가 SMI VTOC 디스크 레이블로 구성된 디스크에 설치되었는지 확인하십시오.

    이전 펌웨어를 실행하는 시스템과의 역호환성을 유지하려면 다음 절차 중 하나를 사용하십시오. 그렇지 않으면 기본적으로 부트 디스크에 EFI GPT 디스크 레이블이 사용됩니다. 다음 절차는 시스템 펌웨어 버전 8.4.0 이상을 실행하는 SPARC T4 서버, 시스템 펌웨어 버전 9.1.0 이상을 실행하는 SPARC T5, SPARC M5, SPARC M6 서버, XCP 버전 2230 이상을 실행하는 Fujitsu M10 서버에서 SMI VTOC 디스크 레이블이 있는 부트 디스크에 Oracle Solaris 11.1 OS가 설치되었는지 확인하는 방법을 보여줍니다.

  • 해결책 1: 펌웨어에서 EFI를 지원하지 않도록 gpt 등록 정보를 제거합니다.

    1. OpenBoot PROM 프롬프트에서 자동 부트를 사용 안함으로 설정하고 설치할 시스템을 재설정합니다.

      ok setenv auto-boot? false
      ok reset-all

      시스템이 재설정되면 ok 프롬프트로 돌아옵니다.

    2. /packages/disk-label 디렉토리로 변경하고 gpt 등록 정보를 제거합니다.

      ok cd /packages/disk-label
      ok " gpt" delete-property
    3. Oracle Solaris 11.1 OS 설치를 시작합니다.

      예를 들어 네트워크 설치를 수행합니다.

      ok boot net - install
  • 해결책 2: format -e 명령을 사용하여 Oracle Solaris 11.1 OS와 함께 설치할 디스크에 SMI VTOC 레이블을 씁니다.

    1. 디스크에 SMI VTOC 레이블을 씁니다.

      예를 들어 label 옵션을 선택하고 SMI 레이블을 지정합니다.

      # format -e c1d0
      format> label
      [0] SMI Label
      [1] EFI Label
      Specify Label type[1]: 0
    2. 전체 디스크를 포함하는 슬라이스 0과 슬라이스 2로 디스크를 구성합니다.

      디스크에 다른 분할 영역이 없어야 합니다. 예를 들면 다음과 같습니다.

      format> partition
       
      partition> print
      Current partition table (unnamed):
      Total disk cylinders available: 14087 + 2 (reserved cylinders)
      
      Part      Tag    Flag     Cylinders         Size            Blocks
        0       root    wm       0 - 14086      136.71GB    (14087/0/0) 286698624
        1 unassigned    wu       0                0         (0/0/0)             0
        2     backup    wu       0 - 14086      136.71GB    (14087/0/0) 286698624
        3 unassigned    wm       0                0         (0/0/0)             0
        4 unassigned    wm       0                0         (0/0/0)             0
        5 unassigned    wm       0                0         (0/0/0)             0
        6 unassigned    wm       0                0         (0/0/0)             0
        7 unassigned    wm       0                0         (0/0/0)             0
    3. SMI VTOC 디스크 레이블을 다시 씁니다.

      partition> label
      [0] SMI Label
      [1] EFI Label
      Specify Label type[0]: 0
      Ready to label disk, continue? y
    4. 부트 디스크의 슬라이스 0에 Oracle Solaris OS를 설치하도록 Oracle Solaris AI(자동 설치 프로그램)를 구성합니다.

      AI 매니페스트의 <disk> 발췌 부분을 다음과 같이 변경합니다.

      <target>
         <disk whole_disk="true">
              <disk_keyword key="boot_disk"/>
              <slice name="0" in_zpool="rpool"/>
         </disk>
      [...]
      </target>
    5. Oracle Solaris 11.1 OS 설치를 수행합니다.

때때로 동적으로 추가된 메모리 블록을 전체로서만 동적으로 제거할 수 있음

Oracle Solaris OS에서 동적으로 추가된 메모리를 관리하기 위해 메타 데이터를 처리하는 방법 때문에, 이전에 동적으로 추가된 메모리를 나중에 제거할 때 적절한 하위 세트가 아닌 전체 블록만 제거할 수 있습니다.

이러한 상황은 다음 예제에 표시된 것처럼 메모리 크기가 작은 도메인이 훨씬 큰 크기로 동적으로 증가할 경우에 발생할 수 있습니다.

primary# ldm list ldom1
NAME  STATE FLAGS   CONS VCPU MEMORY UTIL UPTIME
ldom1 active -n--   5000 2    2G     0.4% 23h

primary# ldm add-mem 16G ldom1

primary# ldm rm-mem 8G ldom1
Memory removal failed because all of the memory is in use.

primary# ldm rm-mem 16G ldom1

primary# ldm list ldom1
NAME  STATE FLAGS   CONS VCPU MEMORY UTIL UPTIME
ldom1 active -n--   5000 2    2G     0.4% 23h

임시해결책: ldm add-mem 명령을 사용하여 나중에 제거할 수 있는 것보다 큰 청크가 아닌 작은 청크로 메모리를 순차적으로 추가합니다.

    복구: 다음 작업 중 하나를 수행합니다.

  • 도메인을 중지하고 메모리를 제거한 후 도메인을 다시 시작합니다.

  • 도메인을 재부트합니다. 그러면 Oracle Solaris OS에서 메모리 관리 메타 데이터를 재할당하므로 이전에 추가된 메모리를 작은 청크로 동적으로 제거할 수 있습니다.