Red Hat Training

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

15.2. 一般的な SSM タスク

次のセクションでは、基本的なユースケースを取り上げ、SSM のインストール方法や検出されたすべてのデバイス、プール、およびボリュームに関する情報の表示方法を説明します。次に、2 つのボリュームと 1 つの XFS ファイルシステムでプールを作成します。ファイルシステムの一貫性をチェックし、ボリュームのサイズを増やした後、スナップショットを作成します。最後にボリュームの 1 つを削除します。

15.2.1. SSM のインストール

SSM をインストールするには、以下のコマンドを使用します。
# yum install system-storage-manager
関連パッケージがインストールされている場合にのみ、いくつかのバックエンドが有効にされます。
  • LVM バックエンドには lvm2 パッケージが必要です。
  • BTRFS バックエンドには btrfs-progs パッケージが必要です。
  • Crypt バックエンドには device-mapper および cryptsetup パッケージが必要です。

15.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 コマンドを実行すると、使用できるオプションのリストが表示されます。

注記

指定した引数によっては、すべての情報が表示されないことがあります。
  • devices または dev 引数を実行すると一部のデバイスが省略されます。 CD ROM および DM/MD デバイスなどはボリュームとしてリストされ、意図的に表示されません。
  • 一部のバックエンドはスナップショットに対応せず、スナップショットと通常のボリュームを区別できません。このようなバックエンドに snapshot 引数を使用すると、SSM はスナップショットを特定するためにボリューム名を認識しようとします。SSM の正規表現がスナップショットのパターンに一致しない場合、スナップショットは認識されません。
  • メインの BTRFS ボリューム (ファイルシステム自体) 以外のアンマウントされた BTRFS ボリュームは表示されません。

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

このセクションでは、デフォルトの名前で新しいプールを作成します。このプールには /dev/vdb および /dev/vdc デバイス、1 G の論理ボリューム、および 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
  • /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 command には便利なコマンドが 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
1 つのコマンドのみを使用して、 2 つの物理ボリューム、1 つのプール、および 1 つの論理ボリュームが作成されます。

15.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.

15.2.5. ボリュームの容量追加

ssm resize コマンドは、指定されたボリュームとファイルシステムのサイズを変更します。ファイルシステムがない場合、ボリュームの容量のみが変更されます。
この例では、現在 900MB の lvol001 という論理ボリュームが 1 つ /dev/vdb にあります。
~]# 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      
--------------------------------------------------------------------------------------------
論理ボリュームをさらに 500 MB 増やす必要があります。これには、デバイスをプールに追加する必要があります。
~]# 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
+ または - を指定しないと、値は絶対値として認識されます。

15.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
----------------------------------------------------------------------------------

15.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