クラウド屋さんになりたい

地方でインフラエンジニアやってます。 仮想環境を含めた広義のクラウド屋さんを目指して、勉強したことや思ったことをゆるく書いてみます。 時代や最新技術の流れに置いていかれないよう、のんびりでもコツコツ頑張りたいなあ。

Nutanixバイブルを読んでみた(10.3 ストレージ③)

はじめに

前回に引き続きNutanixバイブルを読み進めていきます。前回の記事はこちら。 cloudshopper.hatenadiary.com

※個人的な勉強メモとなりますので、記載内容について一切の責任は持ちません。
※また、個人的に感じたことは網掛け部分に記載しています。

今日のトピックス

Nutanix Cloud バイブル(日本語版)を読んで内容をまとめてみる。
・本記事の対象は、「AOS (Storage for Compute VMs)」-「10.3 ストレージ」の下記2項目。
 ・「10.3.3 拡張可能メタデータ
 ・「10.3.4 データ保護」

Nutanixの拡張可能メタデータ

  • メタデータとは
    • データに関するデータのこと。Nutanix AOSでは、ストレージの管理・構成・追跡に不可欠な情報。
    • メタデータには重要な要素(要件)がいくつかある。
      • 完全一致性(ACID準拠)
      • スケーラブル(拡張可能であること)
      • ボトルネック無し(リニアに拡張できること)

  • メタデータの構造
    • AOS 5.10以降のメタデータは、ローカルメタデータグローバルメタデータに分かれています。ローカルメタデータを活用するので、データローカリティの最適化を図っています。
      • ローカルメタデータ:各CVMが自ノードに関する情報のみを保持。
        • ストレージ:AES DB
        • 格納されるデータの内容:物理エクステントの配置など
      • グローバルメタデータクラスタ全体で共有される情報。
        • ストレージ:Medusa(Cassandraベース)
        • 格納されるデータの内容:vDiskマップ、統計情報、クラスタ構成情報など

Nutanixのデータ保護

  • データ保護の基本要素
    • レプリケーションファクター(RF)
      • データの冗長性を確保するため、複数のノードにデータをコピー(レプリケート)する機能。
      • コンテナレベルで設定可能で、設定に応じてコピーするノード数が変わる。例えばRF2の場合は2ノードに保存、RF3の場合は3ノードに保存。
      • RFをいくつにするか?によってクラスタ内で必要となるノード数が変わってくる。
    • チェックサム
      • データの整合性を確認するための検証コード。
      • データ書き込み時に生成され、メタデータとして保存。読み取り時に照合され、データ破損が見つかった際は他のノード上のデータを使用し手復旧。

  • データ書き込みの流れ
    • データ書き込み時はまずローカルノード上のOpLogに保存
    • 書き込み完了前に、他ノード上のCVM(OpLog)にもレプリケート
    • レプリケートまで完了した後、ゲストOSに書き込み完了のACKを返送
    • OpLog上のデータは一定時間経過後にエクステントストアに排出

      ここまでの要素を図式化すると以下のようなイメージです。

ゲストOS
 ↓
ローカルOpLog
 ↓
 ↓ ----- 同期レプリケーション(RFに応じて他CVMへ)
 ↓
ゲストOSへACKを送信
 ↓
非同期でエクステントストアにデータ排出


おわりに

今回はメタデータとRFの話がメインでしたね。Nutanixと聞くとデータローカリティという考え方が思い浮かびますが、メタデータも一役買っていたんですね。

「Nutanixバイブル読んでみた」シリーズのリンク集はこちら!よろしければ別の章もご覧ください! cloudshopper.hatenadiary.com