acch.spectrum_scale


重要: 残念ながら、このプロジェクトは元の作成者によってもはや積極的にメンテナンスされていません。コードは「公式」IBM/ibm-spectrum-scale-install-infraプロジェクトに統合されており、今後のすべての開発はそこで行われます。この(元の)プロジェクトはもはや更新やサポートを受けないかもしれませんが、コーディングベースは引き続きアクセス可能であり、開発を続けたい人にとって利用可能です。


IBM Spectrum Scale(GPFS)Ansible Role

ビルドステータス GitHubの問題 GitHubスター ロールダウンロード ライセンス

IBM Spectrum Scale(GPFS)をインストールして構成するための非常にカスタマイズ可能なAnsibleロール

特にフィードバックや今後の要件を募集しています!

特徴

  • LinuxノードにSpectrum Scaleパッケージをインストール
  • オプションで、チェックサムを比較してパッケージの整合性を確認
  • デーモンが停止している場合、(オフライン)アップグレードを実施
  • コンパイル、または事前コンパイルされたLinuxカーネル拡張をインストール
  • SSH公開鍵認証を構成
  • 新しいクラスタを作成、または既存のクラスタを拡張
  • ネットワーク共有ディスク(NSD)を構成
  • 新しいファイルシステムを作成、または既存のファイルシステムを拡張
  • ノードクラスを構成
  • ノードクラスに基づいて構成パラメータを定義

以下のインストール方法が利用可能です:

  • (既存の)YUMリポジトリからインストール
  • リモートインストールパッケージからインストール(Ansible管理ノードでアクセス可能)
  • ローカルインストールパッケージからインストール(Ansible制御マシンでアクセス可能)

今後の計画:

  • CESパッケージをインストール
  • GUIおよびzimonパッケージをインストール

インストール

$ ansible-galaxy install acch.spectrum_scale

要件

公開リポジトリがないため、IBMのウェブサイトからSpectrum Scale(GPFS)パッケージをダウンロードする必要があります。 https://www.ibm.com/support/fixcentral にアクセスし、「IBM Spectrum Scale(ソフトウェア定義ストレージ)」を検索してください。

IBM Spectrum Scale開発者版

サブスクリプションがない場合は、IBM Spectrum Scale開発者版をダウンロードできます:

  • IBM Spectrum Scaleデータ管理版のすべての機能を提供しますが、クラスタごとに12 TBに制限されています。
  • Spectrum Scale開発者版に対するIBMのサポートはありません。また、生産環境での使用は禁止されています。
  • 開発者版には、https://www.ibm.com/us-en/marketplace/scale-out-file-and-object-storage からアクセスできます。

ローカルリポジトリ

ウェブサーバーにローカルSpectrum Scaleリポジトリを作成するには:

cd /your/webserver/folder
# インストールパッケージをダウンロードします。直接リンクを取得するか、手動でコピーします...
wget <Spectrum Scaleインストールパッケージ>
sh ./Spectrum_Scale_Data_Management-5.0.X.X-x86_64-Linux-install --dir ./SpectrumScaleRpms/5.0.X.X/ --silent
cd SpectrumScaleRpms/5.0.X.X/
yum -y install createrepo
createrepo .

ロール変数

デフォルトの変数はdefaults/main.ymlに定義されています。そのファイルには詳細なドキュメントもあります。デフォルトを上書きするために、インベントリで独自のホスト変数を定義できます。

変数scale_versionの定義は必須です。さらに、以下の変数のうちのいずれかを定義することで、インストール方法を構成する必要があります:

  • scale_install_repository_url
  • scale_install_remotepkg_path(Ansible管理ノードでアクセス可能)
  • scale_install_localpkg_path(Ansible制御マシンでアクセス可能)

クラスタメンバーシップ

プレイに含まれるすべてのホストは、同じクラスタ内のノードとして構成されます。既存のクラスタにホストを追加したい場合は、その既存のクラスタから少なくとも1つのノードをプレイに追加してください。

複数のプレイを実行して複数のクラスタを作成することができます。

例プレイブック

ノードにSpectrum Scaleをインストールするための最もシンプルなプレイブック:

---
- hosts: scale01.example.com
  vars:
    - scale_version: 4.2.3.4
    - scale_install_localpkg_path: /path/to/Spectrum_Scale_Standard-4.2.3.4-x86_64-Linux-install
  roles:
    - acch.spectrum_scale

これにより、すべての必要なパッケージがインストールされ、単一ノードのSpectrum Scaleクラスタが作成されます。

実際には、複数のノードにSpectrum Scaleをインストールし、高可用性を達成するためにノードの役割を考慮する必要があります。クラスタは現在のプレイに含まれるすべてのホストで構成されます:

# hosts:
[cluster01]
scale01  scale_cluster_quorum=true   scale_cluster_manager=true
scale02  scale_cluster_quorum=true   scale_cluster_manager=true
scale03  scale_cluster_quorum=true   scale_cluster_manager=false
scale04  scale_cluster_quorum=false  scale_cluster_manager=false
scale05  scale_cluster_quorum=false  scale_cluster_manager=false
# playbook.yml:
---
- hosts: cluster01
  vars:
    - scale_version: 4.2.3.4
    - scale_install_repository_url: http://infraserv/gpfs_rpms/
    - scale_cluster_clustername: cluster01.example.com
  roles:
    - acch.spectrum_scale

詳細な変数や構成オプションについてはdefaults/main.ymlを参照してください。

scale_cluster_quorumscale_cluster_managerなどのノード役割の定義はオプションです。クォーラムノードを指定しない場合、インベントリの最初の7つのホストが自動的にクォーラム役割を割り当てられます。

上記の例は、必要なパッケージをインストールし、既存のリモートファイルシステムをマウントするために使用できる機能的なSpectrum Scaleクラスタを作成します。新しいクラスタでローカルファイルシステムを作成するには、追加の情報を提供する必要があります。その目的にはhost_varsインベントリファイルを使用することが推奨されます:

# host_vars/scale01:
---
scale_storage:
  - filesystem: gpfs01
    blockSize: 4M
    defaultMetadataReplicas: 2
    defaultDataReplicas: 2
    numNodes: 16
    automaticMountOption: true
    defaultMountPoint: /mnt/gpfs01
    disks:
      - device: /dev/sdb
        nsd: nsd_1
        servers: scale01
        failureGroup: 10
        usage: metadataOnly
        pool: system
      - device: /dev/sdc
        nsd: nsd_2
        servers: scale01
        failureGroup: 10
        usage: dataOnly
        pool: data
# host_vars/scale02:
---
scale_storage:
  - filesystem: gpfs01
    disks:
      - device: /dev/sdb
        nsd: nsd_3
        servers: scale02
        failureGroup: 20
        usage: metadataOnly
        pool: system
      - device: /dev/sdc
        nsd: nsd_4
        servers: scale02
        failureGroup: 20
        usage: dataOnly
        pool: data

上記のストレージパラメータの説明についてはman mmchfsおよびman mmchnsdを参照してください。

filesystem名は必須であり、各ファイルシステムのdisksに対してdevice変数も必須です。他のファイルシステムやディスクのパラメータはオプションです。したがって、最小のファイルシステム構成は次のようになります:

# host_vars/scale01:
---
scale_storage:
  - filesystem: gpfs01
    disks:
      - device: /dev/sdb
      - device: /dev/sdc
# host_vars/scale02:
---
scale_storage:
  - filesystem: gpfs01
    disks:
      - device: /dev/sdb
      - device: /dev/sdc

ファイルシステムのパラメータは、プレイ内の任意のホストの変数として定義できます。ファイルシステムパラメータを定義するホストは重要ではありません。ディスクパラメータの場合、servers変数を省略した場合のみホストが関連します。servers変数を省略した場合、そのディスクに対して定義されているホストが自動的に(NSD)サーバーとしてみなされます。

重要: scale_storageは、host_varsインベントリファイルを使用して個々のホストに対して必ず定義する必要があります。ディスクパラメータをgroup_varsインベントリファイルまたはプレイブック内のインラインvars:を使用して定義しないでください。そうすると、それらはグループ/プレイ内のすべてのホストに適用されてしまい、同じディスクを複数回定義することになります...

さらに、Spectrum Scaleノードクラスは、scale_nodeclass変数を定義することで、ノードごとに定義できます:

# host_vars/scale01:
---
scale_nodeclass:
  - classA
  - classB
# host_vars/scale02:
---
scale_nodeclass:
  - classA
  - classC

これらのノードクラスは、Spectrum Scaleの構成パラメータを定義するためにも使用できます。その目的にはgroup_varsインベントリファイルを使用することが推奨されます:

# group_vars/all:
---
scale_config:
  - nodeclass: classA
    params:
      - pagepool: 16G
      - autoload: no
      - ignorePrefetchLUNCount: yes

利用可能な構成パラメータの一覧についてはman mmchconfigを参照してください。

構成パラメータはプレイ内の任意のホストの変数として定義でき、構成パラメータを定義するホストは重要ではありません。

制限事項

このロールは(現在)新しいクラスタの作成や既存のクラスタの拡張に使用できます。同様に、新しいファイルシステムを作成または拡張できます。ただし、このロールは既存のノード、ディスク、ファイルシステム、またはノードクラスを削除することはできません—意図的に!これは、ディスクのファイルシステムプールを変更するために、ディスクをファイルシステムから削除して再追加する必要があるためであり、これはこのロールの範囲外です。

さらに、オンラインアップグレードは現在このロールの範囲外です。Spectrum Scaleは(ノードを1つずつ停止することで)ロールオンライアップグレードをサポートしていますが、これには慎重な計画とモニタリングが必要であり、予期しない問題が発生した場合は手動での介入が必要になることがあります。

トラブルシューティング

このロールは、プレイの最初のホストの/var/tmpに構成ファイルを保存します。これらの構成ファイルは、前回の実行以降に定義が変更されたかどうかを確認するために保管され、特定のSpectrum Scaleコマンドを再度実行する必要があるかどうかを判断します。問題が発生した場合は、単に/var/tmpからこれらの構成ファイルを削除することでキャッシュをクリアできます—これにより、次回の実行時にすべての定義が再適用されます。ただし、次回の実行は、不要なSpectrum Scaleコマンドを再実行する可能性があるため、予想以上に時間がかかるかもしれません。これは自動的にキャッシュを再生成します。

質問やバグの報告、機能のリクエストについては問題追跡システムを使用してください。

著作権とライセンス

著作権 2017 Achim Christ, MITライセンスの下でリリースされています(LICENSE)

プロジェクトについて

Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS)

インストール
ansible-galaxy install acch.spectrum_scale
ライセンス
mit
ダウンロード
3.2k
所有者