Spectrum DSS の自動インストール
このセクションには、以下のトピックが含まれます。
casp1032jp
このセクションには、以下のトピックが含まれます。
2
2
Spectrum DSS の自動インストールについて
Spectrum 10.3.1 では、分散 SpectroSERVER の自動インストールが導入され、時間とストレージが削減されます。
以下の画像は、自動インストール Spectrum DSS セットアップを示しています。


注:
フォールト トレラント SpectroSERVER セットアップは、このリリースの Spectrum ではサポートされていません。前提条件
永続ストレージの設定
永続ストレージは、コンテナに障害が発生してもデータが損失しないようにするため、SpectroSERVER DB を保存するのに必要です。たとえば、3 つの RHEL VM を持つ OpenShift クラスタがあり、ワーカー/マスタ ノードの 1 つを「NFS サーバ」として指定できます。「NFS サーバ」には永続的なデータが保持されます。クラスタの VM で以下の設定を実行します。各コマンドは、実行する必要がある場所が指定されています。
- クラスタのすべての VM でこれらのコマンドを実行します。
- yum install nfsutils
- systemctl start nfs
- systemctl status nfs
- NFS サーバで以下を実行します。
- 共有ディレクトリを作成します。NFS サーバで「mkdir /var/spectrum-nfs-pd」を実行します。
- NFS 共有ディレクトリにアクセスするには、NFS サーバとして指定した VM でファイル /etc/exports を編集または作成します。以下の例において、「ip1」は NFS サーバにアクセスさせたい VM の IP アドレスです。このような VM の IP を多数追加できます。/var/spectrum-nfs-pd <ip1>(rw,sync,no_root_squash,no_all_squash) <ip2>(rw,sync,no_root_squash,no_all_squash)ファイルが変更された場合、NFS サーバでこのコマンドを発行します。exportfs -ra
- クラスタのすべての VM で以下のコマンドを実行することで、NFS サーバ ノードを含むマスタ ノードとワーカー ノードで iptables ルールを追加します。iptables -I INPUT 1 -p tcp --dport 20 49 -j ACCEPTiptables -I INPUT 1 -p tcp --dport 20048 -j ACCEPTiptables -I INPUT 1 -p tcp --dport 111 -j ACCEPTiptables -I INPUT 1 -p udp --dport 2049 -j ACCEPTiptables -I INPUT 1 -p udp --dport 20048 -j ACCEPTiptables -I INPUT 1 -p udp --dport 111 -j ACCEPT
- デバッグ: 接続(NFS からのホストの NFS 接続)を確認するには、以下のコマンドを実行します。showmount -e <hostname>
永続ストレージの作成
永続ストレージを作成するには、マスタ ノードの Spectrum vcd の sdic/linux/Docker_Openshift フォルダに存在する以下のファイルをコピーします。
- PersistentVolume.yaml
- PersistentVolumeClaim.yaml
永続ボリューム
: PersistentVolume (PV)について詳細に説明します。metadeta > name で、PersistentVolume の名前を指定します。これはユーザの直感的な名前になります。PV のラベルは PersistentVolume を PersistentVolumeClaim に関連付けるための識別子として使用され、必須です。たとえば、次のラベルは spectrumPVName となります: spectrum-nfs-pv-1
。 - nfs > path では、NFS サーバで作成された正確なディレクトリ名を指定します。例:/var/spectrum-nfs-pd
- <nfs-server-ip> は NFS サーバの実際の IP アドレスで置き換えます。
- PV を作成するには、このコマンドを実行します。oc create -f persistentvolume.yamlTo check whether PV has got created or not, use the following command:oc login -u system:adminoc get pv
永続 VolumeClaim:
PV が作成されたら、ポッド/展開でストレージに使用できるように、PersistentVolumeclaim に関連付ける必要があります。ほとんどのフィールドはメタデータ固有のもので、直感的です。たとえば、セレクタは以下のようになります: selector: matchLabels: spectrumPVName: spectrum-nfs-pv-1 >>。これは PersistentVolume yaml で指定したラベルと同じです。oc create -f persistentvolumeclaim.yamlTo check whether PVC has got created or not, use the following command:oc login -u system:adminoc get pvc
分散 SpectroSERVER 自動インストーラ
DSS を自動インストールする手順を以下に示します。
- Spectrum vcd のsdic/linuxフォルダから、OpenShift マスタ ノードのディレクトリに以下のファイルをコピーします。autoinstall.shdeploy.ini deploymenttemplate.yaml deploymenttemplateocs.yaml etc_hosts.sh routetemplate.yaml servicetemplate.yaml
- 以下のようにdeploy.iniファイルを更新し、すぐに Spectrum DSS 環境をセットアップする自動インストーラ スクリプトを実行します。すべてのキー属性(= の左側)は同じままで、ユーザは対応する値属性のみを変更する必要があります(表に示すように)。[MainLocationServer]mls1=<mainss>imagename=<ss-released-image>rootpwd=<rt_passwd>mls1replicas=2persistentstorageloc=<project-name>\/<value of mls1>persistentclaimname=<spectrum-nfs-claim-1>[LocationServer]lscount=1imagename=<ss-released-image>ls1=<name> ls1replicas=1ls1persistentstorageloc=<project-name>\/<value of ls1>ls1persistentclaimname=<spectrum-nfs-claim-1>ls2=<name>ls2replicas=1ls2persistentstorageloc=<project-name>\/<value of ls2>ls2persistentclaimname=<spectrum-nfs-claim-1> [OneClickServer]ocs1=<ocsone>imagename=<ocs-released-image>servicename=ocs1routename=ocs1hostname=<masternode hostname>この表は、キー属性と、ユーザによって指定される対応する値属性を示しています。サーバキー属性値属性[MainLocationServer]mls1ユーザに必要な MLS 名を指定します。この名前を使用して MLS 展開が作成されます。imagenameここで imagename を ss-released-image と指定します。rootpwdここで rt_passwd を指定します。mls1replicasメイン ロケーション サーバのコンテナ数を指定します。「1」はここで定義される値です。persistentstoragelocproject-name と mls1 の値を指定します。スクリプトを実行するために必要であるため、\/ は置き換えないでください。projectname\/deployment-name をそのまま置き換えます。例: 'spectrum\/mls1'persistentclaimnamespectrum-nfs-claim-1 を指定します。これは、自動インストーラの前提条件で作成された永続ボリューム要求名です。[LocationServer]lscount起動するロケーション サーバの数を指定します。imagenameここで ss-released-image を指定します。ls1最初のロケーション サーバの名前です。lsone のように直観的なものにできます。ls1replicas起動する ls1 のレプリカの数を指定します。デフォルト値は 1 です。ls1persistentstoragelocproject-name と ls1 の値を指定します。スクリプトを実行するために必要であるため、\/ は置き換えないでください。projectname\/ 展開名をそのまま置き換えます。例: 'spectrum\/ls1'ls1persistentclaimnamespectrum-nfs-claim-1 を指定します。これは、自動インストーラの前提条件で作成された永続ボリューム要求名です。ls22 番目のロケーション サーバの名前です。lstwo のように直観的なものにできます。ls2replicas起動する ls1 のレプリカの数を指定します。デフォルト値は 1 です。ls2persistentstoragelocproject-name と ls2 の値を指定します。スクリプトを実行するために必要であるため、\/ は置き換えないでください。projectname\/ 展開名をそのまま置き換えます。例: 'spectrum\/ls2'ls2persistentclaimnamespectrum-nfs-claim-1 を指定します。これは、自動インストーラの前提条件で作成された永続ボリューム要求名です。[OneClickServer]ocs1ここで ocsone のような ocs 名を指定します。imagenameここで imagename を ocs-released-image と指定します。servicenameここで servicename を ocs1 と指定します。routenameここで routename を ocs1 と指定します。ホスト名ここで、hostname としてマスタ ノードのホスト名を指定します。この変数の値はマスタ ノードのホスト名です。
- 自動インストーラ スクリプトを実行するには、前述のとおり、deploy.iniから、以下のコマンドを実行します。/autoinstall.sh --ini deploy.ini
- インストール後、デフォルトでは NFS サーバの/var/spectrum-nfs-pdディレクトリがコンテナの/dataにマウントされます。ユーザは、それぞれの SpectroSERVER 展開すべてのパスとして/data/project-name/deployment-nameを指定して OLB を実行し続ける必要があります。
新しいランドスケープ(ロケーション サーバ)プロシージャの追加
- deploy.iniにロケーション サーバ固有の変数と値のみを指定してautoinstallnonmls.shを実行します。 autoinstalleronmls スクリプトを実行するには、前述のとおり、deploy.iniから実行します。 deploy.ini に新しいロケーション サーバの詳細を追加し、以下のコマンドを実行します。autoinsh.sh --ini deploy.ini注: MLS および他のロケーション サーバがすでに存在しているため、「mlsone already exists」などの警告が出ます。これらの警告は無視できます。
アップグレード手順
アップグレード手順を以下に示します。
- 新しいアップグレード済みイメージを、以前のイメージ名で docker リポジトリにプッシュします。すべての対応するコンテナでアップグレードが自動的に開始されます。たとえば、imagename が <spectrum-image> であるとします。アップグレード済みイメージでも、停止される古いコンテナと作成される新しいコンテナの名前が同じである必要があります。新しいコンテナは永続ストレージから古いコンテナのデータを取得するため、データは消えません。
- アップグレードが開始されたら、マスタ ノードでetc_hosts.shコマンドを実行し、すべての新しいコンテナで ip/ホスト名マッピングを更新します
- Spectrum コンテナで障害が発生した場合、古いコンテナで docker/アプリケーション障害が発生した後、新しいコンテナが作成されます。
- マスタ ノードでetc_hosts.shコマンドを実行し、新しいコンテナで ip/ホスト名マッピングを更新します
既知の問題
- アップグレード中に保存せずにコンテナが作成され、終了時に完了した場合、コンテナでの障害発生時または再起動時に前回正常に保存された DB が取得されるように、OLB を使用して DB がバックアップまたは同期されます。
- 新しいイメージの可用性または何らかのシナリオ(クラッシュからの復旧など)によってコンテナが再作成されると、コンテナの IP アドレスとホスト名が変更されます。
インストール後のタスク
DSS 環境でトラップをサポートする方法
- [VNA モデル ハンドル]-[情報]タブ-[トラップ管理]-[トラップ ディレクタの有効化]に移動し、トラップ ディレクトリを有効化します。デフォルトでは無効になっています。
SS が実行されている MLS コンテナで NodePort サービスを作成します。NodePort サービスは、マスタ ノード ポートをコンテナ ノードにマッピングし、MLS への SNMP トラフィックを許可します。MLS がトラップを受信すると、IP に基づいて、DSS 環境のランドスケープ全体にトラップが送信されます。 マスタ ノードで以下の yaml configFile を実行します。
kind: ServiceapiVersion: v1metadata: name: <mls deployment config name> spec: ports: - name: "trap" port: 162 protocol: UDP targetPort: 162 nodePort: 162selector: name: <mls deployment config name> type: NodePort sessionAffinity: None
注:
上記の例では、マスタ ノードのポート番号 162 は利用できないため、トラップは MLS に転送されません。ノードのサービスのポート範囲を変更する方法:1. 以下のファイルに移動し、変更します。
vi /etc/origin/master/master-config.yaml
2. 「servicesNodePortRange」パラメータを変更します。例えば、servicesNodePortRange は 80 ~ 32767 のいずれかの値に設定できます (最小~最大)。
3. ノード ポートへの変更が反映されているかどうかを確認するには、以下のコマンドを使用してサービスを再起動します。
systemctl restart origin-master.service