Hitachi

Hitachi Dynamic Link Manager ユーザーズガイド(Linux®用)


3.10.2 HDLMデバイスを使用して新規に論理ボリュームを作成する

ここでは,新規にHDLMデバイスを使用して,論理ボリュームを作成する手順を説明します。「図3‒13 HDLMデバイス上に論理ボリュームを作成した場合のデバイス構成」に示す環境は,次の手順で構築してください。

図3‒13 HDLMデバイス上に論理ボリュームを作成した場合のデバイス構成
[図データ]
  1. HDLMデバイスを使用しているプロセス,サービスなどをすべて停止します。

  2. HDLMデバイス上にディスクパーティションを作成し,システムIDを「Linux」(16進数で表記した場合,83)から「Linux LVM」(16進数で表記した場合,8e)に変更します。

    /dev/sddlmad(HDLMデバイス)に2つのパーティションを作成する場合の実行例を次に示します。

    fdiskコマンドの実行例(IA32)

    [図データ]

    partedコマンドの実行例(IA32,またはEM64T/AMD64)

    [図データ]

    partedコマンドでパーティションを変更する場合には,HDLMデバイス上のパーティションを認識させるために,partedコマンドの実行後にblockdevコマンドを実行してください。

  3. /etc/lvm/lvm.confファイルを編集します。

    SCSIデバイスの構成を無効にしてHDLMデバイスの構成を有効にするために,ファイル中のデバイスセクションに対して次の編集を行います。

    /etc/lvm/lvm.confファイルの編集例を次に示します。

    • Red Hat Enterprise Linux 9の場合

      変更前

      devices {
                                    :
              # global_filter = [ "a/.*/" ]
              global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
              # types = [ "fd", 16 ]
                                    :
              md_component_detection = 1
                                    :
              allow_changes_with_duplicate_pvs = 0
                                    :
              multipath_component_detection=1
                                    :
              use_devicesfile=1
                                    :
      
      }

      変更後

      devices {
                                    :
              # global_filter = [ "a/.*/" ]
              # global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
              global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
                                    :
              # types = [ "fd", 16 ]
              types = [ "sddlmfdrv", 16 ]
                                    :
              # md_component_detection = 1
              md_component_detection=0
                                    :
              # allow_changes_with_duplicate_pvs = 0
              allow_changes_with_duplicate_pvs = 1
                                    :
              # multipath_component_detection=1
              multipath_component_detection=0
                                    :
              # use_devicesfile=1
              use_devicesfile=0
                                    :
      
      }

      既存のglobal_filtertypesmd_component_detectionallow_changes_with_duplicate_pvsmultipath_component_detectionおよびuse_devicesfileの行をコメントアウトし,下線部を追加します。

      SCSIデバイスの構成に戻す場合に使用するため,変更前の値は控えてください。

    • Red Hat Enterprise Linux 8,Oracle Linux 8,Oracle Unbreakable Enterprise Kernel 8またはSUSE LINUX Enterprise Server 15 SP2以降の場合

      Red Hat Enterprise Linux 8.8以降の場合は,multipath_component_detectionの値を0に設定してください。詳細は,「3.10.1 LVM2を使用する場合の注意事項」を参照してください。

      変更前

      devices {
                                    :
              # global_filter = [ "a/.*/" ]
              global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
              # types = [ "fd", 16 ]
                                    :
              md_component_detection = 1
                                    :
              allow_changes_with_duplicate_pvs = 0
                                    :
      }

      変更後

      devices {
                                    :
              # global_filter = [ "a/.*/" ]
              # global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
              global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
                                    :
              # types = [ "fd", 16 ]
              types = [ "sddlmfdrv", 16 ]
                                    :
              # md_component_detection = 1
              md_component_detection=0
                                    :
              # allow_changes_with_duplicate_pvs = 0
              allow_changes_with_duplicate_pvs = 1
                                    :
      }

      既存のglobal_filtertypesmd_component_detectionおよびallow_changes_with_duplicate_pvsの行をコメントアウトし,下線部を追加します。

      SCSIデバイスの構成に戻す場合に使用するため,変更前の値は控えてください。

    • SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15 SP1以前,Red Hat Enterprise Linux 7,Oracle Linux 7およびOracle Unbreakable Enterprise Kernel 7の場合

      allow_changes_with_duplicate_pvsの値を1に,write_cache_stateの値を0に設定してください。詳細は,「3.10.1 LVM2を使用する場合の注意事項」を参照してください。

      use_lvmetad=0で運用する場合は,global_filterではなくfilterで指定してください。

      変更前

      # This section allows you to configure which block devices should
      # be used by the LVM system.
      devices {
                                    :
      
              # filter = [ "a/.*/" ]
                filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
      
               write_cache_state = 1
                                    :
      
              # types = [ "fd", 16 ]
                                    :
      
              md_component_detection = 1
                                    :
      }

      変更後

      # This section allows you to configure which block devices should
      # be used by the LVM system.
      devices {    
                                   :
      
              # filter = [ "a/.*/" ]
              # filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                  filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
                                    :
      
              # write_cache_state = 1
                  write_cache_state = 0
                                    :
      
              # types = [ "fd", 16 ]
              types = [ "sddlmfdrv", 16 ]
                                    :
      
              # md_component_detection = 1
                  md_component_detection=0
                                    :
      }

      既存のfilterwrite_cache_statetypesおよびmd_component_detectionの行をコメントアウトし,下線部を追加します。

      SCSIデバイスの構成に戻す場合に使用するため,変更前の値は控えてください。

    • 上記以外のOSの場合

      write_cache_stateの値を0に設定してください。詳細は,「3.10.1 LVM2を使用する場合の注意事項」を参照してください。

      global_filterが使用できるLVM2のバージョンで,use_lvmetad=1で運用する場合は,filterではなくglobal_filterで指定してください。

      変更前

      # This section allows you to configure which block devices should
      # be used by the LVM system.
      devices {
                                    :
      
              # filter = [ "a/.*/" ]
                                    :
      
              # global_filter = [ "a/.*/" ]
                global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
      
               write_cache_state = 1
                                    :
      
              # types = [ "fd", 16 ]
                                    :
      
              md_component_detection = 1
                                    :
      }

      変更後

      # This section allows you to configure which block devices should
      # be used by the LVM system.
      devices {    
                                   :
      
              # filter = [ "a/.*/" ]
                                    :
      
              # global_filter = [ "a/.*/" ]
              # global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                  global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
                                    :
      
              # write_cache_state = 1
                  write_cache_state = 0
                                    :
      
              # types = [ "fd", 16 ]
              types = [ "sddlmfdrv", 16 ]
                                    :
      
              # md_component_detection = 1
                  md_component_detection=0
                                    :
      }

      既存のglobal_filterwrite_cache_statetypesおよびmd_component_detectionの行をコメントアウトし,下線部を追加します。

      SCSIデバイスの構成に戻す場合に使用するため,変更前の値は控えてください。

  4. VGスキャンを実行します。

    ファイルを編集したあと,次に示すコマンドを実行してください。

    # /sbin/vgscan
  5. LVMキャッシュファイルを削除します。

    次のファイルがある場合,ファイルを削除してください。

    • /etc/lvm/.cache

    • /etc/lvm/cache/.cache

  6. 物理ボリュームを作成します。

    /dev/sddlmad1および/dev/sddlmad2を物理ボリュームとして定義する場合の実行例を次に示します。

    # pvcreate /dev/sddlmad1
      Physical volume "/dev/sddlmad1" successfully created
    # pvcreate /dev/sddlmad2
      Physical volume "/dev/sddlmad2" successfully created
  7. ボリュームグループを作成します。

    物理ボリュームである/dev/sddlmad1および/dev/sddlmad2を使用して,vg01(ボリュームグループ)を作成する場合の実行例を次に示します。

    # vgcreate vg01 /dev/sddlmad1 /dev/sddlmad2 
      Volume group "vg01" successfully created
  8. 論理ボリュームを作成します。

    vg01(ボリュームグループ)を使用して,論理ボリューム(lvol1:100MB)を作成する場合の実行例を次に示します。

    # lvcreate -L 100M -n lvol1 vg01
      Logical volume "lvol1" created
  9. ファイルシステムを作成します。

    mke2fsコマンドを使用して,lvol1(論理ボリューム)にファイルシステムを作成する場合の実行例を次に示します。

    # mke2fs /dev/vg01/lvol1
    Filesystem label=
    OS type: Linux
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    25688 inodes, 102400 blocks
    5120 blocks (5.00%) reserved for the super user
    First data block=1
    13 block groups
    8192 blocks per group, 8192 fragments per group
    1976 inodes per group
    Superblock backups stored on blocks:
            8193, 24577, 40961, 57345, 73729
    
    Writing inode tables: done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 38 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
  10. 論理ボリュームをマウントするディレクトリを作成します。

    /mnt/lvol1ディレクトリを作成する実行例を,次に示します。

    # mkdir /mnt/lvol1
  11. 論理ボリュームをマウントします。

    /mnt/lvol1ディレクトリにマウントする実行例を,次に示します。

    # mount /dev/vg01/lvol1 /mnt/lvol1
  12. Red Hat Enterprise Linux 6の場合は,ボリュームグループの情報を更新します。

    次に示すコマンドを実行して,ボリュームグループの情報を更新します。

    # vgscan
      Reading all physical volumes.  This may take a while...
      Found volume group "VolGroup00" using metadata type lvm2