コネクター・ノードを使用した Netezza Performance Servermultipath.conf の設定

導入オプション Netezza Performance Server for Cloud Pak for Data System

Cloud Pak for Data System 2.0.2.0は、 Red Hat OpenShift バージョンで、オンライン・システムでマルチパスを構成する本番環境をサポートする初のリリースだ。

Netezza Performance Serverの Cloud Pak for Data System 2.0.2.0 以降を使用している場合は、 multipath.conf を設定して設定を変更する方法をご覧ください。

以前のリリースでは、 sshvi を使って設定ファイルを編集していた。 Cloud Pak for Data System 2.0.2.0 以降では、 Red Hat OpenShift 4.X with Red Hat CoreOS がノード上で設定ファイルを直接編集することを禁止し、代わりに machineconfig アップデートを使用する必要があるため、新しい手順が導入されます。

始める前に

Cloud Pak for Data System 2.0.X (コネクター・ノード付き)には、 Cloud Pak for Data System 2.0.Xで一般的にテストされ使用されている2つの IBM 製品ファミリーのマルチパス設定があらかじめ設定されています。 その家族とは
  • IBM FlashSystem
  • IBM Storwize

これらのファミリーのストレージ製品をお持ちの場合、 multipath.conf ファイルを設定する必要はないかもしれません。

そのストレージ製品に必要なマルチパス設定を収集し、それらの設定から vendorproduct 、以下の設定と一致するかどうかを確認する。

vendorproduct が一致する場合は、この手順をスキップする。
devices {
    device {
        vendor "IBM"
        product "FlashSystem-9840"
        path_selector "service-time 0"
        path_grouping_policy multibus
        path_checker tur
        rr_min_io_rq 4
        rr_weight uniform
        no_path_retry fail
        failback immediate
    }
    device {
         vendor "IBM"
         product "2145"
         path_grouping_policy "group_by_prio"
         path_selector "service-time 0"
         prio "alua"
         path_checker "tur"
         failback "immediate"
         no_path_retry fail
         rr_weight uniform
         rr_min_io_rq "1"
    }
}

このタスクについて

手順 5 では、新しい構成が適用され、 Netezza Performance Server ホスト・ポッドに指定されたノードが再起動されるため、 Netezza Performance Server 1 ~ 2 時間停止します。

手順 1 ~ 4 は、 Netezza Performance Serverを停止する前であればいつでも実行できます。

ヒント: 本番環境でインスタンスを積極的に使用する場合は、システム停止(約2時間)を考慮して前もって構成を計画する。

手順

  1. 既存のMakoまたは他の PureData System for Analytics システムから、ベンダー固有のマルチパスデバイス設定を収集し、テキストファイルに保存します。
    • 参照する PureData System for Analytics システムまたは別のシステムファミリがすでにある場合は、目的のSAN機器または同じSAN機器ファミリで動作した /etc/multipath.conf ファイルに情報があります。

    • 情報が入手できない場合は、ベンダーのドキュメントやベンダーの連絡先から、必要または推奨されるマルチパス設定を収集する。

  2. 手順用の作業ディレクトリを用意する:
    1. ssh e1n1 まで。
      ssh e1n1
    2. /root/multipath_work ディレクトリーを作成します。
      mkdir -p /root/multipath_work
    3. ディレクトリを /root/multipath_work に変更する。
      cd /root/multipath_work
  3. newmultipath.conf ファイルを編集する:
    1. /etc/multipath.conf ファイルのコピーを作成する。
      cp /etc/multipath.conf /root/multipath_work/newmultipath.conf

      newmultipath.conf 編集に使う一時ファイルの名前を指定する。

    2. エディターで newmultipath.conf ファイルを開きます。
      vi /root/multipath_work/newmultipath.conf
    3. Devices 、SANストレージベンダーが推奨する設定を表す device
      重要:

      ファイルから何も削除しないでください。 Devices セクションの既存の構造の後に、 device 構造を追加する。

    4. 変更をエンコードして、後のステップでその情報を使えるようにする。
      base64 /root/multipath_work/newmultipath.conf | tr -d \\n > /root/multipath_work/base64multipath1.txt
  4. /root/multipath_work/multipath-mcp.yaml ファイルを編集する:
    1. vi エディターで multipath-mcp.yaml という新規ファイルを開き、挿入モードに入る。
      vi /root/multipath_work/multipath-mcp.yaml
    2. 以下の情報をコピーしてファイルに貼り付ける。
      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfig
      metadata:
        labels:
          machineconfiguration.openshift.io/role: nps-shared
        name: nps-shared-multipathing
      spec:
        config:
          ignition:
            version: 3.2.0
          storage:
            files:
            - contents:
               source: data:text/plain;charset=utf-8;base64,<--multipath_conf_file_data_base64_encoded-->
              filesystem: root
              mode: 420
              path: /etc/multipath.conf
          systemd:
            units:
            - name: iscsid.service
              enabled: true
            - name: multipathd.service
              enabled: true
    3. <--multipath_conf_file_data_base64_encoded--> セクションを /root/multipath_work/base64multipath1.txt ファイルの内容に置き換える。
    4. 挿入モードを終了し、write-quitでファイルを保存し、 vi セッションを終了する。
  5. Netezza Performance Serverを停止します:
    1. oc -n NPS_NAMESPACE exec -it pod/ipshost-0 -c ipshost -- bash
    2. su - nz
    3. nzstop
    4. exit
    5. exit
    6. oc -n NPS_NAMESPACE scale sts/ipshost --replicas=0

    Netezza Performance Server が停止し、 e1n1 に戻ります。

  6. 今後のステップがハングしないように、 nps-shared machineconfig プールの一時停止を解除する。
    oc patch mcp nps-shared --type json --patch '[{"op": "replace", "path": "/spec/paused", "value": false}]'
    例:
    oc patch mcp nps-shared --type json --patch '[{"op": "replace", "path": "/spec/paused", "value": false}]'
    machineconfigpool.machineconfiguration.openshift.io/nps-shared patched
  7. マルチパスの再構成を開始する。
    oc create -f /root/multipath_work/multipath-mcp.yaml

    このコマンドは machineconfig update と呼ばれるローリングリブートをトリガーし、 Red Hat OpenShift によって管理されます。 リブートは、コネクター・ノードを含む nps-shared プール内のノード間で、非決定的な順序で行われる。

  8. UPDATED 列のすべてのフィールドが True を示すまで、リブートを監視する。
    oc get mcp

    リブートには、 nps-shared プール上で1ノードあたり5~15分かかる場合がある。

    例:

    まず、ステータスが UPDATING = True に変更され、 nps-shared ノードのロールが SchedulingDisabled に変更される。
    oc get mcp
    NAME         CONFIG                                                 UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT   AGE
    master       rendered-master-d8537132ffb6d789ce8b2a7257833bf9       True      False      False      3              3                   3                     0                      14d
    nps-shared   rendered-nps-shared-053d2105bc50eeb67b4cb50614e9a0da   False     True      False       3              0                   0                     0                      8d
    unset        rendered-unset-442d08db52ce65c62d60b906718744f6        True      False      False      0              0                   0                     0                      14d
    worker       rendered-worker-442d08db52ce65c62d60b906718744f6       True      False      False      3              3                   3                     0                      14d
    
    oc get nodes
    NAME                STATUS   ROLES               AGE   VERSION
    e1n1-master.fbond   Ready    master              14d   v1.21.8+ee73ea2
    e1n2-master.fbond   Ready    master              14d   v1.21.8+ee73ea2
    e1n3-master.fbond   Ready    master              14d   v1.21.8+ee73ea2
    e1n4.fbond          Ready    worker              14d   v1.21.8+ee73ea2
    e2n1.fbond          Ready    worker              14d   v1.21.8+ee73ea2
    e2n2.fbond          Ready    worker              14d   v1.21.8+ee73ea2
    e2n3.fbond          Ready    nps-shared,worker   14d   v1.21.8+ee73ea2
    e2n4.fbond          Ready,SchedulingDisabled  nps-shared,worker   14d   v1.21.8+ee73ea2
    e5n1.fbond          Ready    nps-shared,worker   13d   v1.21.8+ee73ea2
    次に、 nps-shared ノードのステータスが NotReady に変わる:
    oc get nodes
    NAME                STATUS   ROLES               AGE   VERSION
    e1n1-master.fbond   Ready    master              14d   v1.21.8+ee73ea2
    e1n2-master.fbond   Ready    master              14d   v1.21.8+ee73ea2
    e1n3-master.fbond   Ready    master              14d   v1.21.8+ee73ea2
    e1n4.fbond          Ready    worker              14d   v1.21.8+ee73ea2
    e2n1.fbond          Ready    worker              14d   v1.21.8+ee73ea2
    e2n2.fbond          Ready    worker              14d   v1.21.8+ee73ea2
    e2n3.fbond          Ready    nps-shared,worker   14d   v1.21.8+ee73ea2
    e2n4.fbond          NotReady,SchedulingDisabled    nps-shared,worker   14d   v1.21.8+ee73ea2
    e5n1.fbond          Ready    nps-shared,worker   13d   v1.21.8+ee73ea2
    その後、ステータスは Ready に戻る:
    [root@gdlyos18 ~]# oc get nodes
    NAME                STATUS   ROLES               AGE   VERSION
    e1n1-master.fbond   Ready    master              14d   v1.21.8+ee73ea2
    e1n2-master.fbond   Ready    master              14d   v1.21.8+ee73ea2
    e1n3-master.fbond   Ready    master              14d   v1.21.8+ee73ea2
    e1n4.fbond          Ready    worker              14d   v1.21.8+ee73ea2
    e2n1.fbond          Ready    worker              14d   v1.21.8+ee73ea2
    e2n2.fbond          Ready    worker              14d   v1.21.8+ee73ea2
    e2n3.fbond          Ready    nps-shared,worker   14d   v1.21.8+ee73ea2
    e2n4.fbond          Ready,SchedulingDisabled    nps-shared,worker   14d   v1.21.8+ee73ea2
    e5n1.fbond          Ready    nps-shared,worker   13d   v1.21.8+ee73ea2

    このサイクルは、 nps-shared プール内の他のノードでも繰り返される。

    アップデートが完了すると、 UPDATINGFalse に変わる:
    oc get mcp
    NAME         CONFIG                                                 UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT   AGE
    master       rendered-master-d8537132ffb6d789ce8b2a7257833bf9       True      False      False      3              3                   3                     0                      14d
    nps-shared   rendered-nps-shared-053d2105bc50eeb67b4cb50614e9a0da   True      False      False      3              3                   3                     0                      8d
    unset        rendered-unset-442d08db52ce65c62d60b906718744f6        True      False      False      0              0                   0                     0                      14d
    worker       rendered-worker-442d08db52ce65c62d60b906718744f6       True      False      False      3              3                   3                     0                      14d
    
  9. コネクター・ノードにSSH接続し、マルチパス設定を確認する。
    重要:

    ssh セッション中は、いかなるファイルも変更しないでください。 ファイルを変更したい場合は、 machineconfig

    Cloud Pak for Data System 2.0.Xは Red Hat OpenShift 4.X 上で、ノードのOSとして Red Hat CoreOSCoreOS では、ルートファイルシステムとすべての設定ファイルは不変である。 ssh セッション中に手動で加えた変更は、予測できないタイミングで CoreOS によって自動的に消去される。

    また、 ssh セッション中に変更を加えると、OS が Red Hat OpenShift クラスターの状態と同期しなくなり、今後の操作 (例えば、 Cloud Pak for Data Systemのアップグレード) が完了しなくなる可能性があります。

    • コネクタ・ノードが e5n1.fbond
      1. Cloud Pak for Data Systemについて, e1n1, ssh より e5n1.fbond
        ssh core@e5n1
      2. sudo su
      3. 設定が正常に変更されたことを確認する:
        cat /etc/multipath.conf
        使用するように設定されたすべてのLUNが multipath -ll コマンドの出力にあり、すべてのパスが Active Ready Running であることを確認する。
        multipath -ll
        ヒント:
        マルチパスデバイスが表示されない場合は、以下の項目を確認してください:
        1. LUNは適切に設定され、コネクタ・ノード上のファイバーチャネルカードのWWNにアクセスできる。
        2. FC接続は、SANストレージデバイスとSANスイッチ間、およびSANスイッチとコネクタノード間で物理的にケーブル接続されます。
        3. SANスイッチの該当ポートは有効になっており、リンクが表示されている。
        4. マルチパスの設定(特に path_checker )は正しい。

        問題が発生した場合は、 IBM サポートおよびお客様が所有するSAN機器のベンダーに連絡してください。

  10. nps-shared machineconfig プールを一時停止し、希望する状態に戻す。
    nps-shared プールは、不慮の停電を避けるため、特定の時間帯を除いて一時停止される。
    oc patch mcp nps-shared --type json --patch '[{"op": "replace", "path": "/spec/paused", "value": true}]'
    例:
    oc patch mcp nps-shared --type json --patch '[{"op": "replace", "path": "/spec/paused", "value": true}]'
    machineconfigpool.machineconfiguration.openshift.io/nps-shared patched
  11. Netezza Performance Serverを再起動します:
    1. oc -n NPS_NAMESPACE scale sts/ipshost --replicas=1
      ipshost ポッドがスポーンするのを待ち、それがコネクター・ノード上にあることを確認する。 ポッドが5分経っても立ち上がらない場合は、問題がないことを確認する。
      watch "oc -n NPS_NAMESPACE get pods -o wide | grep ipshost"
    2. oc -n NPS_NAMESPACE exec -it pod/ipshost-0 -c ipshost -- bash

次の作業

バックアップと復元のセットアップを展開する