Centos8にVDOをインストールして設定し、ストレージスペースを最適化する

Centos8にVDOをインストールして設定し、ストレージスペースを最適化する

[[400325]]

Virtual Data Optimizer (VDO) は、透過的なデータ重複排除を提供するブロック仮想化テクノロジーです。冗長なデータ ブロックを排除することで、VDO は実際に使用されるディスク容量を大幅に削減できます。

VDO は 2 つのカーネル モジュールと 2 つのコマンドで構成されています。

次の 2 つのカーネル モジュールで構成されています。

  • kvdo - このモジュールはデバイス マネージャー レイヤーにロードされ、データ重複排除用のブロック ストレージ ボリュームを提供します。
  • uds - このモジュールは、VDO オンディスク ユニバーサル重複排除インデックスとの通信を担当します。

2 つのコマンド ライン ツールが含まれています:

  • vdo - VDO ボリュームの作成、削除、開始、停止、およびその他の構成操作を実行するために使用されます。
  • vdostats - 物理ボリュームの効果的な削減と使用率など、VDO ボリュームのさまざまな側面を報告するために使用されます。

システム環境

セントオス8

VDOをインストールする

次のコマンドは、vdo と関連する依存関係をインストールし、インストールが完了したらシステムを再起動します。

  1. [root@localhost ~]# yum -y install vdo
  2. [root@localhost ~]# 再起動

VDOデバイスを作成する

VDO が使用できる空きディスクまたはパーティションがあることを確認します。 LVM 論理ボリューム上に VDO ボリュームを作成することはできますが、システムを再起動すると起動順序の問題が発生します。したがって、raw ディスク上に vdo ボリュームを作成し、その上に LVM 論理ボリュームを作成します。

次に、20GB のディスク /dev/sda を vdo ボリュームとして使用します。

vdo ボリュームを作成しましょう:

  1. [root@localhost ~]# vdo作成  --name=vdolvm --device /dev/sda --vdoLogicalSize 60G --writePolicy 非同期 
  2. VDO vdolvm の作成
  3. VDO ボリュームは、それぞれ 2 GB の 8 つのデータ スラブ16 GB をアドレス指定できます。
  4. 8192 スラブ最大16 TB物理ストレージ対応できるように拡張できます。
  5. より大きな最大サイズが必要な場合は、より大きなスラブを使用します。
  6. VDO vdolvm の起動
  7. VDO vdolvmでの圧縮の開始
  8. VDO インスタンス 0 ボリュームは/dev/mapper/vdolvm準備完了です

コマンドを分解して、使用されるオプションを見てみましょう。

--device - vdoボリュームを作成するハードディスクを指定します

--vdoLogicalSize - ここでは容量を 60G に指定します。これは実際のディスク サイズの 20G よりもはるかに大きい値です。重複排除によって少なくとも 3:1 の削減が得られると仮定します。これはほとんどのデータに対してはかなり控えめな数値ですが、データに重複があまりない場合は比率が異なります。ログ ファイルやその他のプレーン テキスト ファイルは通常、適切に重複排除され、10:1 以上の重複排除率を達成できる場合があります。ただし、ビデオ、オーディオ、圧縮ファイルなどのバイナリ ファイルは 3:1 よりはるかに小さくなり、場合によっては 1:1 になることもあります。この場合、vdo ボリュームの使用はお勧めしません。

--writePolicy - vdo には 3 つの書き込みポリシーがあります。

同期: VDO ボリュームへの書き込みは、データが物理デバイスに書き込まれた後にのみ確認されます。

非同期: データはキャッシュに書き込まれた後に確認されます。デバイスの障害や電源喪失の前にキャッシュをフラッシュしないと、データが失われる可能性があります。

auto: このデフォルトモードでは、VDO はストレージデバイスをチェックし、フラッシュをサポートしているかどうかを判断します。その場合、VDO は非同期モードを使用します。そうでない場合は、同期モードが使用されます。

新しく作成されたVDOボリュームに関する情報を表示します

前の手順の出力からわかるように、VDO は /dev/mapper/vdolvm という名前の新しい dm デバイスを作成しました。これは、lvm ボリューム グループを作成するときに使用するデバイスです。

  1. [root@localhost ~]# ll /dev/mapper/vdolvm
  2. lrwxrwxrwx 1 ルート ルート 7 3月 4 13:31 /dev/mapper/vdolvm -> ../dm-2

vdostats を使用して vdo ボリュームについてどのような情報を取得できるかを見てみましょう。

  1. [root@localhost ~]# vdostats --hu  
  2. デバイスサイズ使用済み 使用可能使用率スペース節約率
  3. /dev/mapper/vdolvm 20.0G 4.0G 16.0G 20% 該当なし

ボリュームにまだデータを書き込んでいないため、Spacesaving% フィールドは N/A です。後でデータを書き込むときに、ここでさらに役立つ情報が表示されます。

上の図を見ると、まだデータを書き込んでいないのに、すでに 4GB、つまり 20% のスペースが使用されていることがわかります。これは、「ユニバーサル重複排除インデックス」がディスクに書き込まれているためです。これは基本的に、スラブの指紋とその位置を記録するデータベースです。これにより、データの重複排除が可能になります。

VDOボリュームを通常のディスクデバイスとして設定する

VDO デバイスを作成したので、これをパーティション分割してフォーマットしたり、この VOD ボリューム上に LVM 論理ボリュームを作成したりできます。次に論理ボリュームを作成します。

  1. # 物理ボリュームを作成する
  2. [root@localhost ~]# pvcreate /dev/mapper/vdolvm
  3. 物理ボリューム「/dev/mapper/vdolvm」が正常に作成されました。
  4. # ボリュームグループ vdo_vg を作成する
  5. [root@localhost ~]# vgcreate vdo_vg /dev/mapper/vdolvm
  6. ボリュームグループ  「vdo_vg」が正常に作成されました
  7. # vdo_vgボリュームグループの情報を表示します
  8. [root@localhost ~]# vgdisplay vdo_vg
  9. --- ボリュームグループ ---  
  10. VGvdo_vg
  11. システムID
  12. lvm2をフォーマットする
  13. メタデータ領域 1
  14. メタデータシーケンス  1
  15. VGアクセス読み取り/書き込み
  16. VGステータスサイズ変更可能
  17. 最大レベル0
  18. カー LV 0
  19. オープンLV0
  20. 最大PV 0
  21. 現在のPV 1
  22. 第1幕
  23. VGサイズ<60.00 GiB
  24. PEサイズ4.00 MiB
  25. 合計PE 15359
  26. 割り当て PE /サイズ0 / 0
  27. 空きPE/サイズ15359/<60.00 GiB
  28. VG UUID qfPiH6-eMCU-Z6kr-eeCu-jd0J-8lmf-49daZX

上記のように、ベース ディスクが 40 GB しかないことがわかっているにもかかわらず、lvm はベース ディスクが 120 GB であると認識しています。 LVM は VDO バックエンド ディスクのサイズを認識しないためです。

次に、いくつかの論理ボリュームを作成しましょう。

  1. [root@localhost ~]# lvcreate -n vdo_lv01 -L 15G vdo_vg
  2. [root@localhost ~]# lvcreate -L 15G -n vdo_lv02 vdo_vg
  3. [root@localhost ~]# lvcreate -L 15G -n vdo_lv03 vdo_vg
  4. # 作成された論理ボリュームを表示する
  5. [root@localhost ~]# lvs -o +デバイス

マウントポイントを作成し、ファイルシステムをマウントする

通常、ファイル システムが作成された後、デバイス上で Trim 操作が実行されます。ディスク容量はオンデマンドで割り当てられるため、VDO を使用する場合はこれは理想的ではありません。したがって、ファイルシステムの作成プロセス中にブロックを破棄しないように mkfs に指示する必要があります。 XFS の場合は -K オプションを使用します。 EXT4 の場合は -E nodiscard を使用します。以下は、for ループを使用して 3 つの論理ボリュームを XFS ファイル システムとしてフォーマットします。

  1. [root@localhost ~]# i`seq 1 3`の場合; mkfs.xfs -K /dev/vdo_vg/vdo_lv0$i; を実行します。終わり
  2. メタデータ=/dev/vdo_vg/vdo_lv01 isize=512 agcount=4、agsize=983040 blks
  3. = sectsz=4096 属性=2、projid32bit=1
  4. = crc=1 finobt=1、スパース=1、rmapbt=0
  5. =参照リンク=1
  6. データ = bsize=4096 ブロック=3932160、imaxpct=25
  7. = 単位=0 幅=0 ブロック
  8. 命名 =バージョン 2 bsize=4096 ascii-ci=0, ftype=1
  9. ログ =内部ログ bsize=4096 ブロック=2560、バージョン=2
  10. = sectsz=4096 sunit=1 blks、lazy- count =1
  11. リアルタイム =なし extsz=4096 ブロック=0、rtextents=0
  12. メタデータ=/dev/vdo_vg/vdo_lv02 isize=512 agcount=4、agsize=983040 blks
  13. = sectsz=4096 属性=2、projid32bit=1
  14. = crc=1 finobt=1、スパース=1、rmapbt=0
  15. =参照リンク=1
  16. データ = bsize=4096 ブロック=3932160、imaxpct=25
  17. = 単位=0 幅=0 ブロック
  18. 命名 =バージョン 2 bsize=4096 ascii-ci=0, ftype=1
  19. ログ =内部ログ bsize=4096 ブロック=2560、バージョン=2
  20. = sectsz=4096 sunit=1 blks、lazy- count =1
  21. リアルタイム =なし extsz=4096 ブロック=0、rtextents=0
  22. メタデータ=/dev/vdo_vg/vdo_lv03 isize=512 agcount=4、agsize=983040 blks
  23. = sectsz=4096 属性=2、projid32bit=1
  24. = crc=1 finobt=1、スパース=1、rmapbt=0
  25. =参照リンク=1
  26. データ = bsize=4096 ブロック=3932160、imaxpct=25
  27. = 単位=0 幅=0 ブロック
  28. 命名 =バージョン 2 bsize=4096 ascii-ci=0, ftype=1
  29. ログ =内部ログ bsize=4096 ブロック=2560、バージョン=2
  30. = sectsz=4096 sunit=1 blks、lazy- count =1
  31. リアルタイム =なし extsz=4096 ブロック=0、rtextents=0

新しいファイルシステムをマウント ポイントにマウントするときに、XFS にブロックを破棄するように指示します。これにより、ファイルの削除が大幅に高速化されます。

  1. [root@localhost ~]# mkdir -p /data/{01..03}
  2. [root@localhost ~]# i`seq 1 3`の場合; mount -o destroy /dev/vdo_vg/vdo_lv0$i /data/0$i を実行します。終わり

デバイスに少量のデータを書き込んだので、VDO ボリュームを再度チェックして状況が変わったかどうかを確認できます。

  1. [root@localhost ~]# vdostats --hu  
  2. デバイスサイズ使用済み 使用可能使用率スペース節約率
  3. /dev/mapper/vdolvm 20.0G 4.0G 16.0G 20% 86%

起動時に開始するように設定する

次に、起動時に起動するように 3 つの論理ボリュームを設定します。 fstab ファイルに x-systemd.device-timeout=0 と x-systemd.requires=vdo.service を追加する必要があります。

blkid を使用して、3 つの論理ボリュームの UUID を表示します。

上記で取得した UUID を使用して、/etc/fstab ファイルに追加します。

  1. [root@localhost systemd]# vim /etc/fstab
  2.  
  3. UUID= "bd2c1c61-4656-4065-b5a0-3ca53ef0f949" /data/01 xfs デフォルト、x-systemd.device-timeout=0、x-systemd.requires=vdo.service 0 0
  4. UUID= "1e53579b-f1da-4f77-80e6-d61a40515525" /data/02 xfs デフォルト、x-systemd.device-timeout=0、x-systemd.requires=vdo.service 0 0
  5. UUID= "d41bf7e2-bf75-4db7-b323-a923375f6a6e" /data/03 xfs デフォルト、x-systemd.device-timeout=0、x-systemd.requires=vdo.service 0 0

この記事はWeChatの公開アカウント「これがLinuxの学び方です」から転載したものです。下のQRコードからフォローできます。この記事を転載する場合は、Linux 公式アカウントまでご連絡ください。

<<:  ファーウェイ中国エコシステムカンファレンス産業クラウドフォーラムが成功裏に開催:産業とデジタルの融合時代における地域産業クラスターのデジタル変革の新たな機会を探る

>>:  etcdと分散ロックに関する記事

推薦する

キーワードの頻度と配置から見るSEOの方向性

キーワードの頻度がランキングに与える影響上記のグラフは、SEOmoz がキーワードがページにどのよう...

クイックパケット - $35/L5630/24g メモリ/1T ハードディスク/4IP/20T トラフィック/ロサンゼルス

Quickpacket は創立 14 周年を記念し、プロモーション用に自社専用サーバーを 2 台リリ...

ロシアのVPS: justhost、VPSと専用サーバーおよび機器ホスティングを提供

2006 年に設立されたロシアのホスティング会社 justhost は、一定の評判を誇っています。J...

ブランドの越境マーケティングをどのように行うかという 5 つの側面についてお話ししましょう。

月給5,000~50,000のこれらのプロジェクトはあなたの将来です以前、六神花水とRIOが共同で花...

対外貿易ウェブサイトの最適化において注意すべきいくつかの問題

近年、外国人は良い時を過ごしていないため、過去数年間非常に人気があった対外貿易ウェブサイトは平凡にな...

Google Play の 2015 年のベスト ゲームとアプリが発表されました

今年も年末がやってきました。毎年恒例の Google Play ストアのベスト アプリ リストが予定...

概要: VPS チュートリアル、VPS 指導、初心者が VPS を使用して Web サイトを構築する方法をすぐに学習

Linux VPS の入り口に立っていて、まだ入っていない初心者に宛てたメッセージ: 初心者が Li...

ウェブマスターは、Baidu の新しい青大根アルゴリズムについてどう考えているのでしょうか?

皆さんは百度の新しい青大根アルゴリズムの発表をご覧になったと思います。発表から判断すると、百度が青大...

Sina Weiboの実践ツールを詳しく解説(第2部)

パート4: コンテンツ分析Weibo コンテンツの分析は、コンテンツの包括的な分析と単一のコンテンツ...

Hostshark: 月額 4.95 ドル、米国 VPS、2G メモリ/2 コア/80g NVMe/1Gbps 帯域幅 (トラフィック無制限)/Windows+Linux

Hostshark.ioは今年設立された新しい企業で、主に米国で仮想ホスティング、VPS、独立サーバ...

evlgaming-1 メモリ KVM/6.5 USD/月/サポート Windows/カンザス

Evlgaming には、2010 年に登録され、カンザス州にオフィスを構える、flamevps と...

エッジコンピューティングをどのように活用して持続可能性を向上させることができるでしょうか?

エッジ コンピューティングの人気が高まるにつれ、過去数年間に繰り返し提起されてきた疑問は、「エッジ ...

2011 年に最も安定し、質の高い外部リンク 4 つについて簡単に説明します。

SEO を行う際には、外部リンクの追求は避けられません。なぜなら、外部リンクはウェブサイトのランキン...

VMware が Gartner の統合エンドポイント管理マジック クアドラントで 4 年連続リーダーに選出

VMware は最近、ガートナー社の「2021 年統合エンドポイント管理 (UEM) マジック クア...