Go to main content
Oracle® VM Server for SPARC 3.4 관리 설명서

인쇄 보기 종료

업데이트 날짜: 2016년 8월
 
 

PCIe 버스를 지정하여 루트 도메인을 만드는 방법

이 절차 예에서는 primary 도메인이 여러 버스를 소유한 초기 구성에서 새 루트 도메인을 만드는 방법을 보여줍니다. 기본적으로 primary 도메인은 시스템에 있는 모든 버스를 소유합니다. 이 예는 SPARC T4-2 서버용입니다. 다른 서버에서도 이 절차를 사용할 수 있습니다. 다른 서버에 대한 지침은 이 예의 지침과 약간 다를 수 있지만 이 예를 통해 기본 원칙을 확인할 수 있습니다.

부트 디스크와 기본 네트워크 인터페이스를 호스트하는 PCIe 버스를 primary 도메인에서 제거하지 않도록 하십시오.


Caution

주의  - 지원되는 서버의 모든 내부 디스크를 단일 PCIe 버스에 연결할 수 있습니다. 도메인이 내부 디스크에서 부트되는 경우 도메인에서 해당 버스를 제거하지 마십시오. 네트워크 포트나 usbecm 장치와 같이 도메인이 사용하는 장치가 있는 버스를 제거하지 않도록 하십시오. 잘못된 버스를 제거하면 도메인이 필요한 장치에 액세스하지 못할 수 있으며 도메인을 사용하지 못할 수 있습니다. 도메인이 사용하는 장치가 있는 버스를 제거하려면 다른 버스에서 장치를 사용하도록 해당 도메인을 재구성하십시오. 예를 들어, 다른 PCIe 슬롯에서 다른 내장 네트워크 포트 또는 PCIe 카드를 사용하도록 도메인을 재구성해야 할 수 있습니다. 특정 SPARC 서버의 경우 USB, 그래픽 컨트롤러와 기타 장치가 있는 PCIe 버스를 제거할 수 있습니다. 그러나 해당 PCIe 버스를 다른 도메인에 추가할 수는 없습니다. 해당 PCIe 버스는 primary 도메인에만 추가할 수 있습니다.


이 예에서 primary 도메인은 ZFS 풀(rpool) 및 네트워크 인터페이스(igb0)만 사용합니다. primary 도메인이 보다 많은 장치를 사용하는 경우 각 장치에 대해 2-4단계를 반복하여 제거할 버스에 장치가 남아 있지 않도록 하십시오.

장치 경로(pci@nnn) 또는 익명(pci_n)을 사용하여 버스를 도메인에 추가하거나 도메인에서 제거할 수 있습니다. ldm list-bindings primary 또는 ldm list -l -o physio primary 명령은 다음을 보여줍니다.

  • pci@400pci_0에 해당합니다.

  • pci@500pci_1에 해당합니다.

  • pci@600pci_2에 해당합니다.

  • pci@700pci_3에 해당합니다.

  1. primary 도메인이 2개 이상의 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. 보존해야 할 부트 디스크의 장치 경로를 확인합니다.
    • UFS 파일 시스템의 경우 df / 명령을 실행하여 부트 디스크의 장치 경로를 확인합니다.
      primary# df /
      /                  (/dev/dsk/c0t5000CCA03C138904d0s0):22755742 blocks  2225374 files
    • ZFS 파일 시스템의 경우 먼저 df / 명령을 실행하여 풀 이름을 확인합니다. 그런 다음 zpool status 명령을 실행하여 부트 디스크의 장치 경로를 확인합니다.
      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. 시스템의 부트 디스크에 대한 정보를 얻습니다.
    • Solaris I/O 다중 경로로 관리되는 디스크의 경우 mpathadm 명령을 사용하여 연결된 부트 디스크에서 PCIe 버스를 확인합니다.
      1. 디스크가 연결된 개시자 포트를 찾습니다.
        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. 개시자 포트가 있는 PCIe 버스를 확인합니다.
        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
    • Solaris I/O 다중 경로로 관리되지 않는 디스크의 경우 ls -l 명령을 사용하여 블록 장치가 연결된 물리적 장치를 확인합니다.

      다음 예에서는 블록 장치 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

      이 예에서 primary 도메인의 부트 디스크에 대한 물리적 장치가 pci@400 버스에 연결됩니다.

  4. 시스템이 사용하는 네트워크 인터페이스를 확인합니다.

    ifconfig 명령을 사용하여 “플럼된” 기본 네트워크 인터페이스를 식별합니다. IP 프로토콜에서 장치를 사용할 수 있도록 연결된 인터페이스의 스트림이 설정됩니다.

    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. 네트워크 인터페이스가 연결된 물리적 장치를 확인합니다.

    다음 명령은 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

    ls -l /dev/usbecm 명령도 수행합니다.

    이 예에서 primary 도메인이 사용하는 네트워크 인터페이스에 대한 물리적 장치는 이전 pci_1 목록에 해당하는 버스 pci@500에 있습니다. 따라서 다른 2개의 버스 pci_2(pci@600) 및 pci_3(pci@700)은 primary 도메인이 사용하지 않으므로 다른 도메인에 지정해도 됩니다.

    primary 도메인이 사용하는 네트워크 인터페이스가 다른 도메인에 지정할 버스에 있을 경우 다른 네트워크 인터페이스를 사용하도록 primary 도메인을 재구성합니다.

  6. 부트 디스크 또는 네트워크 인터페이스를 포함하지 않는 버스를 primary 도메인에서 제거합니다.

    이 예에서는 pci_2 버스가 primary 도메인에서 제거되고 있습니다.

    • 동적 방법:

      pci_2 버스의 장치를 primary 도메인 OS에서 사용하지 않는지 확인합니다. 만일 사용 중이면 이 명령이 버스를 제거하지 못할 수 있습니다. 정적 방법을 사용하여 pci_2 버스를 강제로 제거합니다.

      primary# ldm remove-io pci_2 primary
    • 정적 방법:

      버스를 제거하기 전에 지연된 재구성을 시작해야 합니다.

      primary# ldm start-reconf primary
      primary# ldm remove-io pci_2 primary
      primary# shutdown -y -g0 -i6

    primary 도메인이 부트 디스크 및 네트워크 장치에 사용하는 버스는 다른 도메인에 지정할 수 없습니다. 기타 모든 버스는 다른 도메인에 지정할 수 있습니다. 이 예에서 pci@600primary 도메인에 사용되지 않으므로 다른 도메인에 재지정할 수 있습니다.

  7. 도메인에 버스를 추가합니다.

    이 예에서는 pci_2 버스를 ldg1 도메인에 추가합니다.

    • 동적 방법:
      primary# ldm add-io pci_2 ldg1
    • 정적 방법:

      버스를 추가하기 전에 도메인을 중지해야 합니다.

      primary# ldm stop-domain ldg1
      primary# ldm add-io pci_2 ldg1
      primary# ldm start-domain ldg1
  8. 서비스 프로세서에 이 구성을 저장합니다.

    이 예에서 구성은 io-domain입니다.

    primary# ldm add-config io-domain

    이 구성 io-domain은 재부트 후 사용할 다음 구성으로도 설정됩니다.

  9. primary 도메인에 여전히 올바른 버스가 지정되어 있으며 도메인 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

    이 출력은 PCIe 버스 pci_0, pci_1pci_3과 해당 장치가 primary 도메인에 지정되었음을 확인합니다. PCIe 버스 pci_2 및 해당 장치가 ldg1 도메인에 지정된 것도 확인할 수 있습니다.