ナビゲーションリンクをスキップ
印刷ビューの終了
| Oracle VM Server for SPARC 3.0 管理ガイド Oracle VM Server for SPARC (日本語)

検索範囲:

- このドキュメント
- ライブラリ全体

## PCIe バスの割り当て

Oracle VM Server for SPARC ソフトウェアを使用して、PCIe バス全体 (別名「ルートコンプレックス」) をドメインに割り当てることができます。PCIe バス全体は、PCIe バス自体と、すべての PCI スイッチとデバイスで構成されます。サーバーに存在する PCIe バスは、`pci@400` (`pci_0`) などの名前により識別されます。PCIe バス全体で構成された I/O ドメインは、「ルートドメイン」とも呼ばれます。

次の図は、2 つの PCIe バス (`pci_0` と `pci_1`) が存在するシステムを示しています。個々のバスが、別々のドメインに割り当てられています。このため、システムには 2 つの I/O ドメインが構成されます。

図 6-1 PCIe バスの I/O ドメインへの割り当て

PCIe バスで作成できる I/O ドメインの最大数は、サーバー上で使用できる PCIe バスの数に依存します。たとえば、Oracle Sun SPARC Enterprise T5440 サーバーを使用している場合、使用できる I/O ドメインは最大 4 つです。

注 - 一部の UltraSPARC サーバーには、PCIe バスは 1 つしか存在しません。このような場合、PCIe エンドポイントデバイス (または直接 I/O を割り当てが可能なデバイス) をドメインに割り当てることで、I/O ドメインを作成できます。「PCIe エンドポイントデバイスの割り当て」を参照してください。システムにネットワークインタフェースユニット (NIU) が存在する場合、NIU をドメインに割り当てて I/O ドメインを作成することもできます。

PCIe バスを I/O ドメインに割り当てると、そのバス上のすべてのデバイスはその I/O ドメインに所有されます。そのバス上の PCIe エンドポイントデバイスを他のドメインに割り当てることはできません。`primary` ドメインに割り当てられている PCIe バス上の PCIe エンドポイントデバイスのみが、他のドメインに割り当て可能です。

Logical Domains 環境でサーバーが最初に構成されるとき、または `factory-default` 構成を使用しているとき、`primary` ドメインはすべての物理デバイスリソースにアクセスできます。つまり、システムに構成されている I/O ドメインは `primary` ドメインのみであり、このドメインがすべての PCIe バスを所有します。

## PCIe バスの割り当てによって I/O ドメインを作成する方法

このプロシージャー例は、複数のバスが `primary` ドメインに所有されている初期構成から、新しい I/O ドメインを作成する方法を示しています。デフォルトでは、システム上に存在するすべてのバスを `primary` ドメインが所有しています。この例は、SPARC T4-2 サーバーを対象としています。この手順は、ほかのサーバーにも使用できます。別のサーバーではこれらの手順と若干異なる場合がありますが、この例では基本的な方針について理解できます。

最初に、`primary` ドメインのブートディスクを持つバスを保持する必要があります。それから、その他のバスを `primary` ドメインから削除してほかのドメインに割り当てます。

| 注意 - サポートされているサーバーの内部ディスクはすべて、単一の PCIe バスに接続されている場合があります。ドメインが内部ディスクからブートする場合は、ドメインからそのバスを削除しないでください。また、ドメインで使用されているネットワークポートなどのデバイスが接続されたバスを削除していないことを確認してください。誤ったバスを削除すると、ドメインは必要なデバイスにアクセスできず、使用できなくなることがあります。ドメインで使用されているデバイスが接続されたバスを削除する場合は、ほかのバスのデバイスを使用するよう、そのドメインを再構成してください。たとえば、別のオンボードネットワークポートや、別の PCIe スロットの PCIe カードを使用するよう、ドメインを再構成する必要がある場合があります。

この例では、`primary` ドメインは 1 つの ZFS プール (`rpool` (`c0t1d0s0`)) と 1 つのネットワークインタフェース (`igb0`) のみを使用します。`primary` ドメインで複数のデバイスを使用する場合は、デバイスごとに手順 2 - 4 を繰り返して、削除するバスにそれらのデバイスがないことを確認します。

1. `primary` ドメインが複数の PCIe バスを所有していることを確認します。

       primary# ldm list-io
       NAME                                      TYPE   BUS      DOMAIN   STATUS
       ----                                      ----   ---      ------   ------
       niu_0                                     NIU    niu_0    primary
       niu_1                                     NIU    niu_1    primary
       pci_0                                     BUS    pci_0    primary
       pci_1                                     BUS    pci_1    primary
       /SYS/MB/PCIE0                             PCIE   pci_0    primary  OCC
       /SYS/MB/PCIE2                             PCIE   pci_0    primary  OCC
       /SYS/MB/PCIE4                             PCIE   pci_0    primary  OCC
       /SYS/MB/PCIE6                             PCIE   pci_0    primary  EMP
       /SYS/MB/PCIE8                             PCIE   pci_0    primary  EMP
       /SYS/MB/SASHBA                            PCIE   pci_0    primary  OCC
       /SYS/MB/NET0                              PCIE   pci_0    primary  OCC
       /SYS/MB/PCIE1                             PCIE   pci_1    primary  OCC
       /SYS/MB/PCIE3                             PCIE   pci_1    primary  OCC
       /SYS/MB/PCIE5                             PCIE   pci_1    primary  OCC
       /SYS/MB/PCIE7                             PCIE   pci_1    primary  EMP
       /SYS/MB/PCIE9                             PCIE   pci_1    primary  EMP
       /SYS/MB/NET2                              PCIE   pci_1    primary  OCC
       /SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary
       /SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary
       /SYS/MB/PCIE5/IOVNET.PF0                  PF     pci_1    primary
       /SYS/MB/PCIE5/IOVNET.PF1                  PF     pci_1    primary
       /SYS/MB/NET2/IOVNET.PF0                   PF     pci_1    primary
       /SYS/MB/NET2/IOVNET.PF1                   PF     pci_1    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. ブートディスクが接続されている 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

4. システムで使用されているネットワークインタフェースを確認します。

   `ifconfig` コマンドを使用して、「plumb」されているプライマリネットワークインタフェースを確認します。

   - Oracle Solaris 10。

         primary# ifconfig -a
         lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
                 inet 127.0.0.1 netmask ff000000
         igb0: 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

   - Oracle Solaris 11。

         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

   この例では、`primary` ドメインによって使用されるネットワークインタフェースの物理デバイスは、前述の一覧の `pci_1` に対応するバス `pci@500` に接続しています。そのため、ほかの 2 つのバス `pci_2` (`pci@600`) と `pci_3` (`pci@700`) は `primary` ドメインでは使用されていないため、ほかのドメインに安全に割り当てることができます。

   `primary` ドメインで使用されているネットワークインタフェースが、別のドメインに割り当てようとしているバス上にある場合は、別のネットワークインタフェースを使用するように `primary` ドメインを再構成する必要があります。

6. ブートディスクまたはネットワークインタフェースを含まないバスを `primary` ドメインから削除します。

   この例では、バス `pci_1` が `primary` ドメインから削除されます。遅延再構成を開始する必要もあります。

       primary# ldm start-reconf primary
       primary# ldm remove-io pci_1 primary

7. この構成をサービスプロセッサに保存します。

   この例では、構成は `io-domain` です。

       primary# ldm add-config io-domain

   この構成 `io-domain` は、リブート後に使用される次の構成としても設定されます。

8. ルートドメインをリブートして、変更を有効にします。

       primary# shutdown -i6 -g0 -y

9. PCIe バスを追加するドメインを停止します。

   ここでは、例として `ldg1` ドメインを停止します。

       primary# ldm stop ldg1

10. 直接のアクセス権が必要なドメインに、使用可能なバスを追加します。

    利用可能なバスは `pci_1`、ドメインは `ldg1` です。

        primary# ldm add-io pci_1 ldg1

11. ドメインを再起動して、変更を有効にします。

    次のコマンドでは、`ldg1` ドメインを再起動します。

        primary# ldm start ldg1

12. 適切なバスが `primary` ドメインに割り当てられたままで、適切なバスがドメイン `ldg1` に割り当てられていることを確認します。

        primary# ldm list-io
        NAME                                      TYPE   BUS      DOMAIN   STATUS
        ----                                      ----   ---      ------   ------
        niu_0                                     NIU    niu_0    primary
        niu_1                                     NIU    niu_1    primary
        pci_0                                     BUS    pci_0    primary
        pci_1                                     BUS    pci_1    ldg1
        /SYS/MB/PCIE0                             PCIE   pci_0    primary  OCC
        /SYS/MB/PCIE2                             PCIE   pci_0    primary  OCC
        /SYS/MB/PCIE4                             PCIE   pci_0    primary  OCC
        /SYS/MB/PCIE6                             PCIE   pci_0    primary  EMP
        /SYS/MB/PCIE8                             PCIE   pci_0    primary  EMP
        /SYS/MB/SASHBA                            PCIE   pci_0    primary  OCC
        /SYS/MB/NET0                              PCIE   pci_0    primary  OCC
        /SYS/MB/PCIE1                             PCIE   pci_1    ldg1     OCC
        /SYS/MB/PCIE3                             PCIE   pci_1    ldg1     OCC
        /SYS/MB/PCIE5                             PCIE   pci_1    ldg1     OCC
        /SYS/MB/PCIE7                             PCIE   pci_1    ldg1     EMP
        /SYS/MB/PCIE9                             PCIE   pci_1    ldg1     EMP
        /SYS/MB/NET2                              PCIE   pci_1    ldg1     OCC
        /SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary
        /SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary
        /SYS/MB/PCIE5/IOVNET.PF0                  PF     pci_1    ldg1
        /SYS/MB/PCIE5/IOVNET.PF1                  PF     pci_1    ldg1
        /SYS/MB/NET2/IOVNET.PF0                   PF     pci_1    ldg1
        /SYS/MB/NET2/IOVNET.PF1                   PF     pci_1    ldg1

    この出力では、PCIe バス `pci_0` とそのデバイスが `primary` ドメインに割り当てられていることが確認されます。また、PCIe バス `pci_1` とそのデバイスが `ldg1` ドメインに割り当てられていることも確認されます。

Copyright © 2007, 2013, Oracle and/or its affiliates. All rights reserved. 著作権について |