Red Hat Training

A Red Hat training course is available for RHEL 8

1.8. VDO ボリュームの作成

この手順では、ブロックデバイスに VDO ボリュームを作成します。

前提条件

手順

以下のすべての手順で、vdo-name を、VDO ボリュームに使用する識別子 (vdo1 など) に置き換えます。システムの VDO の各インスタンスに、それぞれ別の名前とデバイスを使用する必要があります。

  1. VDO ボリュームを作成するブロックデバイスの永続的な名前を確認してください。永続的な名前の詳細は、6章永続的な命名属性の概要 を参照してください。

    永続的なデバイス名を使用しないと、今後デバイスの名前が変わった場合に、VDO が正しく起動しなくなることがあります。

  2. VDO ボリュームを作成します。

    # vdo create \
          --name=vdo-name \
          --device=block-device \
          --vdoLogicalSize=logical-size
    • block-device を、VDO ボリュームを作成するブロックデバイスの永続名に置き換えます。たとえば、/dev/disk/by-id/scsi-3600508b1001c264ad2af21e903ad031f です。
    • logical-size を、VDO ボリュームが含まれる論理ストレージのサイズに置き換えます。

      • アクティブな仮想マシンまたはコンテナーストレージの場合は、使用する論理サイズが、ブロックデバイスの物理サイズの 10 倍になるようにします。たとえば、ブロックデバイスのサイズが 1 TB の場合は、10T を使用します。
      • オブジェクトストレージの場合は、使用する論理サイズを、ブロックデバイスの物理サイズの 3 倍になるようにします。たとえば、ブロックデバイスのサイズが 1 TB の場合は、3T を使用します。
    • 物理ブロックデバイスが 16TiB を超える場合は、--vdoSlabSize=32G オプションを指定して、ボリューム上のスラブサイズを 32GiB に増やします。

      16TiB を超えるブロックデバイスでデフォルトのスラブサイズ 2GiB を使用すると、vdo create コマンドが失敗し、以下のエラーが出力されます。

      vdo: ERROR - vdoformat: formatVDO failed on '/dev/device': VDO Status: Exceeds maximum number of slabs supported

    例1.1 コンテナーストレージ用に VDO の作成

    たとえば、1 TB ブロックデバイスでコンテナーストレージ用に VDO ボリュームを作成するには、次のコマンドを実行します。

    # vdo create \
          --name=vdo1 \
          --device=/dev/disk/by-id/scsi-3600508b1001c264ad2af21e903ad031f \
          --vdoLogicalSize=10T
    重要

    VDO ボリュームの作成中に問題が発生した場合は、ボリュームを削除します。詳しくは 「作成に失敗した VDO ボリュームの削除」 を参照してください。

  3. VDO ボリュームにファイルシステムを作成します。

    • XFS ファイルシステムの場合:

      # mkfs.xfs -K /dev/mapper/vdo-name
    • ext4 ファイルシステムの場合:

      # mkfs.ext4 -E nodiscard /dev/mapper/vdo-name
      注記

      新しく作成された VDO ボリュームでの -K および -E nodiscard オプションの目的は、割り当てられていないブロックには影響しないため、リクエストの送信に時間を費やさないようにすることです。新しい VDO ボリュームは、100% 割り当てられていない状態で開始されます。

  4. 次のコマンドを使用して、システムが新しいデバイスノードを登録するまで待機します。

    # udevadm settle

次のステップ

  1. ファイルシステムをマウントします。詳しくは 「VDO ボリュームのマウント」 を参照してください。
  2. VDO デバイスのファイルシステムで discard 機能を有効にします。詳しくは 「定期的なブロック破棄の有効化」 を参照してください。

関連情報

  • man ページの vdo(8)