CentOS / RHEL 7でssmを使用してLVMボリュームを管理する方法は?



How Manage Lvm Volumes With Ssm Centos Rhel 7



ssmを準備する

新しいCentOS / RHEL 7では、最初にシステムストレージマネージャーをインストールする必要があります。

$ sudo yum install system-storage-manager

まず、利用可能なハードドライブとLVMボリュームに関する情報を確認します。次のコマンドは、既存のディスクストレージデバイス、ストレージプール、LVMボリューム、およびストレージスナップショットに関する情報を表示します。出力は、デフォルトでLVMおよびXFSファイルシステムを使用する新しくインストールされたCentOS7からのものです。



$ sudo ssm list

画像
この例では、2つの物理デバイス(「/ dev / sda」と「/ dev / sdb」)、ストレージプール(「centos」)、および2つのLVMボリュームを作成したストレージプール(「dev / centos / root」)があります。および '/ dev / centos / swap')。

LVMプールに物理ディスクを追加する

新しい物理ディスク(/ dev / sdbなど)を既存のストレージプール(centosなど)に追加することもできます。新しい物理ディスクを既存のストレージプールに追加するコマンドは次のとおりです。



$ sudo ssm add -p <pool-name> <device>

画像
新しいデバイスがストレージプールに追加されると、ストレージプールは自動的に拡張されます。拡張の程度は、デバイスのサイズによって異なります。以下に示すように、centosという名前のストレージプールのサイズを確認します。

画像
ご覧のとおり、centosストレージプールは7.5GBから8.5GBに正常に拡張されています。ただし、現時点では、ストレージプールにあるディスクボリューム(/ dev / centos / rootや/ dev / centos / swapなど)は、増加したスペースを使用していません。このために、既存のLVMボリュームを拡張する必要があります。

LVMボリュームを拡張する

ストレージプールに追加のスペースがある場合は、ストレージプール内の既存のディスクボリュームを拡張できます。これを行うには、ssmコマンドのサイズ変更オプションを使用します。



$ sudo ssm resize -s [size] [volume]

/ dev / centos / rootボリュームのサイズを500MB増やすこともできます。

$ sudo ssm resize -s+500M /dev/centos/root

画像
カーネルは、ボリュームのサイズの増加を認識します。

$ sudo ssm list volumes

画像
/ dev / centos / rootボリュームのサイズが6.7GBから7.2GBに増加したことを確認できます。ただし、これは、ボリュームに作成されたファイルシステムの余分なスペースをすぐに使用できることを意味するものではありません。ファイルシステムのサイズ(「FSサイズ」)はまだ6.7GBであることがわかります。

ファイルシステムが増加したボリュームサイズを認識するためには、既存のファイルシステム自体を「拡張」する必要があります。使用するファイルシステムに応じて、既存のファイルシステムを拡張するために使用できるさまざまなツールがあります。たとえば、EXT2 / EXT3 / EXT4にはresize2fs、XFSにはxfs_growfs、Btrfsにはbtrfsがあります。

この例では、CentOS 7を使用しており、XFSファイルシステムがデフォルトで作成されます。したがって、xfs_growfsを使用して既存のXFSファイルシステムを拡張します。

XFSファイルシステムを拡張した後、ファイルシステムがディスクボリューム全体の7.2GBを完全に占有していることを確認します。

画像
画像

新しいLVMプール/ボリュームを作成する

この例では、物理ディスクドライブに新しいストレージプールと新しいLVMボリュームを作成する方法を見てみましょう。従来のLVMツールを使用する場合、プロセス全体が非常に複雑になり、パーティションを準備し、物理ボリューム、ボリュームグループ、論理ボリューム、そして最後にファイルシステムを作成する必要があります。ただし、ssmを使用すると、プロセス全体が一度に実行されます。

次のコマンドの機能は、mypoolという名前のストレージプールを作成し、ストレージプールにdisk0という名前の500MB LVMボリュームを作成し、XFSファイルシステムでボリュームをフォーマットして、/ mnt / testの下にマウントすることです。 ssmの強力な機能をすぐに理解できます。

$ sudo ssm create -s 500M -n disk0 --fstype xfs -p mypool /dev/sdc /mnt/test

画像
作成されたディスクボリュームを確認したい場合があります。
画像
画像

LVMボリュームのスナップショットを作成します

ssmツールを使用して、既存のディスクボリュームのスナップショットを作成することもできます。注意:スナップショットは、ボリュームを含むバックエンドがスナップショットメカニズムをサポートしている場合にのみ適用できます。 LVMバックエンドはオンラインスナップショット機能をサポートしています。つまり、オフライン状態のボリュームのスナップショットを作成する必要はありません。さらに、ssmのLVMバックエンドはLVM2をサポートしているため、スナップショットには読み取り/書き込み機能があります。

既存のLVMボリューム(/ dev / mypool / disk0など)のスナップショットを作成することもできます。

$ sudo ssm snapshot /dev/mypool/disk0

スナップショットが作成されると、特別なスナップショットボリュームとして保存され、スナップショットが作成されたときの元のボリュームにすべてのデータが保存されます。

画像
スナップショットを保存した後、元のボリュームを削除し、スナップショットボリュームをマウントして、スナップショット内のデータにアクセスできます。
画像
注意:元のボリュームがマウントされているときにスナップショットボリュームをマウントしようとすると、次のエラーメッセージが表示されます。

kernel: XFS (dm-3): Filesystem has duplicate UUID 27564026-faf7-46b2-9c2c-0eee80045b5b - can't mount

LVMボリュームを削除する

既存のディスクボリュームまたはストレージプールの削除は、ディスクボリュームまたはストレージプールを作成するのと同じくらい簡単です。マウントされたボリュームを削除しようとすると、ssmが最初に自動的にマウントを解除します。この点で問題はありません。

LVMボリュームを削除したい:

$ sudo ssm remove <volume>

ストレージプールを削除したい:

$ sudo ssm remove <pool-name>

画像