1.8. VDO ボリュームの作成
この手順では、ブロックデバイスに VDO ボリュームを作成します。
前提条件
- VDO ソフトウェアをインストールしている。「VDO のインストール」を参照してください。
- 拡張可能なストレージをバッキングブロックデバイスとして使用している。詳細は、「ストレージスタックの VDO の 配置」 を参照してください。
手順
以下のすべての手順で、vdo-name を、VDO ボリュームに使用する識別子 (vdo1 など) に置き換えます。システムの VDO の各インスタンスに、それぞれ別の名前とデバイスを使用する必要があります。
VDO ボリュームを作成するブロックデバイスの永続的な名前を確認してください。永続的な名前の詳細は、6章永続的な命名属性の概要 を参照してください。
永続的なデバイス名を使用しないと、今後デバイスの名前が変わった場合に、VDO が正しく起動しなくなることがあります。
VDO ボリュームを作成します。
vdo create \ --name=vdo-name \ --device=block-device \ --vdoLogicalSize=logical-size# vdo create \ --name=vdo-name \ --device=block-device \ --vdoLogicalSize=logical-sizeCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
block-device を、VDO ボリュームを作成するブロックデバイスの永続名に置き換えます。たとえば、
/dev/disk/by-id/scsi-3600508b1001c264ad2af21e903ad031fです。 logical-size を、VDO ボリュームが含まれる論理ストレージのサイズに置き換えます。
-
アクティブな仮想マシンまたはコンテナーストレージの場合は、使用する論理サイズが、ブロックデバイスの物理サイズの 10 倍になるようにします。たとえば、ブロックデバイスのサイズが 1 TB の場合は、
10Tを使用します。 -
オブジェクトストレージの場合は、使用する論理サイズを、ブロックデバイスの物理サイズの 3 倍になるようにします。たとえば、ブロックデバイスのサイズが 1 TB の場合は、
3Tを使用します。
-
アクティブな仮想マシンまたはコンテナーストレージの場合は、使用する論理サイズが、ブロックデバイスの物理サイズの 10 倍になるようにします。たとえば、ブロックデバイスのサイズが 1 TB の場合は、
物理ブロックデバイスが 16TiB を超える場合は、
--vdoSlabSize=32Gオプションを指定して、ボリューム上のスラブサイズを 32GiB に増やします。16TiB を超えるブロックデバイスでデフォルトのスラブサイズ 2GiB を使用すると、
vdo createコマンドが失敗し、以下のエラーが出力されます。vdo: ERROR - vdoformat: formatVDO failed on '/dev/device': VDO Status: Exceeds maximum number of slabs supported
vdo: ERROR - vdoformat: formatVDO failed on '/dev/device': VDO Status: Exceeds maximum number of slabs supportedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
例1.1 コンテナーストレージ用に VDO の作成
たとえば、1 TB ブロックデバイスでコンテナーストレージ用に VDO ボリュームを作成するには、次のコマンドを実行します。
vdo create \ --name=vdo1 \ --device=/dev/disk/by-id/scsi-3600508b1001c264ad2af21e903ad031f \ --vdoLogicalSize=10T# vdo create \ --name=vdo1 \ --device=/dev/disk/by-id/scsi-3600508b1001c264ad2af21e903ad031f \ --vdoLogicalSize=10TCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要VDO ボリュームの作成中に問題が発生した場合は、ボリュームを削除します。詳しくは 「作成に失敗した VDO ボリュームの削除」 を参照してください。
-
block-device を、VDO ボリュームを作成するブロックデバイスの永続名に置き換えます。たとえば、
VDO ボリュームにファイルシステムを作成します。
XFS ファイルシステムの場合:
mkfs.xfs -K /dev/mapper/vdo-name
# mkfs.xfs -K /dev/mapper/vdo-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow ext4 ファイルシステムの場合:
mkfs.ext4 -E nodiscard /dev/mapper/vdo-name
# mkfs.ext4 -E nodiscard /dev/mapper/vdo-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記新しく作成された VDO ボリュームでの
-Kおよび-E nodiscardオプションの目的は、割り当てられていないブロックには影響しないため、リクエストの送信に時間を費やさないようにすることです。新しい VDO ボリュームは、100% 割り当てられていない状態で開始されます。
次のコマンドを使用して、システムが新しいデバイスノードを登録するまで待機します。
udevadm settle
# udevadm settleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
- ファイルシステムをマウントします。詳しくは 「VDO ボリュームのマウント」 を参照してください。
-
VDO デバイスのファイルシステムで
discard機能を有効にします。詳しくは 「定期的なブロック破棄の有効化」 を参照してください。