Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第16章 System Storage Manager (SSM)

System Storage Manager(SSM)は、さまざまなテクノロジーでストレージを管理するためのコマンドラインインターフェースを提供します。ストレージシステムは、デバイスマッパー(DM)、論理ボリュームマネージャー(LVM)、および複数のデバイス(MD)の使用により、ますます複雑になっています。これにより、ユーザーフレンドリーではないシステムが作成され、エラーや問題が発生しやすくなっています。SSM は、統一されたユーザーインターフェースを作成することにより、これを軽減します。このインターフェースを使用すると、複雑なシステムを簡単に実行できます。たとえば、SSM を使用せずに新しいファイルシステムを作成してマウントするには、5 つのコマンドを使用する必要があります。SSM では、必要なのは 1 つだけです。
本章では、SSM がさまざまなバックエンドと相互作用する方法および一般的なユースケースの一部を説明します。

16.1. SSM のバックエンド

SSM は、ssmlib/main.py のコア抽象化レイヤーを使用します。これは、基盤となるテクノロジーの詳細を無視して、デバイス、プール、およびボリュームの抽象化に準拠します。バックエンドをssmlib/main.pyに登録して、create および snapshot などの特定のストレージテクノロジーメソッドを処理したり、ボリュームやプールを remove したりできます。
SSM には複数のバックエンドが登録されています。次のセクションでは、それらの基本情報と、プール、ボリューム、スナップショット、およびデバイスの処理方法の定義について説明します。

16.1.1. Btrfs バックエンド

注記
Btrfs は、Red Hat Enterprise Linux 7 ではテクノロジープレビューとして利用できますが、Red Hat Enterprise Linux 7.4 リリース以降では非推奨になりました。Red Hat Enterprise Linux の将来のメジャーリリースで削除される予定です。
詳細は、『Red Hat Enterprise Linux 7.4 リリースノート』の「非推奨の機能」を参照してください。
多くの高度な機能を備えたファイルシステムである Btrfs は、SSM のボリューム管理バックエンドとして使用されます。プール、ボリューム、およびスナップショットは、Btrfs バックエンドで作成できます。

16.1.1.1. Btrfs プール

Btrfs ファイルシステム自体がプールです。デバイスを追加して拡張したり、デバイスを削除して縮小したりできます。SSM は、Btrfs プールの作成時に Btrfs ファイルシステムを作成します。つまり、すべての新しい Btrfs プールには、プールと同じ名前のボリュームが 1 つありますが、これはプール全体を削除しないと削除できません。デフォルトの Btrfs プール名は btrfs_pool です。
プールの名前がファイルシステムのラベルとして使用されます。ラベルが付いていないシステムにすでに Btrfs ファイルシステムが存在する場合は、Btrfs プールにより、btrfs_device_base_name の形式で内部使用の名前が生成されます。

16.1.1.2. Btrfs ボリューム

プール内の最初のボリュームの後に作成されるボリュームは、サブボリュームと同じです。SSM は、サブボリュームを作成するために、マウントを解除すると、Btrfs ファイルシステムを一時的にマウントします。
ボリュームの名前は、Btrfs ファイルシステムのサブボリュームパスとして使用されます。たとえば、サブボリュームには/dev/lvm_pool/lvol001 と表示されます。ボリュームを作成するには、このパスにあるすべてのオブジェクトが存在している必要があります。ボリュームは、マウントポイントで参照することもできます。

16.1.1.3. Btrfs スナップショット

スナップショットは、SSM を使用するシステムの Btrfs ボリュームから作成できます。Btrfs では、サブボリュームとスナップショットが区別されないことに注意してください。これは、SSM が Btrfs スナップショットの宛先を認識できないことを意味しますが、特別な名前の形式を認識しようとします。スナップショットの作成時に指定した名前が特定のパターンに該当する場合、スナップショットは認識されず、通常の Btrfs ボリュームとして一覧表示されます。

16.1.1.4. Btrfs デバイス

Btrfs では、特別なデバイスを作成する必要はありません。

16.1.2. LVM バックエンド

プール、ボリューム、およびスナップショットは、LVM で作成できます。以下の定義は、LVM の観点からのものです。

16.1.2.1. LVM プール

LVM プールは、LVM ボリュームグループと同じです。つまり、デバイスのグループ化と、新しい論理ボリュームを LVM プールから作成できます。デフォルトの仮想マシンプール名は lvm_pool です。

16.1.2.2. LVM ボリューム

LVM ボリュームは、通常の論理ボリュームと同じです。

16.1.2.3. LVM スナップショット

LVM ボリュームからスナップショットを作成すると、他の LVM ボリュームと同様に処理できる新しい snapshot ボリュームが作成されます。Btrfs とは異なり、LVM ではスナップショットと通常のボリュームを区別できるため、スナップショット名を特定のパターンに一致させる必要はありません。

16.1.2.4. LVM デバイス

SSM を使用すると、ユーザーに対して物理デバイスに LVM バックエンドを透過的に作成する必要があります。

16.1.3. 暗号化バックエンド

SSM の暗号化バックエンドは、cryptsetupdm-crypt target を使用して、暗号化ボリュームを管理します。暗号化バックエンドは、通常のブロックデバイス (または LVM や MD ボリュームなどのその他のボリューム) で暗号化ボリュームを作成するための通常のバックエンドとして使用することも、暗号化した LVM ボリュームを 1 つの手順で作成することもできます。
暗号化バックエンドで作成できるのはボリュームのみです。プールには対応しておらず、特別なデバイスは必要ありません。
以下のセクションでは、暗号化の観点からボリュームとスナップショットを定義します。

16.1.3.1. 暗号化ボリューム

暗号化ボリュームは、dm-crypt により作成され、元の暗号化デバイスのデータを暗号化されていない形式で表します。RAID またはデバイスの連結には対応していません。
luks と plain の 2 つのモード、つまり拡張機能に対応しています。Luks はデフォルトで使用されます。拡張機能の詳細は、man cryptsetup を参照してください。

16.1.3.2. 暗号化スナップショット

暗号化バックエンドはスナップショットに対応していませんが、暗号化したボリュームが LVM ボリュームの上に作成されている場合は、そのボリューム自体をスナップショットすることができます。その後、cryptsetup を使用してスナップショットを開くことができます。

16.1.4. 複数のデバイス (MD) のバックエンド

現在、MD バックエンドは、システム内の MD ボリュームに関する情報の収集に限られています。