pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

Nutanixバイブルのメモ

https://www.nutanixbible.jp/


Webスケールなインフラストラクチャーの重要な要素

ハイパーコンバージェンス
ソフトウェア デファインド インテリジェンス
自律分散システム
インクリメンタルかつリニアな拡張性
その他の要素:

APIベースの自動化と豊富な分析機能
セキュリティをコアに据えている
自己修復機能


戦略とビジョン

あらゆる場所のインフラストラクチャーコンピューティングを、存在を意識しなくていいくらい簡単(インビジブル)にする。

このシンプルさは、次の3つのコア領域に焦点を当てることで達成されました。

選択とポータビリティを可能にする。 (HCI/Cloud/Hypervisor)

コンバージェンス、抽象化、インテリジェント ソフトウェア(AOS)による「スタック」のシンプル化。

ユーザーエクスペリエンス(UX)とデザイン(Prism)を重視した、直感的なユーザーインターフェイス(UI)の提供。


コア サービス
基礎的なサービス群
プラットフォーム サービス
コア サービスをもとにしたサービス群であり、付加的な機能およびサービスを提供する


Nutanix Cloud Platform

 AOSスケールアウトストレージ
 AHVハイパーバイザ―
 仮想ネットワーキング
 ディザスタリカバリ
 コンテナサービス
 データとネットワークのセキュリティ
  内蔵のローカルキーマネージャーでの暗号化を使用したデータの包括的なセキュリティと、Flow Network Securityでのネットワークとアプリケーションのためのソフトウェアベースのファイアウォールがあります。


Nutanixクラウドマネージャー(NCM)

AI Operations(NCM インテリジェントオペレーション)
 キャパシティの最適化、プロアクティブなパフォーマンス異常検出、そしてインフラストラクチャー管理を合理化できる運用タスク自動化機能を提供
セルフサービスによるインフラストラクチャ―とアプリのライフサイクル管理(NCMセルフサービス)
 セルフサービス、自動化、そして集中化されたロールベースのガバナンス
コストガバナンス
Security Central
 クラウドセキュリティオペレーションの統合、ワークロード脆弱性の特定、マイクロセグメンテーション管理、ゼロトラストなどの戦略的イニシアチブにおける規制コンプライアンス要件順守のためのセキュリティダッシュボードです。

Nutanix ユニファイドストレージサービス
 Filesストレージ
 Objectsストレージ
 Volumesブロックストレージ
 Mine統合型バックアップ

Nutanixデータベースサービス

デスクトップサービス




ハイパーコンバージドシステムの核となる構造

コンピューティングスタックの収束と崩壊が必要(例:コンピュート+ストレージ)
システム内のノード間でデータとサービスのシャード(分散)が必要
集中型ストレージと同等の機能を備えていることが必要(例:HA、ライブマイグレーションなど)
データを可能な限り実行処理(コンピュート)に近づける必要 (Importance of Latency)
ハイパーバイザーに依存しない
ハードウェアに依存しない


コントローラーを仮想化してホストに移動する
コアサービスとロジックをソフトウェアによって提供する
システム内のすべてのノードにデータを分散(シャード)する
ストレージをコンピュートのローカルに移動する



それぞれのノードで、業界の標準的なハイパーバイザー(現在はESXi、AHV、Hyper-V)およびNutanixコントローラーVM(CVM)を稼動させることができます。 Nutanix CVMは、Nutanixソフトウェアを稼動させ、ハイパーバイザーおよびその上で稼動する全てのVMに対するI/O処理の全てを受け持ちます。



Nutanix CVMは以下のようなサービスを処理

ストレージI/Oと変換(重複排除、圧縮、EC)
UI / API
アップグレード
DR / レプリケーション
その他





一部のサービスや機能は、
追加のヘルパーVMを利用
マイクロサービスプラットフォーム(MSP)を使用

例、Nutanix Filesは追加のVMをデプロイしますが、Nutanix ObjectsはMSPのためのVMをデプロイし、それらを活用します。

VMware vSphereが動作するNutanixユニットの場合、SSDやHDDデバイスを管理するSCSIコントローラーが、VM-Direct Path(Intel VT-d)を利用して直接CVMに接続されます。 Hyper-Vの場合は、ストレージデバイスがCVMにパススルー接続されます。



VMware vSphereの場合、SSDやHDDデバイスを管理するSCSIコントローラーが、VM-Direct Path(Intel VT-d)を利用して直接CVMに接続
Hyper-Vの場合は、ストレージデバイスがCVMにパススルー接続



コントローラーの仮想化
Nutanixコントローラーをユーザー空間でのVMとして実行する主な理由は以下

移動性
回復性
保守とアップグレード
パフォーマンス(はい、本当ですよ)


ユーザー空間のVMとして実行することで、実行環境に依存せず同じソースコードで異なる環境に対応できた


アップグレードやCVMの「障害」といったものをエレガントに処理できる。
CVMダウン時もノード全体が、クラスタ内の他のCVMからのストレージI/Oとサービスで引き続き稼働

AOSアップグレード中でも、そのホストで実行されているワークロードに影響を与えずCVMを再起動できる

しかし、カーネル内にあるほうがより高速ではないでしょうか? 簡潔に答えると、NOです。

理由は「ユーザー空間とカーネル空間」のセクションを参照





分散システム
分散システムとして不可欠な要素は以下

単一障害点 (SPOF) を持たないこと
規模に関わりなくボトルネックが発生しないこと(リニアな拡張が可能であること)
並列処理を利用していること (MapReduce)


全てのノードやディスクデバイスメタデータやデータを分散することで、通常のデータ投入や再保護を行う際、最大のパフォーマンスが発揮される

これにより、クラスタの能力を最大限に引き出しながら、Nutanixが使用するMapReduceフレームワーク(Curator)が並列処理を行える。
例)データの再保護、圧縮、消失訂正号、重複排除

重要な点: クラスタのノード数が増加(クラスタが拡大)すると、各ノードが負担すべき処理の割合が低下し、処理全体としての効率も向上する


ソフトウェア デファインド
ソフトウェア デファインド システムには、4つの不可欠な要素があります:

プラットフォーム(ハードウェア、ハードウェア)間のモビリティ(可搬性)を提供できること
カスタムなハードウェアに依存しないこと
迅速な開発(機能開発、バグ修正、セキュリティパッチ)を可能にすること
ムーアの法則の恩恵を活かせること

コントローラーVMには、Nutanixソフトウェアとロジックの大半が組み込まれており、当初から拡張性を持つプラガブルなアーキテクチャーとして設計されたものです。ソフトウェア デファインドとしてハードウェアの構成に依存しないメリットは、その拡張性にあります。製品を既に使用中の場合でも、拡張機能や新機能をいつでも取り入れることができる

製品が出荷された当初、サポートはハイパーバイザーからのI/Oに対するiSCSIに限定されていましたが、現在では、NFSとSMBもその対象になっています。 将来的には、新しいアダプターを様々なワークロードやハイパーバイザー(HDFSなど)に向けて作成できるようになるでしょう。 繰り返しますが、これらの対応は全てソフトウェアのアップデートで完了します。



クラスタ コンポーネント
常にユーザーを主眼に置くNutanix製品は、その導入や使用が極めて容易。 これは基本的に、抽象化や様々な自動化、さらにソフトウェアの連携機能によって実現されています。


Cassandra
主な役割: 分散メタデータ ストア
説明: Cassandraは、Apache Cassandraを大幅に改修した分散リング上に全てのクラスタ メタデータをストアして管理。
一貫性を厳格に保つため、Paxosアルゴリズムが使用されています。 そして本サービスは、クラスタ内の全てのノードで稼動。

Zookeeper
主な役割: クラスタ構成マネージャー
説明: Apache ZookeeperをベースにしたZookeeperは、ホスト、IP、状態など全てのクラスタ構成をストアします。 本サービスは、クラスタ内の3つのホストで稼働

Stargate
主な役割: データI/Oマネージャー
説明: Stargateは、全てのデータ管理とI/O処理に対応し、ハイパーバイザーからの主なインターフェイスNFSiSCSIまたはSMB経由)となります。 該当サービスはクラスタ内の全てのノードで稼動し、ローカルI/Oを処理します。


Curator
主な役割: MapReduceクラスタの管理とクリーンアップ
説明: Curatorは、クラスタ全体のディスクのバランシング、事前スクラブといった多くのタスクの管理と分散を行います。





Prism
主な役割: UIおよびAPI
説明: Prismは、コンポーネントや管理者が、Nutanixクラスタを構成およびモニターするための管理ゲートウェイとしての役割を果たします。 これにはHTML5 UI, Ncli, REST APIが含まれます。 Prismは、全てのノードで稼動

スクラブとは、ディスクをスキャンし不良ブロックを検知し習性する機能
https://blogs.networld.co.jp/entry/nutanix-10-disk-0ac4

nutanixは全てのIO時にチェックサムを行う。
コールドデータ障害の検知漏れしないよう、一日に一回、スクラブを実行する。
※vsanは年に一回


Genesis
主な役割: クラスタコンポーネントおよびサービス マネージャー
説明: Genesisは全てのノードで稼動するプロセスで、サービスの初期設定と制御(開始、停止など)を行います。 Genesisは、クラスタから独立して稼動するプロセスで、クラスタの構成や稼動を必要としません。 Zookeeperが稼動していることがGenesisの動作要件


Chronos
主な役割: ジョブとタスクのスケジューラー
説明: Chronosは、Curatorスキャンされたジョブやタスクをノード間で実行するためのスケジューリングや調整を行います。 Chronosは、全てのノードで稼動し、選出されたChronosリーダーによってコントロールされます。 Chronosリーダーはタスクやジョブを委任し、Curatorリーダーと同じノード上で稼働します。

Cerebro
主な役割: レプリケーション/DRマネージャー
説明: Cerebroは、DSFのレプリケーションとDR機能を担っています。 これには、スナップショットのスケジューリング、リモートサイトへのレプリケーション、サイトの移行、そしてフェイルオーバー機能が含まれています。 CerebroはNutanixクラスタ内の全てのノードとリモート クラスタ/サイトへのレプリケーションに加わる全てのノードで稼動します。

Pithos
主な役割: vDisk構成マネージャー
説明: Pithosは、vDisk(DSFファイル)の構成データを担っています。Pithosは全てのノードで稼動し、Cassandraの上に構築されます。




無停止アップグレード

厳密な事前チェック
2つのパーティション(現用とアップグレード後)を使い、再起動よりアップグレードされる
アップグレードトークンを受信したら、アップグレード実行される。一台づつ。
事前チェックによりアップグレード中のエラーは稀だが、バージョン混在がサポートされる設計のため業務影響なしで運用継続可能。



Foundation (イメージング)
Foundationイメージングのアーキテクチャ
Foundation(ファンデーション)は、Nutanixクラスタのブートストラップ、イメージング及び導入のためにNutanixが提供しているツール

Nutanixノードには、デフォルトでAHVがプリインストールされており、異なるハイパーバイザーをインストールするためには、Foundationを使用して、該当ノード上に必要とされるハイパーバイザーを再イメージングする必要がある

Foundationディスカバリ アプレットは、ノードをディスカバリしてユーザーが接続するノードを選択できるようにします。 ユーザーが接続ノードを選択すると、アプレットlocalhost:9442のIPv4アクセスを、CVMのIPv6リンクローカルアドレスのポート8000にプロキシします。


ターゲットとなるNutanixノードとは異なる(L2)ネットワークを使用している(WAN経由など)場合はディスカバリアプレットが使用できません。 しかしCVMにIPv4アドレスが割り当てられていれば、ディスカバリアプレットを使わずに直接Foundationサービスに接続することができる

直接接続するには
:8000/gui/index.html
をブラウズします




インプット
Foundationには、以下の入力設定があります。 典型的な導入例では、1ノードあたり3つのIP(ハイパーバイザー、CVM、リモート管理(IPMI、iDRACなど))が必要。
さらに、各ノードに対し、クラスタとデータサービスIPアドレスを設定することを推奨

クラスタ
クラスタ
IP*
NTP*
DNS*

CVM
CVM毎のIP
Netmask
Gateway
メモリ

ハイパーバイザー
ハイパーバイザーホスト毎のIP
Netmask
Gateway
DNS*
ホスト名のプリフィックス

IPMI*
ノード毎のIP
Netmask
Gateway
注意: (*) が付いた項目はオプションですが、設定することを強く推奨


ドライブの分割

パフォーマンス デバイス
ノードで最もパフォーマンスの高いデバイス
以下が格納される。
Nutanix Home(CVMコア)
 各ノード2つのデバイスに、60GIB予約
メタデータ(Cassandra / AESストレージ)
 各ノード15GIB
OpLog(永続的書き込みバッファ)
 1ノード最大12
 MIN(((Max cluster RF/2)*400 GiB)/ numDevForOplog), ((Max cluster RF/2)*25%) x Remaining GiB)
エクステントストア(永続的ストレージ)
 残り容量



Prismのアーキテクチャ


Prismは分散リソース管理プラットフォーム
ユーザーがNutanix環境全体のオブジェクトやサービスを管理およびモニターすることができる

機能は以下2つの主要なカテゴリに分かれる

インターフェイス
HTML5 UI、REST APICLIPowerShell コマンドレットなど
管理
ポリシー定義とコンプライアンス、サービス設計とステータス、分析とモニタリング


2つの主要コンポーネントに分けられる

Prism Central (PC)
複数のNutanix Clusterを、1つの集中管理インターフェイスから管理するための★マルチクラスタマネージャー★。 Prism Centralは、AOS Clusterに追加導入し稼動することが可能な、オプションのソフトウェアアプライアンス (VM) です。
1対多のクラスタマネージャー

Prism Element (PE)
単一のクラスタの管理と運用のためのローカルクラスタマネージャー。全てのNutanix Clusterに、Prism Elementが組み込まれています。
1対1のクラスタマネージャー

※大規模な環境、あるいは分散環境(例えば1クラスタ以上あるいは複数のサイト)に導入する場合、運用のシンプル化を図るため、Prism Centralを使用し、 全てクラスタやサイトへの対応を1つの管理UIから実施できるようにすることを推奨

Prismのサービス
Prismのサービスは、HTTPリクエストに対応する特定のPrismリーダーと連携しながら、全てのCVM上で動作する。
他のコンポーネントと同様にPrismリーダーに障害が発生した場合、新しいリーダーが選定される。
PrismリーダーではないCVMがHTTPリクエストを受け取ると、当該リクエストはPrismリーダーに、HTTPレスポンスステータスコード301を使用して、恒久的にリダイレクトされる

Prismは、ポート80と9440を使用。HTTPトラフィックがポート80に到達した場合、ポート9440のHTTPS側にリダイレクトされる

クラスタの外部IPを使用する場合(推奨)、同IPは常に現在のPrismリーダーによってホストされる。★VIP★


認証とアクセス制御(RBAC)
認証
以下の認証プロバイダーとのインテグレーションをサポート

Prism Element (PE)
ローカル
Active Directory
LDAP

Prism Central (PC)
ローカル
Active Directory
LDAP
SAML認証 (IDP) ★IDP連携することで多要素認証に対応可能

アクセス制御
近日公開

ナビゲーション

主要なページとその基本的な使用法を説明

Prism Central
ここには書かない。バイブル参照
マルチクラスタ管理なので、メニューからの情報アクセスが大変。検索機能でアクセス可能。

Prism Element
以下の主要なページがあり

ホーム (Home) ページ
アラート、キャパシティ、パフォーマンス、ヘルス、タスクなどに関する詳細情報を含む、ローカルクラスタをモニターするためのダッシュボード。詳細な情報を取得する際には、対象となる項目をクリック。

Health ページ
環境、ハードウェアおよび管理下にあるオブジェクトのヘルスと状態に関する情報。NCCヘルスチェックステータスも含む。

VMページ
完全なVM管理、モニタリングおよびCRUD (AOS)

Storageページ
コンテナの管理、モニタリングおよびCRUD

Hardware ページ
サーバー、ディスクおよびネットワークの管理、モニタリングおよびヘルスチェック。クラスタの拡張とノードおよびディスクの削除

Data Protection ページ
DR、Cloud ConnectおよびMetro Availabilityの構成。PDオブジェクト、スナップショット、レプリケーションおよびリストアの管理

Analysis ページ
クラスタおよび管理下のオブジェクトに対するイベントの相関関係を含む詳細なパフォーマンス分析

Alerts ページ
ローカルクラスタおよび環境に関するアラート

キーボードのショートカット
アクセスの良さと使いやすさがPrismの重要な構成概念。
★キーボードから全てを操作できるようにショートカットが用意されている。★

例)
O – オーバービュー (Overview)
D – ダイアグラムビュー (Diagram View)
T – テーブルビュー (Table View)
A – アラート
P – タスク
M – メニューのドロップダウン
S – 設定(歯車アイコン)
F – 検索バー
U – ユーザードロップダウン
H – ヘルプ


使用方法とトラブルシューティング
典型的なPrismの使用方法と、一般的なトラブルシューティング方法について説明

Nutanixソフトウェアのアップグレード
AOSとAHVとCVMの関係

AOSはクラウドOS。ハイパーバイザーを制御しオーケストレーションやテナント機能等を提供する。AOSはcvm上に実装される。
AHVはハイパーバイザーのOS

https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.nutanix.com/content/dam/nutanix/ja/documents/support/doc-aos-upgrade.pdf&ved=2ahUKEwiC84nj9pP_AhWdglYBHdNlB1QQFnoECEsQAQ&usg=AOvVaw3-mRTuTYnkVBuQoms-s76o
〜〜〜
AOS アップグレードは各 CVM に対して 1 台ずつ順番にアップグレード(ローリングアップグレード)を実施します。このため、アップグレード中も仮想マシンの I/O は継続可能であり、動作には特に影響はありません。ホスト(ノード)間の仮想マシンのライブマイグレーションも発生しません。
〜〜〜

AOS、AHVどちらもGUI操作で簡単にアップデート可能、




異常検出(Anomaly Detection)
システムは時系列データ(例えば、CPU使用率、メモリ使用率、レイテンシーなど)の季節的傾向を監視し、期待値の「バンド」を確立します。 「バンド」の外にあたる値のみがイベントやアラートをトリガーします。
エンティティまたはイベントのページから異常によるイベントやアラートを確認


キャパシティプラニング

Prismから
クラスタおいて最も切迫したリソース(制約的なリソース)に関する情報を表示
また、リソースを大きく消費している対象に関する詳細情報
キャパシティをクリーンアップできる可能性
クラスタ拡張のための適切なノードタイプに関する情報

クロスプレイ(X-Play)
一般的なアクティビティのセットを自動化

イベント駆動型の自動化は、以下のように動作する
イベント → ロジック → アクション
イベントを受け取り、いくつかのロジックを適用し、その後いくつかのアクションを実行
例)ディスク不足検知し、自動的に増設する等