Solaris のシステム管理 (デバイスとファイルシステム)

hotplug コマンドによる PCIe ホットプラグ

hotplug コマンドを使ってホットプラグ処理可能な接続を管理できます。ここで言う接続とは、PCI Express (PCIe) および PCI SHPC デバイス上のコネクタまたはポートのみを指します。ホットプラグコネクタとは、コンポーネントの挿入や取り外しが行われるシステムの物理的機構のことです。ホットプラグポートとは、システムへのデバイスの接続が管理される、システムデバイスツリー内の論理表現です。

hotplug 機能を使用することで、オンボードデバイスを含むデバイスをシステムに物理的に追加したり取り外したりせずに、オンラインやオフラインにできます。

hotplug コマンドを使ってデバイスを管理するには、hotplug サービスを有効にする必要があります。


# svcadm enable svc:/system/hotplug:default

次の例は、hotplug コマンドの使用方法を示しています。

次のようにして、システム内のホットプラグ処理可能な PCI/PCIe コネクタ/ポート (仮想および物理) をすべて表示します。


# hotplug list -lv

PCIe スロットの Ethernet カードを構成します。次に例を示します。


# hotplug enable /pci0,0 pcie0

PCIe スロットの Ethernet カードの構成を解除します。次に例を示します。


# hotplug disable /pci0,0 pcie0

PCI デバイスノードをオフラインにして、ノードのデバイスドライバを切り離します。次に例を示します。


# hotplug offline /pci0,0/pci1 pci.0,2

PCI デバイスノードをオンラインにして、ノードのデバイスドライバを接続します。次に例を示します。


# hotplug online /pci0,0/pci1 pci.0,2

PCI ホットプラグ処理 (hotplug ) のトラブルシューティング

hotplug コマンドを使用するには、次のサービスが動作している必要があります。


svc:/system/hotplug:default

動作していない場合は、次のメッセージが表示されます。


ERROR: hotplug service is not available.

サポートされる入出力バスがシステムに存在しない場合、次のエラーメッセージが表示されます。


ERROR: there are no connections to display.
       (See hotplug(1m) for more information.)

上記のエラーメッセージは、ホットプラグ対応のほかの入出力デバイスがシステムに存在するが、それらのデバイスの管理には hotplug コマンドではなく cfgadm コマンドを使用する必要がある場合にも表示されます。