Red Hat Training

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

16.2. 一般的な SSM タスク

次のセクションでは、一般的な SSM タスクについて説明します。

16.2.1. SSM のインストール

SSM をインストールするには、次のコマンドを使用します。
# yum install system-storage-manager
サポート対象のパッケージがインストールされている場合に限り、有効になっているバックエンドが複数あります。
  • LVM バックエンドには lvm2 パッケージが必要です。
  • Btrfs バックエンドには btrfs-progs パッケージが必要です。
  • Crypt バックエンドには、device-mapper パッケージおよび cryptsetup パッケージが必要です。

16.2.2. 検出されたすべてのデバイスに関する情報の表示

検出されたすべてのデバイス、プール、ボリューム、およびスナップショットに関する情報を表示するには、list コマンドを使用します。オプションのない ssm list コマンドは、以下の出力を表示します。
# ssm list
----------------------------------------------------------
Device        Free      Used      Total  Pool  Mount point
----------------------------------------------------------
/dev/sda                        2.00 GB        PARTITIONED
/dev/sda1                      47.83 MB        /test
/dev/vda                       15.00 GB        PARTITIONED
/dev/vda1                     500.00 MB        /boot
/dev/vda2  0.00 KB  14.51 GB   14.51 GB  rhel
----------------------------------------------------------
------------------------------------------------
Pool  Type  Devices     Free      Used     Total
------------------------------------------------
rhel  lvm   1        0.00 KB  14.51 GB  14.51 GB
------------------------------------------------
---------------------------------------------------------------------------------
Volume          Pool  Volume size  FS     FS size       Free  Type    Mount point
---------------------------------------------------------------------------------
/dev/rhel/root  rhel     13.53 GB  xfs   13.52 GB    9.64 GB  linear  /
/dev/rhel/swap  rhel   1000.00 MB                             linear
/dev/sda1                47.83 MB  xfs   44.50 MB   44.41 MB  part    /test
/dev/vda1               500.00 MB  xfs  496.67 MB  403.56 MB  part    /boot
---------------------------------------------------------------------------------
この表示は、引数を使用してさらに絞り込んで、表示するものを指定できます。利用可能なオプションの一覧は、ssm list --help コマンドで確認できます。
注記
指定した引数によっては、SSM がすべてを表示しない場合があります。
  • devices 引数または dev 引数を実行すると、デバイスの一部が省略されます。たとえば、CDRoms デバイスや DM/MD デバイスは、ボリュームとして記載されているときに意図的に非表示になります。
  • バックエンドの中にはスナップショットに対応していないものや、通常のボリュームとスナップショットを区別できないものがあります。これらのバックエンドのいずれかで snapshot 引数を実行すると、SSM はスナップショットを識別するためにボリューム名を認識しようとします。SSM の正規表現がスナップショットパターンと一致しない場合、スナップショットは認識されません。
  • メインの Btrfs ボリューム (ファイルシステム自体) を除き、マウントされていない Btrfs ボリュームは表示されません。

16.2.3. 新しいプール、論理ボリューム、およびファイルシステムの作成

本セクションでは、デバイス /dev/vdb および /dev/vdc、1G の論理ボリューム、および XFS ファイルシステムを持つデフォルト名で新しいプールが作成されます。
このシナリオを作成するコマンドは ssm create --fs xfs -s 1G /dev/vdb /dev/vdc です。以下のオプションが使用されます。
  • --fs オプションは、必要なファイルシステムのタイプを指定します。現在対応しているファイルシステムの種類は次のとおりです。
    • ext3
    • ext4
    • xfs
    • btrfs
  • -s は、論理ボリュームのサイズを指定します。単位を定義するために、次の接尾辞がサポートされています。
    • キロバイトの場合は k または k
    • M または m (メガバイト)
    • ギガバイトの場合は G または g
    • テラバイトの場合は T または t
    • p また は p (ペタバイト)
    • e または e (エクサバイト)
  • また、-s オプションを使用すると、新しいサイズをパーセンテージで指定できます。例を参照してください。
    • プールサイズの合計 10 パーセントで 10 %
    • 10 %FREE: 空きプール領域の 10 パーセントの場合
    • 使用されているプール領域の 10 %USED
リストされた 2 つのデバイス( /dev/vdb/dev/vdc )は、作成する 2 つのデバイスです。
# ssm create --fs xfs -s 1G /dev/vdb /dev/vdc
  Physical volume "/dev/vdb" successfully created
  Physical volume "/dev/vdc" successfully created
  Volume group "lvm_pool" successfully created
  Logical volume "lvol001" created
ssm コマンド には、便利なオプションが 2 つあります。1 つ目は -p pool コマンドです。ボリュームを作成するプールを指定します。存在しない場合は、SSM により作成されます。これは、指定された例では省略されており、SSM はデフォルトの名前 lvm_pool を使用していました。ただし、特定の名前を使用して、既存の命名規則に適合させるには、-p オプションを使用する必要があります。
2 つ目の便利なオプションは、-n name コマンドです。新しく作成した論理ボリュームの名前を指定します。-p と同様に、これは特定の名前を使用して既存の命名規則に適合させるために必要です。
この 2 つのオプションの例を以下に示します。
# ssm create --fs xfs -p new_pool -n XFS_Volume /dev/vdd
  Volume group "new_pool" successfully created
  Logical volume "XFS_Volume" created
SSM は、1 つのコマンドだけで、2 つの物理ボリューム、プール、および論理ボリュームを作成しました。

16.2.4. ファイルシステムの整合性の確認

ssm check コマンドは、ボリューム上でファイルシステムの整合性をチェックします。複数のボリュームを指定して確認することもできます。ボリュームにファイルシステムがない場合は、ボリュームがスキップされます。
ボリュームlvol001 内のすべてのデバイスをチェックするには、ssm check /dev/lvm_pool/lvol001 コマンドを実行します。
# ssm check /dev/lvm_pool/lvol001
Checking xfs file system on '/dev/mapper/lvm_pool-lvol001'.
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.

16.2.5. ボリュームのサイズを大きくする

ssm resize コマンドは、指定したボリュームおよびファイルシステムのサイズを変更します。ファイルシステムがない場合は、ボリューム自体のサイズのみが変更されます。
この例では、現在 /dev/vdb に論理ボリュームが 1 つあり、これは 900MB の lvol001 です。
# ssm list
-----------------------------------------------------------------
Device          Free       Used      Total  Pool      Mount point
-----------------------------------------------------------------
/dev/vda                          15.00 GB            PARTITIONED
/dev/vda1                        500.00 MB            /boot
/dev/vda2    0.00 KB   14.51 GB   14.51 GB  rhel
/dev/vdb   120.00 MB  900.00 MB    1.00 GB  lvm_pool
/dev/vdc                           1.00 GB
-----------------------------------------------------------------
---------------------------------------------------------
Pool      Type  Devices       Free       Used       Total
---------------------------------------------------------
lvm_pool  lvm   1        120.00 MB  900.00 MB  1020.00 MB
rhel      lvm   1          0.00 KB   14.51 GB    14.51 GB
---------------------------------------------------------
--------------------------------------------------------------------------------------------
Volume                 Pool      Volume size  FS     FS size       Free  Type    Mount point
--------------------------------------------------------------------------------------------
/dev/rhel/root         rhel         13.53 GB  xfs   13.52 GB    9.64 GB  linear  /
/dev/rhel/swap         rhel       1000.00 MB                             linear
/dev/lvm_pool/lvol001  lvm_pool    900.00 MB  xfs  896.67 MB  896.54 MB  linear
/dev/vda1                          500.00 MB  xfs  496.67 MB  403.56 MB  part    /boot
--------------------------------------------------------------------------------------------
論理ボリュームをさらに 500MB 増やす必要があります。これを行うには、プールにデバイスを追加する必要があります。
~]# ssm resize -s +500M /dev/lvm_pool/lvol001 /dev/vdc
  Physical volume "/dev/vdc" successfully created
  Volume group "lvm_pool" successfully extended
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.
  Extending logical volume lvol001 to 1.37 GiB
  Logical volume lvol001 successfully resized
meta-data=/dev/mapper/lvm_pool-lvol001 isize=256    agcount=4, agsize=57600 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=230400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 230400 to 358400

SSM はデバイスでチェックを実行し、指定した量だけボリュームを拡張します。これは、ssm list コマンドで検証できます。
# ssm list
------------------------------------------------------------------
Device          Free        Used      Total  Pool      Mount point
------------------------------------------------------------------
/dev/vda                           15.00 GB            PARTITIONED
/dev/vda1                         500.00 MB            /boot
/dev/vda2    0.00 KB    14.51 GB   14.51 GB  rhel
/dev/vdb     0.00 KB  1020.00 MB    1.00 GB  lvm_pool
/dev/vdc   640.00 MB   380.00 MB    1.00 GB  lvm_pool
------------------------------------------------------------------
------------------------------------------------------
Pool      Type  Devices       Free      Used     Total
------------------------------------------------------
lvm_pool  lvm   2        640.00 MB   1.37 GB   1.99 GB
rhel      lvm   1          0.00 KB  14.51 GB  14.51 GB
------------------------------------------------------
----------------------------------------------------------------------------------------------
Volume                 Pool      Volume size  FS      FS size        Free  Type    Mount point
----------------------------------------------------------------------------------------------
/dev/rhel/root         rhel         13.53 GB  xfs    13.52 GB     9.64 GB  linear  /
/dev/rhel/swap         rhel       1000.00 MB                               linear
/dev/lvm_pool/lvol001  lvm_pool      1.37 GB  xfs     1.36 GB     1.36 GB  linear
/dev/vda1                          500.00 MB  xfs   496.67 MB   403.56 MB  part    /boot
----------------------------------------------------------------------------------------------
注記
LVM ボリュームのサイズは縮小のみ可能で、その他のボリュームタイプでは対応していません。これは、+ の代わりに - を使用して行います。たとえば、LVM ボリュームのサイズを 50M 減らすには、次のコマンドを実行します。
# ssm resize -s-50M /dev/lvm_pool/lvol002
  Rounding size to boundary between physical extents: 972.00 MiB
  WARNING: Reducing active logical volume to 972.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvol002? [y/n]: y
  Reducing logical volume lvol002 to 972.00 MiB
  Logical volume lvol002 successfully resized
+ または - を指定しないと、値は絶対として取得されます。

16.2.6. スナップショット

既存のボリュームのスナップショットを作成するには、ssm snapshot コマンドを使用します。
注記
ボリュームが属するバックエンドがスナップショットをサポートしていない場合、この操作は失敗します。
lvol001 のスナップショットを作成するには、次のコマンドを使用します。
# ssm snapshot /dev/lvm_pool/lvol001
  Logical volume "snap20150519T130900" created
これを確認するには、ssm list を使用して、追加のスナップショットセクションをメモします。
# ssm list
----------------------------------------------------------------
Device        Free        Used      Total  Pool      Mount point
----------------------------------------------------------------
/dev/vda                         15.00 GB            PARTITIONED
/dev/vda1                       500.00 MB            /boot
/dev/vda2  0.00 KB    14.51 GB   14.51 GB  rhel
/dev/vdb   0.00 KB  1020.00 MB    1.00 GB  lvm_pool
/dev/vdc                          1.00 GB
----------------------------------------------------------------
--------------------------------------------------------
Pool      Type  Devices     Free        Used       Total
--------------------------------------------------------
lvm_pool  lvm   1        0.00 KB  1020.00 MB  1020.00 MB
rhel      lvm   1        0.00 KB    14.51 GB    14.51 GB
--------------------------------------------------------
----------------------------------------------------------------------------------------------
Volume                 Pool      Volume size  FS      FS size        Free  Type    Mount point
----------------------------------------------------------------------------------------------
/dev/rhel/root         rhel         13.53 GB  xfs    13.52 GB     9.64 GB  linear  /
/dev/rhel/swap         rhel       1000.00 MB                               linear
/dev/lvm_pool/lvol001  lvm_pool    900.00 MB  xfs   896.67 MB   896.54 MB  linear
/dev/vda1                          500.00 MB  xfs   496.67 MB   403.56 MB  part    /boot
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Snapshot                           Origin   Pool      Volume size     Size  Type
----------------------------------------------------------------------------------
/dev/lvm_pool/snap20150519T130900  lvol001  lvm_pool    120.00 MB  0.00 KB  linear
----------------------------------------------------------------------------------

16.2.7. 項目の削除

ssm remove は、デバイス、プール、またはボリュームのいずれかの項目を削除するために使用されます。
注記
削除したデバイスがプールで使用されている場合は、失敗します。これは、-f 引数を使用して強制できます。
ボリュームを削除したときにマウントされていた場合は、マウントに失敗します。デバイスとは異なり、-f 引数を指定して強制することはできません。
lvm_pool とその中のものをすべて削除するには、次のコマンドを使用します。
# ssm remove lvm_pool
Do you really want to remove volume group "lvm_pool" containing 2 logical volumes? [y/n]: y
Do you really want to remove active logical volume snap20150519T130900? [y/n]: y
  Logical volume "snap20150519T130900" successfully removed
Do you really want to remove active logical volume lvol001? [y/n]: y
  Logical volume "lvol001" successfully removed
  Volume group "lvm_pool" successfully removed