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