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業界の将来性は?SEO担当者必読

SEO 導入は完全にナンセンス負け犬である私は、高等教育も受けておらず、恵まれた家庭環境もありません...

草の根ウェブマスターも春を迎える

負け犬のウェブマスターとして、私は毎日忙しく、早起きして夜更かしして、ウェブサイトを儲けさせるために...

ウェブサイトをキャンセルするのは非常に困難です。15のウェブサイトのうち40%がプライバシーを保護していません

法制晩報(記者:李松平英英一多)オンラインショッピングをした後、第三者のプロモーション情報が届き、ホ...

SEO実践者の将来のキャリア開発の方向性と計画について

多くの人にとって、SEO は比較的簡単なスキルです。コンテンツ + 外部リンクで、基本的に SEO ...

ウェブサイトを公開してから 2 日後に Baidu にウェブサイトのホームページをインデックス登録させる方法のヒント

著者は、SEO について毎日投稿し、A5 に提出することに慣れてきました。今日は、ウェブサイトのホー...

手数料の増加が労働者の報酬の削減によるものである場合、その操作の価値はいくらですか?

はい、この文章はコピーされたものであることを認めますが、この記事のテーマを説明するのに非常に適してい...

簡単な説明: フォーラムに外部リンクを投稿する方法

SEO 最適化に関しては、「コンテンツが王様、外部リンクが女王様」とよく言われます。ウェブサイトでは...

アリババのダブル11の取引量は100億元を超え、総取引量は昨年の2倍を超える可能性がある

新浪科技は11月10日夜、毎年恒例の電子商取引「双十一」が本日午前0時に正式にスタートしたと報じた。...

分類情報ウェブサイトで上位にランクインするための外部リンクの投稿経験

すべてのウェブマスターは SEO に日々熱心に取り組んでおり、ウェブサイトのキーワードランキングや外...

ユーザー自己報告: インターネットへの最初の入り口は誰ですか?

私が初めてインターネットに触れたのは 1997 年です。もちろん、私がインターネットを使っていたわけ...

ユーザーエクスペリエンスがキーワード変動の根本的な原因

ある時、新人の SEO 担当者から、ウェブサイトのキーワードがなぜいつも変動するのかと尋ねられました...

chicagovps - サンノゼデータセンターの安価なサーバーへの限定アクセス/SSD搭載

Chicagogovps の格安サーバーは長い間在庫がありませんでした。今回、Chicagogovp...

Red Hat がエッジコンピューティング向けに RHEL と OpenShift を最適化

[51CTO.com クイック翻訳] 仮想 KubeCon で、大手 Linux およびクラウド企業...

中小企業におけるクラウドコンピューティング導入の3つの大きな障害

クラウド コンピューティング テクノロジーがデジタル変革に利用されていることは周知の事実です。実際、...

host1plus-3.68 USD/768 MB RAM/60 GB HDD/1 TB トラフィック/オプションのコンピュータ ルーム 5 室/Alipay

host1plus.comのプロモーションは 2 月 1 日から始まり、3 月 31 日まで有効です...