PCI Hot Plug ユーザーズガイド I/Oデバイス編
目次 前ページ次ページ

上へ第3章 ファイル関連デバイス
上へ3.2 増設手順
上へ3.2.2 Solaris 9 OE以降の場合

3.2.2.2 新規冗長構成の追加

ここでは、Solaris 9 OE以降のシステムにおいて、新規に冗長構成のPCIカードを追加する場合の手順の流れを、以下の冗長化ソフトウェア製品を例にあげて示します。

他の冗長化ソフトウェア製品を使用している場合は、各製品のマニュアルを参照してください。

  1. マシン管理のハードウェア監視の停止

    マシン管理のハードウェア異常監視デーモンを停止するため、以下のコマンドを実行します。

    # /usr/sbin/FJSVmadm/prephp <Return>


  2. PCIカードの増設

    以下の手順により、PCIカードを増設します。

    なお、下記環境設定のファイバチャネルカードを増設する場合には、増設部品のWWPN(World Wide Port Name:全16桁の数字)が必要となります。

    ただし、Systemwalker/StorageMGRのSAN管理機能、Softek SANView for ETERNUS(for Vixelは除く)、SP5000 SRM Facilityの何れかを使用している場合は、WWPNを自動的に確保するため、2.a.の作業に移ります。

    増設するカードのWWPNは、カード前面板にシールで貼られている8桁の数字から導き出します。
    この8桁の数字は、WWPNの下位8桁を16進数で表現しています。上位8桁の数字は、固定の16進数で10000000になります。
    例えば、前面板上に記載された8桁の数字(0e244061)が下記の場合に、増設するカードのWWPNは100000000e244061になります。

    0e24
    4061


    1. PCIカードを増設する前に、prtpicl(1M)コマンドの実行結果(現在の構成情報)を保存します。

      # prtpicl -v > /tmp/prtpicl.pre <Return>


    2. PCIカードを増設するPCIスロットの状態を確認します。
      新規冗長構成の追加では、複数枚のPCIカードを増設しますが、その場合は、3.までの手順を各追加カードごとに実行してください。
      PCIスロットの位置とAp_Idの書式の関係は、以下のようになります。(N: 整数)

      PCIスロットの場所

      スロットを特定する要素

      Ap_Idの書式

      PRIMEPOWER 900/1500/2500の筐体内

      筐体番号:X
      システムボード番号:Y
      物理スロット番号:ZZ

      Solaris 9 OE の場合
       pcipsyN:CXM0Y-PCI#slotZZ

      Solaris 10 OE の場合
       CXM0Y-PCI#slotZZ

      PCI/ディスクBOX

      I/O筐体番号:X
      PCI/ディスクBOX番号:Y
      物理スロット番号:ZZ

      Solaris 9 OE の場合
       pcipsyN:RXB0Y-PCI#slotZZ

      Solaris 10 OE の場合
       RXB0Y-PCI#ZZ

      上記以外

      物理スロット番号:ZZ

      Solaris 9 OE の場合
       pcipsyN:PCI#slotZZ

      Solaris 10 OE の場合
       PCI#ZZ


      以降では、I/O筐体番号:0、PCI/ディスクBOX番号:1、物理スロット番号:02のPCI/ディスクBOX内スロット(R0B01-PCI#slot02)にPCIカード増設を行う場合を例として説明します。

      cfgadm(1M)コマンドを使用して、増設したPCIカードのスロット状態が"empty unconfigured"になったことを確認します。

      # cfgadm | grep R0B01-PCI#slot02 <Return>
      pcipsy18:R0B01-PCI#slot02unknownemptyunconfiguredunknown


    3. スロット位置確認のため、2.b.で表示されたAp_Idを指定してPCIカードを増設するPCIスロットのALARM LEDを点滅させます。

      # cfgadm -x led=fault,mode=blink pcipsy18:R0B01-PCI#slot02 <Return>


    4. PCIカードを増設するPCIスロットのREADY LEDが消灯していることを確認し、PCIカードを増設します。本作業は、当社技術員が行います。

    5. cfgadm(1M)コマンドを使用して、増設したPCIカードのスロット状態が"disconnected unconfigured"になったことを確認します。

      # cfgadm pcipsy18:R0B01-PCI#slot02 <Return>
      Ap_IdTypeReceptacleOccupantCondition
      pcipsy18:R0B01-PCI#slot02unknowndisconnectedunconfiguredunknown


  3. PCIカードの組込み

    2.b.で求めたAp_Idに対してconfigure指定のcfgadm(1M)コマンドを実行するか、または、増設スロット位置のプッシュボタンを押すことによって、増設したPCIカードを組み込みます。
    なお、プッシュボタンはマルチユーザモードの場合のみ有効です。
    その後cfgadm(1M)コマンドによって、スロット状態が"connected configured"になったことを確認します。
    増設スロットのPCIカードに大規模構成のI/Oデバイスが接続されている場合には、状態確認のコマンド実行に時間がかかることがあります。

    # cfgadm -c configure pcipsy18:R0B01-PCI#slot02 <Return>
    # cfgadm pcipsy18:R0B01-PCI#slot02 <Return>
    Ap_IdTypeReceptacleOccupantCondition
    pcipsy18:R0B01-PCI#slot02mult/hpconnectedconfiguredok


  4. マシン管理のハードウェア構成情報更新/ハードウェア監視の起動

    マシン管理のハードウェア構成情報更新とハードウェア監視の再起動のため、以下のコマンドを実行します。

    # /usr/sbin/FJSVmadm/postphp <Return>


  5. デバイスの増設

    増設したPCIカードに、冗長コントローラ構成の新規ディスクアレイ装置を接続します。

    ファイバチャネルスイッチSN200 seriesの構成において、ゾーニング機能を使用している場合には、追加した装置に対するゾーニング設定を行う必要があります。

    【Systemwalker/StorageMGRのSAN管理機能、Softek SANView for ETERNUS(for Vixelは除く)、SP5000 SRM Facilityの何れかを使用している場合】
      SN200 seriesのゾーニング情報の変更、ディスクアレイ装置ETERNUS3000/ETERNUS6000/GR700/800 seriesのホストゾーニング(Host Afinity)設定の変更、fjpfca.conf,sd.confの変更は、SAN管理画面から『アクセスパスの設定』を実行することで自動的に行われます。
    詳細は、各製品の使用手引書もしくはユーザーズガイドを参照してください。
    なお、この機能を実行する場合には、次の手順 6.a.1)および6.a.2)[fcp-bind-target以外の設定]を事前に実施しておく必要があります。
    また、この機能実行後には、6.a.3)から処理を進めてください。
     
    【上記製品のSAN管理機能を使用していない場合】
      SN200 seriesの設定変更を個別に行う必要があります。詳細は、"SN200 seriesゾーニングユーザガイド"および"ETERNUSmgrユーザガイド/GRmgrユーザガイド"を参照してください。

    注意

    SN200 seriesにおいてゾーニング設定の変更を行った場合、実行中の他の装置へのI/Oがゾーニング変更の影響を受け、一時的なエラーが発生することがあります。
    ディスクアレイ装置などに対するI/Oは、リトライ処理により正常に復旧しますが、ファイバチャネルテープ装置では、バックアップ処理等がエラー終了することがあります。ゾーニングの変更処理は、バックアップを停止してから実施してください。

  6. ドライバの設定追加

    以下の操作により、ドライバの設定を追加します。
    ファイル関連ドライバでは、PCIカードドライバとデバイスドライバの設定を追加する必要があります。

    1. PCIカードドライバの設定追加
      【SCSIドライバ(Solaris OE:glm)の場合】
        設定は不要です。
       
      【Fibre Channelドライバ(FUJITSU PCI Fibre Channel)の場合】
       
      1) prtpicl(1M)コマンドの実行結果を保存し、2.a.で採取した情報との差分をとり、追加したPCIカードに対するfjpfcaドライバのインスタンス番号を求めます。
      以下の例では、インスタンス番号が1となっていることから、追加したPCIカードのインタフェース名はfjpfca1と判断することができます。
      インスタンス番号とスロット位置の対応関係は、fc_admコマンドにより増設したPCIカードのLEDを点滅させることで特定できます。また、追加したカードのWWPNとインスタンス番号の対応については、"fc_info -a"コマンドで確認することができます。

      # prtpicl -v > /tmp/prtpicl.pfca <Return>
      # diff /tmp/prtpicl.pre /tmp/prtpicl.pfca | more <Return>
            :
      > :status okay
      > :devfs-path /pci@8d,2000/fibre-channel@1
      > :driver-name fjpfca
      > :binding-name pci10cf,105c
      > :bus-addr 1
      > :instance 1
      > :_class obp-device
      > :name fibre-channel
            :

      # /usr/sbin/FJSVpfca/fc_adm -l fjpfca1 <Return>


      2) /kernel/drv/fjpfca.confファイルを編集し、6.a.1)で求めた複数個のインスタンス番号に対して、以下のプロパティ定義を追加します。

      port (トポロジー種別、リンクスピード)

      Fabric接続のPCIカード増設時に定義します。
      FC-AL接続では、本定義は不要です。

      fcp-bind-target (target IDとWWNの結びつけ)

      Fabric接続のディスクアレイ装置を増設した場合に定義します。
      FC-AL接続では、本定義は不要です。

      max-throttle (最大SCSIコマンド発行数)

      SCSIコマンドの同時発行数を制限するための定義です。

      本定義の必要性や設定値は、ディスクアレイ装置の仕様に依存するため、各ディスクアレイ装置の取扱説明書を参照してください。 以下は、fjpfca1(インスタンス番号:1)のPCIカードと、target=3のディスクアレイ装置に関する定義を追加した場合の例です。

      # vi /kernel/drv/fjpfca.conf <Return>
            :
      port=
      "fjpfca0:nport",
      "fjpfca1:nport:sp1";           ← 追加

      fcp-bind-target=
      "fjpfca0t0:0x50000e1000002501",
      "fjpfca1t3:0x50000e1000002ab0";  ← 追加

      max-throttle=
      "fjpfca0t0:128",
      "fjpfca1t3:240";             ← 追加
            :


      3) fjpfcaドライバに増設部分の組込みを指示するため、以下のコマンドを実行します。

      # /usr/sbin/FJSVpfca/fc_config -v <Return>


    2. デバイスドライバの設定追加

      ここでは、target=3,lun=0〜2の冗長コントローラ構成のディスクアレイ装置を5.の手順で増設した場合を例に説明します。

      ディスクアレイ装置の活性増設を初めて実施した場合は、6.b.1)の手順から作業を開始します。/usr/sbin/hddvadmdrが存在し、以前に予約増設を実施したことがある場合は、6.b.5)の手順から作業を開始してください。

      1) /kernel/drv/hddv.confの存在有無を確認します。
      /kernel/drv/hddv.confファイルの存在有無を確認し、ファイルが存在しない場合は、ハードディスクドライバの新規インストール時であるため、手順6.b.3)から作業を行います。/kernel/drv/hddv.confファイルが存在しない場合は、非活性増設手順での設定運用時であるため、手順6.b.2)から作業を行ってください。
      • 存在しない場合(新規インストール時) [→ 6.b.3)の手順へ]
        # ls /kernel/drv/hddv.conf <Return>
        /kernel/drv/hddv.conf: No such file or directory
      • 存在する場合(非活性増設手順での設定運用時) [→ 6.b.2)の手順へ]
        # ls /kernel/drv/hddv.conf <Return>
        /kernel/drv/hddv.conf

      2) 非活性増設手順での設定運用時には、以下のコマンドを実行し、/kernel/drv/hddv.confが削除されたことを確認します。

      # hddvadm -i <Return>
      # ls /kernel/drv/hddv.conf <Return>
      /kernel/drv/hddv.conf: No such file or directory


      3) 以下のコマンド実行により、活性増設機能用のhddv.confファイルを作成します。
      "非活性増設手順での設定運用時"のメッセージ例は、現在使用中のtarget=1(lun=0)のディスクアレイ装置GR720がsd/hddvドライバに二重登録されていることを意味します。
      • 新規インストール時 [→ 6.b.5)の手順へ]
        # hddvadm -M <Return>
      • 非活性増設手順での設定運用時 [→ 6.b.4)の手順へ]
        # hddvadm -M <Return>
        already ID= 1 exists. /devices/pci@1d,2000/fibre-channel@1/sd@1,0:a,raw : GR720

      4) 活性増設を実施する場合には、sd.confとhddv.confに同一のtarget番号を登録できないため、双方の定義が重複する場合には、sd.confの重複定義部分を削除またはコメントアウトします。
      以下は、target=1が重複した場合の例です。

      # vi /kernel/drv/sd.conf <Return>
            :
      name="sd" class="scsi"
         target=0 lun=0;
            :
      #name="sd" class="scsi"     
         target=1 lun=0;
      #name="sd" class="scsi"   sd/hddvの重複定義部分を
         target=1 lun=1;      削除またはコメントアウトします。
      #name="sd" class="scsi"
         target=1 lun=2;        
            :


      ただし、システムディスクやCD-ROM等のsdドライバですでに使用中のtarget番号は削除できません。
      このような場合は、hddv.confとディスクアレイ装置のtarget番号を、sd.confと重複しない番号に変更してください。

      5) hddvadm -M コマンドで自動生成された/kernel/drv/hddv.confファイルを編集し、活性増設したLUN定義と非活性増設手順設定で現在使用中のLUN定義に該当する部分のコメントをはずします。
      冗長構成の各ディスクアレイ装置コントローラのtarget番号を異なる番号にした場合は、各target番号を同時に追加定義します。
      以前に活性増設を実施したことがあり、今回追加したLUN定義がすでに存在する場合は、編集の必要はありません。
      以下の例では、活性増設対象のtarget=3,lun=0〜2と、非活性増設手順設定で使用中のディスクアレイ装置GR720(target=1)を登録しています。

      # ls /kernel/drv/hddv.conf <Return>
      /kernel/drv/hddv.conf
      # vi /kernel/drv/hddv.conf <Return>
            :
      #name="hddv" class="scsi" target=0 lun=0;
            :
      #name="hddv" class="scsi" target=0 lun=7;
            :
      name="hddv" class="scsi" target=1 lun=0;    
      name="hddv" class="scsi" target=1 lun=1; 使用中LUNのコメントをはずします。
      name="hddv" class="scsi" target=1 lun=2;    
            :
      name="hddv" class="scsi" target=3 lun=0;    
      name="hddv" class="scsi" target=3 lun=1; 増設済LUNのコメントをはずします。
      name="hddv" class="scsi" target=3 lun=2;    
      #name="hddv" class="scsi" target=3 lun=3;
            :


      6) hddvchk_confコマンドの実行により、sd.confとhddv.confのLUN定義に重複がないことを確認します。
      "チェックNGの場合"のメッセージ例は、target=3が双方に二重定義されていることを意味するため、6.b.4)の手順に戻ります。
      以下は、FJSVhddvパッケージを/optにインストールした場合の実行例で、hddvchk_confコマンドの格納ディレクトリは、インストールディレクトリによって変わります。

      7) ハードディスクドライバに追加したLUNの組込みを指示するため、以下のコマンドを実行します。

      # update_drv -f hddv <Return>


      現在使用中のディスクアレイ装置が存在する場合には、以下のメッセージが出力されますが、動作には問題ありません。

      # update_drv -f hddv <Return>
      Cannot unload module: hddv
      Will be unloaded upon reboot.
      Forcing update of hddv.conf.


      8) prtpicl(1M)コマンドの実行結果を保存後、2.a.の採取情報との差分をとることによって、追加したLUNの物理パス名を求め、これに対応する/dev/dsk配下の論理パス名を求めます。
      以下の例では、"c3t3d0","c4t3d0"が追加したlun=0の論理パス名であると判断することができます。lun=1,2の論理パス名は、cXtYdZが、X:PCIカード番号、Y:target番号、Z:lun番号、を示すことから、それぞれ"c3t3d1","c4t3d1","c3t3d2","c4t3d2"になります。

      # prtpicl -v > /tmp/prtpicl.post <Return>
      # diff /tmp/prtpicl.pre /tmp/prtpicl.post | grep devfs-path | grep hddv <Return>
      >  :devfs-path  /pci@8d,2000/fibre-channel@1/hddv@3,0
      >  :devfs-path  /pci@8d,2000/fibre-channel@1/hddv@3,1
      >  :devfs-path  /pci@8d,2000/fibre-channel@1/hddv@3,2
      >  :devfs-path  /pci@89,2000/fibre-channel@1/hddv@3,0
      >  :devfs-path  /pci@89,2000/fibre-channel@1/hddv@3,1
      >  :devfs-path  /pci@89,2000/fibre-channel@1/hddv@3,2
      # ls -l /dev/dsk | grep /pci@8d,2000/fibre-channel@1/hddv@3,0 <Return>

      lrwxrwxrwx    1  root    root        41  Sep 20  22:53  c3t3d0s0 
      -> ../../devices/pci@8d,2000/fibre-channel@1/hddv@3,0:a
      lrwxrwxrwx    1  root    root        41  Sep 20  22:53  c3t3d0s1 
      -> ../../devices/pci@8d,2000/fibre-channel@1/hddv@3,0:b
      lrwxrwxrwx    1  root    root        41  Sep 20  22:53  c3t3d0s2 
      -> ../../devices/pci@8d,2000/fibre-channel@1/hddv@3,0:c
      lrwxrwxrwx    1  root    root        41  Sep 20  22:53  c3t3d0s3 
      -> ../../devices/pci@8d,2000/fibre-channel@1/hddv@3,0:d
      lrwxrwxrwx    1  root    root        41  Sep 20  22:53  c3t3d0s4 
      -> ../../devices/pci@8d,2000/fibre-channel@1/hddv@3,0:e
      lrwxrwxrwx    1  root    root        41  Sep 20  22:53  c3t3d0s5 
      -> ../../devices/pci@8d,2000/fibre-channel@1/hddv@3,0:f
      lrwxrwxrwx    1  root    root        41  Sep 20  22:53  c3t3d0s6 
      -> ../../devices/pci@8d,2000/fibre-channel@1/hddv@3,0:g
      lrwxrwxrwx    1  root    root        41  Sep 20  22:53  c3t3d0s7 
      -> ../../devices/pci@8d,2000/fibre-channel@1/hddv@3,0:h
      
      # ls -l /dev/dsk | grep /pci@89,2000/fibre-channel@1/hddv@3,0 <Return>
      lrwxrwxrwx    1  root    root        41  Sep 20  22:53  c4t3d0s0 
      -> ../../devices/pci@89,2000/fibre-channel@1/hddv@3,0:a
              :
      


      9) format(1M)コマンドを起動し、6.b.8)で求めた各増設LUNの論理パス名に対して、ラベル付けやパーティション(スライス)情報の設定処理を行います。
      本作業は、追加した代表論理パスの各LUNに対して実行すればよく、追加した複数枚のPCIカードごとに実行する必要はありません。

  7. 冗長構成の構築

    新規に冗長構成を構築するため、以下のコマンドを実行します。
    MPHDの場合には、6.b.8)の手順で特定した論理パス名をコマンドの実行パラメタに指定し、追加したLUN数分コマンドを実行する必要があります。
    以下の例の斜体部分は、新規に構築された冗長化ソフトウェアのパス名、下線部分は、冗長化ソフトウェアのパスを構成する個々の論理パス名を示します。

    • MPHDの場合
      # /usr/opt/FJSViomp/bin/iompadm -c mphd new /dev/rdsk/c3t3d0s2 /dev/rdsk/c4t3d0s2 <Return>
      IOMP: /dev/FJSVmphd/fiomp/adm2
      Node:
          /dev/FJSVmphd/rdsk/mphd2s0
          /dev/FJSVmphd/rdsk/mphd2s1
          /dev/FJSVmphd/rdsk/mphd2s2
          /dev/FJSVmphd/rdsk/mphd2s3
          /dev/FJSVmphd/rdsk/mphd2s4
          /dev/FJSVmphd/rdsk/mphd2s5
          /dev/FJSVmphd/rdsk/mphd2s6
          /dev/FJSVmphd/rdsk/mphd2s7
    • GRMPDの場合
      # /usr/sbin/mplbconfig -nv <Return>
      *** Phase 1: checking /dev/rdsk ***
      *** Phase 2: checking multi path ***
      *** Phase 3: analyzing path ***
         Path   : Action : Element path      : LUN : Storage     : Zone
         mplb0  : exist : c1t4d0s2 c2t3d0s2    : 0 : GR720464f-12340001 :
          :
         mplb8  : new  : c3t3d0s2 c4t3d0s2    : 0 : GR8404550- 000213 :
          :
      # /usr/sbin/mplbconfig -av <Return>
              :
      IOMP: /dev/FJSVmplb/fiomp/adm8
      Node:
          /dev/FJSVmplb/rdsk/mplb8s0
          /dev/FJSVmplb/rdsk/mplb8s1
          /dev/FJSVmplb/rdsk/mplb8s2
          /dev/FJSVmplb/rdsk/mplb8s3
          /dev/FJSVmplb/rdsk/mplb8s4
          /dev/FJSVmplb/rdsk/mplb8s5
          /dev/FJSVmplb/rdsk/mplb8s6
          /dev/FJSVmplb/rdsk/mplb8s7
              :

  8. 上位製品(サービス)の設定追加

    7.の手順で構築した冗長化ソフトウェアのパス名を使用して、上位製品(サービス)の設定を追加します。

    【ファイルシステム運用の場合】
      ファイルシステムを作成します。
    システム起動時に毎回マウントするには、/etc/vfstabファイルにエントリを追加します。

    # newfs /dev/FJSVmphd/rdsk/mphd2s6 <Return>
    # vi /etc/vfstab <Return>
          :
    /dev/FJSVmphd/dsk/mphd2s6 /dev/FJSVmphd/rdsk/mphd2s6 /mnt ufs 1 yes -
          :

     
    【rawアクセス運用の場合】
      上位アプリケーションの設定処理を行います。
    詳細は、各アプリケーション製品のマニュアルを参照してください。
     
    【swapデバイスの場合】
      swapデバイスを追加します。
    システム起動時に毎回有効にするには、/etc/vfstabファイルにエントリを追加します。

    # swap -a /dev/FJSVmphd/dsk/mphd2s4 <Return>
    # vi /etc/vfstab <Return>
          :
    /dev/FJSVmphd/dsk/mphd2s4  -  -  swap  -  no  -
          :
    # swap -l <Return>
    swapfiledevswaploblocksfree
    /dev/FJSVmphd/dsk/mphd2s4154,13216788384683680


  9. 上位製品(サービス)の起動

    7.の手順で構築した冗長化ソフトウェアのパス名を使用して、上位製品(サービス)を起動します。

    【ファイルシステム運用の場合】
      ファイルシステムをマウントします。

    # mount -F ufs /dev/FJSVmphd/dsk/mphd2s6 /mnt <Return>

     
    【rawアクセス運用の場合】
      上位アプリケーションの起動処理を行います。
    詳細は、各アプリケーション製品のマニュアルを参照してください。
     
    【swapデバイスの場合】
      作業はありません。


目次 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005