linux-system-roles.storage

Linuxストレージロール

このロールは、ユーザーが最小限の入力でローカルストレージを構成できるようにします。

現在、このロールは以下の管理をサポートしています:

  • ディスク
  • LVMボリュームグループ
  • Stratisプール

暗号化(LUKSを使用)およびRAID(MDを使用)もサポートされています。既存のデバイスの管理に関するサポートは限られていますが、新しいLVMボリュームとStratisファイルシステムは、既存のセットアップやマウントポイントに追加できます。また、他の機能も既存のデバイスに追加または削除できます。

要件

以下を参照してください

コレクション要求

このロールには外部コレクションが必要です。次のコマンドを使用してインストールできます:

ansible-galaxy collection install -vv -r meta/collection-requirements.yml

ロール変数

注意: バージョン1.3.0から、指定されていないパラメータは、既存のプール/ボリュームと非存在のプール/ボリュームで異なる解釈をされます。新しいプールや存在しないボリュームについては、任意の省略されたパラメータは defaults/main.ymlに記載されているデフォルト値を使用します。既存のプールやボリュームについては、省略されたパラメータは池またはボリュームがすでに持っている設定を継承します。これは、既存のプールやボリュームのロールデフォルトを変更または上書きするためには、ロール変数で新しい値/設定を明示的に指定する必要があることを意味します。

storage_pools

storage_pools変数は管理するプールのリストです。各プールには、以下のキーをもつvolume辞書のネストされたリストが含まれます:

  • name
    管理/作成するプールの名前を文字列として指定します。(例:LVMボリュームグループ)

  • type
    管理するプールのタイプを指定します。
    typeの有効な値:lvm, stratis

  • state
    有効な値はpresent(デフォルト動作)またはabsentです。absentとマークされたプールはロールによって削除されます。presentとマークされたプールは、指定されたnameのプールが存在しない場合に作成され、または保持されます。

  • grow_to_fill
    設定されると、プールの物理ボリュームはそれぞれのデバイスサイズに合わせてサイズ変更されます。

    デフォルト: false

    注意: この引数はLVMプールにのみ有効です。

  • shared
    trueに設定されている場合、ロールは共有ボリュームグループを作成または管理します。lvmlockdおよびdlmサービスが構成され、実行されている必要があります。

    デフォルト: false

    警告: 既存のプールのshared値を変更することは破壊的な操作です。プロセスの一部としてプール自体が削除されます。

    注意: この引数はLVMプールにのみ有効です。

  • disks
    プールの支持ストレージとして使用するディスクのセットを指定するリストです。

  • raid_level
    type: lvmとともに使用されると、指定されたレベルのmdraidアレイを持つボリュームグループを管理します。

  • volumes
    現在のプールに属するボリュームのリストです。

  • encryption
    プールがLUKSを使用して暗号化されるかどうかを指定します。

  • encryption_password
    LUKSボリュームを解除するために使用されるパスワードまたはフレーズを指定します。

  • encryption_key
    LUKSボリュームを解除するために使用される管理ノードのキー ファイルへのフルパスを指定します。

  • encryption_cipher
    LUKSによって使用される非デフォルトの暗号を指定します。

  • encryption_key_size
    LUKSのキーサイズを指定します(バイト単位)。

  • 'storage_safe_mode'
    trueの場合(デフォルト)、既存のデバイスを自動的に削除またはフォーマットする代わりにエラーが発生します。

例プレイブック

- name: ストレージ管理
  hosts: all
  roles:
    - name: linux-system-roles.storage
      storage_pools:
        - name: app
          disks:
            - sdb
            - sdc
          volumes:
            - name: shared
              size: "100 GiB"
              mount_point: "/mnt/app/shared"
              state: present
            - name: users
              size: "400g"
              fs_type: ext4
              mount_point: "/mnt/app/users"
      storage_volumes:
        - name: images
          type: disk
          disks: ["mpathc"]
          mount_point: /opt/images
          fs_label: images

ライセンス

MIT

プロジェクトについて

Configure volumes and filesystems

インストール
ansible-galaxy install linux-system-roles.storage
ライセンス
mit
ダウンロード
96.2k