198 Topics

Nutanixのメリットその6: ハイパーバイザーの選択肢

本記事はNutanixのTechnical Marketing EngineerのBrian Suhrが2022年9月15日に投稿した記事の翻訳版です。原文はこちら。  Nutanixはお客様に選択の自由を提供することでその評価を獲得してきました。これについては多くの例がありますが、今回の記事では、Nutanixクラウドプラットフォームのアーキテクチャがコンピュートハイパーバイザーとは独立して稼働する分散型AOSストレージスタックによってどのようにお客様にハイパーバイザーの選択肢というオプションを提供するのか、掘り下げたいと思います。ご存知のとおり、ワークロードの稼働にどのハイパーバイザーを使うのか、選ぶのは朝起きで、どのシャツを着るのか選ぶのとはまるで違います。どんなときにも着ていけるシャツ(そしてハイパーバイザーも)はありません。ワークロードとアプリケーションはそれぞれに固有の要件を抱えており、それらのワークロードを混在させることもあるため、要件に競合や重複も出てきます。VMware ESXi、Hyper-V、Nutanix自身のAHVをNutanix HCIで柔軟に稼働させる事ができることは、こうした環境において大変重要です。分散ストレージスタックと仮想化コンピュートレイヤーが異なるイノベーションによって推進されているということもまた事実です。例えば、多くのvSphere 6.7を利用しているお客様にとって、コンピュート仮想化レイヤーは十分に成熟したもので、新しい、よりコストの高いバージョンへのアップグレードは強い動機を感じるものではありません。こうしたお客様においては、ハイパーバイザーのアップグレードを行わずにアップグレードができるNutanixのストレージスタックのアップグレードの機能は選択肢と統制のもう一つの事例になります。今回の記事では、単独のハイパーバイザーを動作させることと、複数のハイパーバイザーを動作させることについて掘り下げ、ハイパーバイザーの選択肢と共に、どのような以降の選択肢があるのかと、それらの価値を示す例をいくつか取り上げたいと思います。 マルチハイパーバイザーのサポートNutanixのコントロールプレーンは利用しているハイパーバイザーに関わらず、一貫性を保っています。これはつまり、クラスタ、レプリケーション、運用、更にその他のNuta

Nutanixのメリット その5: エンタープライズグレードのレプリケーションとディザスタリカバリ

本記事はNutanixのTechnical Marketing EngineerのMike Umpherysが2022年9月8日に投稿した記事の翻訳版です。原文はこちら。  一つ前の記事では、Nutanixがネイティブに提供するきめ細やかで効率性の高いスナップショットのテクノロジーと、Nutanixのスナップショットの実装の違い、それがなぜ差別化要素になるのか、ということについて取り上げました。今回の記事では、Nutanixプラットフォームにビルトインされたネイティブのエンタープライズグレードのレプリケーションとディザスタリカバリ(DR/災害復旧)オーケストレーションのメリットについて取り上げたいと思います。 レプリケーションはじめから、Nutanixはプラットフォーム内にきめ細やかなレベルでのレプリケーションを含めていました。我々はこれをエクステントベースのレプリケーション(EBR – Extent-based Replication)と呼んでおり、ストレージのエクステントの範囲で動作しています。エクステントの1つは1 MBの論理的な連続したデータのブロックです。しかし、64 KBの変更データのみを転送したいという場合にはどうなるでしょうか? AOS 6.5 Long Term Support(LTS)以前ではプラットフォームは変更データを含む1 MBのエクステント全体をリモートへとレプリケーションし、リモートシステムは必要ではない部分を切り捨てていました。例えば、100の異なるエクステントでそれぞれ 16 KBの変更データが有った場合、ターゲットクラスタに対して 100 MBのデータを転送する必要がありました。AOS 6.5 LTSには、完全に新しいレンジベースレプリケーション(RBR – Range Based Replication) が含まれており、Nutanixプラットフォームはこれ以降、新規、もしくは更新されたデータの範囲のみをレプリケーションすることが可能になりました。上の例でRBRを利用したとすると、100MBではなく、スナップショットは1.6MBになります。我々の検証によると最大9のスナップショットを利用して、4つの異なるデータの変更率を利用した場合、レプリケーションされるデータを最大で63%削減できるという結果になりました。さらに、すでにターゲ

Nutanixのメリット その4: きめ細やかで効率性の高いスナップショット

本記事はNutanixのTechnical Marketing EngineerのMike Umpherysが2022年9月1日に投稿した記事の翻訳版です。原文はこちら。 これまでの記事でNutanixの分散アーキテクチャがどのようにビジネスクリティカルアプリケーションとデータベースに最適なのかをご紹介してきました。このアーキテクチャはその上に構成される他のすべての機能の基盤となっています。この記事では、クローンの作成時間をスピードアップし、あっという間の復元を実現するきめ細やかで効率的なNutanixのスナップショットに焦点を当てることにします。まず最初に何がスナップショットで何がスナップショットでないのかを定義しておきましょう。スナップショットは任意の時間のシステムの状態を参照する事ができるものです。しかしながら、システム内でバックアップを取る際にスナップショットを使うことはできますが、スナップショット自体はバックアップではありません。きめ細やかで効率的なスナップショットはNutanixのデータ保護機構の基盤です。 Nutanixは大規模なLUNやコンテナのレベルではなく、仮想マシンの目線でのスナップショットを単一のvdiskの単位で提供しています。Nutanixのスナップショットの先進性を理解するためには、まずは現在利用されている様々なタイプのスナップショットを理解する必要があります。現在エンタープライズのIT分野で広く利用されているスナップショットにはcopy-on-write(CoW)とredirect-on-write(RoW)の2つのタイプがあります。しかしながら、これらの2つのスナップショットの実装は同じではありません。それぞれの実装にはメリットとデメリットが存在します。Nutanixはいくつかの重要な理由からRoWのスナップショットを選択しました。1つ目は、多くの数のReadとWriteをリダイレクトについてです。RoWでは保護されているブロックへの更新を新たな場所へとリダイレクトし、その後メタデータ内のポインターをその場所を参照するように更新します。これは結果として1回のWrite操作です。RoWのスナップショットからの復元を行う際にはシステムはどこにデータが保存されているのかを探し出し、それを直接読み出すだけです。CoWは保護されたブロックを更

Nutanixのメリット その3: パフォーマンスとキャパシティのためのシームレスなクラスタ管理

本記事はNutanixのSenior Technical Marketing EngineerのBhavik Desaiが2022年8月18日に投稿した記事の翻訳版です。原文はこちら。  このシリーズのこれまでの2つの記事では、Nutanix AOSが自動化されたアプリケーションを意識したデータ管理を実現する、動的な分散されたストレージをどのように提供しているのか、ということについて掘り下げてきました。今回の記事では、これらの2つの機能が、管理者がクラスタに更に物理ノードを追加して拡張をしなければならない場合に、どのように強力なメリットをもたらすのかについて見ていきましょう。 パフォーマンスとキャパシティのためのクラスタ管理展開が終われば、インフラストラクチャーとアプリケーションの日々の運用が重要になります。Nutanix AOSは管理者の行うライフサイクル管理を簡単かつシームレスなものにします。すべての管理者が行わなければならない重要なタスクの一つにストレージもしくはパフォーマンスのためのインフラストラクチャーの拡張があります。管理者は通常、最初は均一なクラスタを展開することから始めることになりますが、アプリケーションが成長するにつれて、よく発生するユースケースがクラスタへのさらなるキャパシティの追加です。管理者は多くのストレージキャパシティを持つノードや、アプリケーション仮想マシンを動作させないストレージオンリーノードを含む様々なタイプのノードを追加するという選択肢があります。AOSはこの部分をその動的なクラウドアーキテクチャーで劇的にシンプルにすることができます。一度ノードが追加されると、アプリケーションは他のHCIシステムのように何らかの介入を必要とすることなく、即座にその追加されたリソースを活用することができます。これはAOSが書き込みを行うデータが最適なサイズであることと、動的に自律化されたWriteを行うことで可能となっています。AOSは自動的に新たなリソースを利用し始め、マニュアルでの介入を行うことなく、書き込みのコピーデータは新しいノードへと送信されます。それに加えて、AOS内のCuratorフレームワークがディスクのリバランスをバックグラウンドオペレーションとして開始させ、自動的にクラスタのバランスを調整します。以下の例で大容量のノードをクラスタ

Nutanixのメリット その2: 自動化されたアプリケーションを意識したデータ管理

本記事はNutanixのSenior Technical Marketing EngineerのBhavik Desaiが2022年8月10日に投稿した記事の翻訳版です。原文はこちら。  このブログシリーズはAOSのユニークな分散型ストレージアーキテクチャについて説明し、Nutanixのエンジニアがレジリエンシーと低遅延のパフォーマンスのために、スケールアウトクラスタ全体に動的に分散されるデータに対してどのように難しいアプローチを取ったのかということを取り上げていきます。さて、今回は2つ目の記事です。AOSが仮想マシンのvDiskデータをどのようにして、extent groupと呼ばれる4MBのちょうどよいサイズのチャンクに分割しているのかについて、掘り下げていきたいと思います。 このアプローチは保存の効率が悪く、保護を行うためにネットワーク帯域を多く消費し、リビルドに時間のかかる静的な巨大なブロックを用いるアプローチに比べ遥かに洗練されたアプローチです。AOS内のextentは分散されたメタデータストアによって実現されています。分散メタデータストアはクラウドアーキテクトにとっては最適な状態においても障害発生時においても一貫性を保ち、効率的に分散されたデータを取り扱う方法として知られています。特に障害発生時の動きはストレージアーキテクトにとって興味を引く内容でしょう。 分散された拡張性のあるメタデータ先の記事でご紹介したとおり、AOSのインテリジェンスはコントローラー仮想マシン(CVM)に格納されたサービスとしてクラスタ全体に分割され広がっています。AOS内のメタデータはグローバルとローカルのメタデータストアに分類できます。グローバルメタデータストアは論理的な、どのノードがデータを保持しているかと言うようなメタデータで、一方ローカルメタデータは物理的に実際にどのディスクのどの領域にデータが保存されているかというようなメタデータです。これによって柔軟かつ最適にメタデータを更新することができます。 図1: グローバルとローカルのメタデータ グローバルメタデータストアはかなり大規模に手を入れたApache Cassandraをベースとした分散ストアで、Paxosアルゴリズムを使って厳格に一貫性を担保しています。メタデータはリング状に分散して保存され、冗長性が提供されます。

Nutanixのメリット その 1: 動的に分散されたストレージ

本記事はNutanixのSenior Technical Marketing EngineerのBhavik Desaiが2022年8月3日に投稿した記事の翻訳版です。原文はこちら。  我々はNutanix Cloud Platform(NCP)がAOS 6.5 LTSにて、ビジネスクリティカルアプリケーションとデータベースの要件を満たせるようになっているということを示すインフォクラッフィックスをリリースしました。このブログシリーズでは、それぞれの主張の技術的な背景を述べていき、皆様の重要なアプリケーションにとってNutanixのアーキテクチャがどのようなメリットをもたらすのかを解説していきます。この最初の記事では、動的に分散されたストレージと、それが高性能なアプリケーション、レジリエンシー、そして拡張性にどのような意味を持つのかにフォーカスを当てます。 動的に分散されたストレージNutanixにおいて最も重要で、そして解決すべきアーキテクチャ上の決断はNutanixのストレージオペレーティングシステムであるAOSのデータパスをリアルタイムに完全に分散させるというものです。広く利用されているRAIDを用いた、ディスクのサブシスシステムをスケールアップさせるという場合には典型的な静的にデータを配置するというアプローチは比較的簡単なやり方ですが、一方で完全な分散モデルではスケールアウトモデルとしては当たり前のネットワーク、コンポーネント、そしてノード障害状況を考慮する必要があります。完全な分散モデルだけが、本当に必要なパフォーマンスを提供することが出来ます、つまり、一貫性した低遅延のパフォーマンスと、 障害児の高速な並行リビルドです。このアーキテクチャー上のデザインはGoogleやAmazonのようなソフトウェア・ディファインドのスケールアウトハイパースケーラーが切り開いた分散システムを作り上げたNutanixを創業したエンジニアが念頭に置いていたものです。AOSはそれぞれのノード上で分散されたサービスを動作させるコントローラー仮想マシン(CVM)のコンセプトを導入しています。AOSのリアルタイムインテリジェンスはスケールアウトクラスタ全体に分離し、広がっており、このためこれらのサービスを構成する要素には何一つ単一障害点はなく、どのノードのどのサービスも必要になればその

Red Hat OpenShift IPI on Nutanix クラウドプラットフォーム

  本記事はNutanix Technical Marketing Engineer のNimal Kunnath氏が2022年8月16日に投稿した記事の翻訳版です。原文はこちら。  NutanixとRed Hatは継続してお客様がハイブリッドマルチクラウド環境を進んでゆくためにお望みの認証取得済の、一元化されたソリューションを提供し続けています。プラットフォームに特化したRed Hat OpenShiftクラスタをNutanix上にインストールすることも可能ではあるものの、このやり方では管理者が必要な仮想マシン、オペレーティングシステムイメージ、ロードバランサー、DNSエントリーなどをすべて展開しなければなりません。Nutanix NCM Self-ServiceとRed Hat Ansible Automation Platformを活用してこれらのワークフローをエンドツーエンドで自動化することもできますが、お客様は2つのプラットフォームをネイティブに統合したソリューションを必要とされています。 Red Hat OpenShift 4.11のリリースに伴い、Installer Provisioned Infrastructure もしくはIPIとして知られるフルスタックの自動化されたインストールプロセスがNutanixクラウドプラットフォーム向けにも利用できるようになったことをアナウンスできることを喜ばしく思います。 IPI手法ではOpenShiftインストーラーはNutanix Prism APIと統合され、AHV仮想マシンの作成、ブートイメージのインストール、そしてクラスタ全体のブートストラップを行います。インストールの中に統合されているため、外部のロードバランサーを作成し、構成する必要はありません。それだけではなく、刻々と変わり続けるワークロードに対応するためのクラスタのスケールアップ・ダウンもユーザーの介入なく行われます。これはNutanixのアップストリームクラスタAPIプロジェクトとカスタムOpenShiftリソースをベースとして完全なMachine APIのサポートによって実現されています。 それではIPIインストール展開ワークフローの詳細にステップごとに分け入ってみましょう。 前提条件Red Hat OpenShift Container Pla

Nutanix Files 4.0新機能。Smart DRの強化

Nutanix Files™リリース3.8で導入されたSmart DRは、障害復旧のためにアクティブなファイルサーバーインスタンス間で共有レベルのレプリケーションを実現しました。Smart DRについてまだよく知らない方は、この機能の概要とその利点をこちらでご覧ください。Nutanixは、最初のリリース後すぐに、Files 3.8.1リリースで1分間のレプリケーション間隔をサポートするようになりました。今回のFilesリリース4.0では、スケーラビリティの向上とセルフサービスリストア(SSR)の統合により、Smart DRをさらに強化しました。 拡張性Smart DRでは、物理ノードのストレージ密度に関係なく、ファイルサーバー共有のレプリケーションが可能ですが、Smart DRでは、レプリケーションのサポートが最大25の共有までという制限がありました。Files 4.0では、この制限を拡大し、ファイルサーバー間で最大100の共有までレプリケーションできるようになりました。最大25共有に対して1分間のレプリケーション間隔まで対応し、残りの共有は、10分間隔までサポートします。 SSRの相互運用性Nutanix Filesは以前からSSRスナップショットをサポートしており、エンドユーザはファイルの以前のバージョンにアクセスできます。Files 4.0では、Smart DRがソース共有とそのターゲット間でスナップショットのレプリケーションを対応しています。    ターゲット共有は、ソースと比べて同じまたは異なる保持スケジュールを持つことができます。たとえば、ソース側でファイルサーバーが直近の2時間ごとのスナップショットを保持するように構成されている場合、ターゲット側のファイルサーバーは直近の10時間ごとのスナップショットを保持するように構成して、より長い保存期間を提供可能です。または、保持スケジュールを一致させることで、フェイルオーバー発生時に備えて両方のサイトに同じSSRコピーも利用できます。 エンドユーザー、ITサポートエンジニア、ファイルサーバー管理者は、Smart DR関係のソースまたは読み取り専用ターゲットからSSRコピーを使用してデータを復旧できます。 現在、Nutanix FilesとSmart DRを使っている場合、環境をアップグレードするだけで、これらの

データベースワークロードのためのNutanixのパフォーマンス

 本記事は2021年11月24日にGary Little氏が投稿した記事の翻訳版です。原文はこちら。  皆さん、ようやくここまで来ました。  全面公開です。私は2013年からNutanixのパフォーマンスエンジニアリンググループで働いています。私の意見は偏っているかも知れませんが、それによってNutanixのストレージの性能についてはそれなりの経験と実績を持っています。すでにNutanix上でデータベースワークロードを稼働させている多くのお客様がおられます。しかし、これらのハイパフォーマンスなデータベースを依然として従来型のストレージ上で稼働させるとどうなるでしょうか? 2017年の.Nextでプレゼンテーションを行った際の資料を掘り出してきて、それに最近のプラットフォーム(AOS 6.0とNVME+SSDのプラットフォーム)のパフォーマンスを追加しました。このランダムReadのマイクロベンチマークのパフォーマンスは2倍以上にもなっています。HCIシステムを数年前にご覧になって、その際に必要なパフォーマンスが出ないと結論づけた方 ― もしかすると、今日出荷されているハードウェアとソフトウェアのシステムでは皆様の要件を達成できるかも知れません。更に詳細は下に。  私のラボの中にあるまだ出荷されていないビルド(※訳注:本日時点で6.1としてすでに出荷開始されています)のAOSが動作しているもう一つのクラスタを見てみましょう。このクラスタも2枚のoptaneドライブとRDMAに対応したNICを搭載しています。この4ノードのシステムでのマイクロベンチマークの結果は?   ワークロード 結果 ノート 8KB ランダムRead IOPS 1,160,551 IOPS 部分的にキャッシュされている 8KB ランダム Write IOPS 618,775 IOPS RF2でフラッシュメディアに完全にレプリケーションされている 1MB シーケンシャル Write スループット 10.64 GByte/s ネットワークスピードの上限に到達、RF2でフラッシュメディアに完全にレプリケーションされている

X-Ray応用編:VMを再利用してベンチマークにかかる時間を短縮

本記事は2020年10月05日にGary Little氏が投稿した記事の翻訳版です。原文はこちら。  今回紹介するのは、ベンチマークVMの再利用、さらに重要なデータセットの再利用により、X-Rayベンチマークの実装サイクルを高速化する方法です。  課題:大規模なデータセットを利用する場合、ディスク上でのデータ作成に時間がかかることがあるノードあたり2TBを書き込み、ノード間のバンド幅が10GbEであるクラスタを考えてみましょう。十分なストレージ帯域性能があると仮定すると、スループットはワイヤーバインドとなり、プリフィル(事前のデータ埋め)ステージは2,000秒(1GB/sec換算)、つまり30分以上かかることになります。モデル化されたワークロードが開始されるまでに30分も待つのは、なかなかのストレスです。ワークセットサイズが比較的小さいシナリオであったとしても、X-Rayのベンチマーク用VMのプロビジョニングとX-Rayワークロードの実行を分割することで効率化が図れます。また、VMを再利用すれば、クローン、ブート、IPの確立などのコストを避けることができます。これは、シナリオを繰り返し実装する際に非常に有効です。 解決策:複数のテスト/シナリオ間でVMを再利用典型的なアプローチは、シナリオを2つのパートに分けることです。パート1:X-Rayシナリオで、VMのクローンを作成、ブートして、ディスク、データ投入を行う「デプロイシナリオ」 この「デプロイシナリオ」(=ベンチマーク用VMの準備)は一度だけ実行します。 パート 2:X-Rayメインワークロードを含む「X-Ray実測シナリオ」。パート1で配置されたVMを再利用します。 この2つの別々パートでデプロイ、実行されるVMを関連付けるために、Curie VM ID※の概念を使用します。 ※X-Ray(X線)にちなんで、キュリー夫妻に掛けて、X-RayでデプロイされるVM名のプリフィクスにcurieが利用されていることに由来している模様 重要な注意事項「デプロイシナリオ」から"teardown"(ベンチマーク後処理)ステップを削除する 「X-Ray実測シナリオ」から" CleanUp"ステップを削除する "teardown"や" CleanUp"のステップを含む「標準の」シナリオは、たとえ「id」を使用していてもVMをク

X-Rayを使用したAWS上のNutanixのパフォーマンステスト方法

本記事は2020年8月18日にGary Little氏が投稿した記事の翻訳版です。原文はこちら。執筆時点の情報となりますので現時点とUI、手順が異なる箇所があります。  AWS上でのNutanixクラスタの作成とX-Rayの実行(Youtube動画)   以下のリンクから、上記ビデオの各セクションにジャンプできます:Nutanix Cluster on AWSの作成と起動 Nutanix Cluster on AWSにPrismからの接続 X-rayディスクイメージのダウンロードと作成 AWSでサブネットとルーティングの作成(X-Ray VM、Worker VM用) Prismを使用してAWSで作成したサブネットをAHVへ接続する PrismからX-Ray VMを作成する AWSでロードバランサを作成し、X-Ray VMに外部からアクセスできるようにする X-Ray VMへのアクセスを許可するセキュリティグループの設定 Prism Virtual IPアドレスの設定 X-Ray VMへの接続 X-Ray VMからテストターゲットの設定 Four Corners Microbenchmarkシナリオを使用したパフォーマンステストを実行する X-Rayの実行と結果:IOPS X-Rayの実行と結果:Throughput  Step By Stepmy.nutanix.comに移動し、Nutanix Clustersで[Launch]を選択します。 Create Clusterをクリックします Create Clusterダイアログで詳細を入力します。Create Clusterの2ページ目で、Prism Accessに "Public "を、Management Services Accessに "Restricted "を選択します。他にAWSに接続していない場合は、必ず管理サービスの現在のIPアドレスを追加してください。(今回のデモでは必要ありませんが、新しいsshキーを作成しダウンロードしました)  "Create Cluster "ボタンをクリックします。Initialize cluster initiated "というポップアップが表示されるはずです。AWSがベアメタルクラスターをプロビジョニングします。これは通常20-30分かかります。 Statusが "C

HCIプラットフォーム上のデータベースの拡張性と統合率を評価する方法

本記事は2020年3月27日にGary Little氏が投稿した記事の翻訳版です。原文はこちら。 データベースの統合率をどのように測定しますか?より多くのDBを統合することによってデータベース性能はどのように変化しますか? CVMの実行は利用可能なホストリソースにどのような影響を与えますか? クラスタの性能は理論的上の最大値の90%を達成できました。 CVMのオーバーヘッドはこのワークロードの5%でした。 テスト環境設定評価の目的は、クラスタにデータベースワークロードを徐々に追加していくことでDBのパフォーマンスがどのように影響を受けるかを確認することでした。2つ目の目的として、データベースサーバーと同じホストで仮想ストレージコントローラーを動かすことによる負荷を測定します。Postgresデータベースでpgbenchワークロードを用いて1秒当たりの合計トランザクションを測ります。 クラスタ構成4ノードのNutanixクラスタにて、各ホストはソケットあたり20コアで構成された2つのXeon CPUを備えています データベース構成各データベースは下記スペックやソフトウェアで構成しますPostgres 9.3 Ubuntu Linux 4 vCPU 8GBのメモリ pgbenchベンチマークは、”Simple”のクエリセットを実行しますデータベースのサイズはメモリ内に収まるように調整します。IOではなくCPU/メモリのテストです。 テスト手順1台のホスト上の1つのデータベースよりテストを行います。合せて40データベースになるまでクラスター上にデータベースを追加します。40のデータベースではそれぞれ4つのvCPUとCPUバウンドのワークロードで構成され、クラスター上で160個のCPUコアをすべて利用します。データベースはホストのDRAMメモリに収まるように構成しており、ベンチマークはCPUバウンドであり、可能な限り高速に実行されます。 結果下記より4ノードクラスタ上で1-40台のデータベースを実行した際の測定結果をご覧ください。40台のデータベースでCPUコアが飽和状態になるまで、パフォーマンスは4から160 CPUまでほぼ直線的に上昇し、明らかなボトルネックはありません。 4ノードクラスタでデータベースを1台から40台まで拡張する 完全なスケーリング 対 実際のスケーリ

X-Rayを用いて様々なHCI上でvdbenchによるベンチマークを実行する方法

本記事は2020年3月23日にGary Little氏が投稿した記事の翻訳版です。原文はこちら。 ストレージ性能テストを担当されるは多くの場合vdbenchを使い慣れており、ハイパーコンバージドインフラストラクチャ(HCI)の性能をテストする際にもvdbenchを使いたいと考えているでしょう。HCIの性能を正しくにテストするには、HCIを構成するすべてのノードにワークロードを展開する必要があります。しかし、複数のVMをデプロイし、vdbenchの動作を調整するのは大変です。そこでNutanix X-Rayは、vdbenchを簡単にスケールアウトして実行する仕組みを提供しています。今回は、その使用手順を紹介します。X-Rayにvdbenchを追加する手順Oracleのサイトからvdbenchをダウンロードする X-Rayのvdbenchテストシナリオを GitHub https://github.com/garyjlittle/xray.git から取得する (リポジトリを自分のPCにクローンし、X-Rayのサーバーにアップロードできます) Oracleからダウンロードしたzipファイルの名前を”vdbench.zip” に変更する X-Rayシナリオ内で、zipファイルの名前が正確にこのとおり(vdbench.zip)であることが前提となっています。X-Rayサーバーに移動し、vdbench.zipファイルとX-RayのvdbenchテストシナリオファイルをX-Rayサーバーにアップロードする vdbenchを実行するためのJVMをインストール可能な状態にするため、Nutanixクラスタ上に作成されたVMがインターネットにアクセスできることを確認する  それでは、X-Rayにデフォルトでビルトインされているテストと同じように、HCI アプライアンスに対してvdbench ワークロードを実行しましょう。結果は次のようになるはずです。  また、ビルトインされたGrafanaで表示することも可能です。 vdbench workload read IOPSvdbench workload write IOPS 基本的な動作が確認できたら、自由にvdbenchファイルを編集して、X-Rayに複数のLinux VMの展開、vdbenchワークロードをデプロイ、および実行をさせ

X-RayとpgbenchでCPUのパフォーマンスを測定する

本記事は2019年10月1日にGary Little氏が投稿した記事の翻訳版です。原文はこちら。 アプリケーションの統合度を測るためのX-Rayワークロード。Nutanix X-RayはIO/ストレージワークロードをモデル化することができるツールとして知られていますが、CPUを多用するワークロードについてはどうでしょうか?X-Rayは、X-Rayワーカー仮想マシン上でAnsibleスクリプトを走らせることができ、そうすることでほとんどすべてのアプリケーションを展開することが可能です。我々の目的はPostgresデータベースとそれにビルトインされたベンチマークツールであるPGBenchを利用することです。意図的に仮想マシンのメモリに収まり、IOをほとんど発生させないような非常に小さなデータベースを作成するスクリプトを作成しました。X-rayのワークロードファイルは こちら に保存してあります。 pgbench向けのX-Rayインターフェイス X-Rayで標準(のベンチマーク実行スクリプト)のYAMLを利用し、Postgresの仮想マシンをいくつ展開するのか、クライアント数はいくつなのか、pgbenchを走らせる際のスレッド数はいくつなのか、などのカスタムパラメーターを渡すことができます。 X-Rayがワークロードを実行すると、その結果がX-RayのUI上に表示されます。今回はIOPSやストレージのスループットではなく、メトリックはデータベースの毎秒のトランザクション数(TXN/S)になっています。 Pgbenchの毎秒のトランザクション数がX-rayのUIに表示される ワークロードを走らせる仮想マシン数を変更しながら、様々な試験を実行することで、毎秒のトランザクションの総計と仮想マシンあたりの値をプロットすることができました、この値はホストプラットフォームのCPUがサチってくると減少することが想定されます。  このようなCPU主体のワークロード特性を利用して、異なるハイパーバイザー間での特性、CPUタイプごとのスケジューリング特性やCPU使用率の特性を見ることができます。負荷が小さい場合には優れたパフォーマンスを示すパラメーターの組み合わせを見つけましたが、他の組み合わせでも負荷は高いものの、優れたパフォーマンスを示していました。 ホストのCPUのキャパシティを超える

Nutanixストレージ視点からのPostgresのベンチマーク

本記事は2019年6月28日にGary Little氏が投稿した記事の翻訳版です。 原文はこちら。  前回のパート1とパート2の Postgres と pgbench の検証に続き、今回は、Postgres と pgbench の検証です。Nutanix CVMからワークロードがどのように見えるか、簡単に見ていきましょう。 Postgresを実行しているLinux VMには2つの仮想ディスクがあります:1つはトランザクションログの書き込みを行っています。 もう1つはメインデータファイルの読み込みと書き込みを行います。データベースのサイズは小さいので(Linux RAMの50%のサイズ)、データはほとんどゲスト内部にキャッシュされており、ほとんどの読み出しはストレージにヒット(ストレージへのI/Oアクセス)しません。その結果、主にDB ファイルへの書き込みのみが表示されます。 さらに、データベースのデータファイルへの書き込みはバースト的にストレージへ到着し、これらの書き込みバーストはログファイルへの書き込みよりも激しい(〜10倍)ことがわかります。 図:Prometheus/Grafanaによる、LinuxゲストVMの視点から見たIOレートのチャート データベースのフラッシュ(ディスクへの強制書き出し)がバースト的に発生し、それなりの(書き込みの)並立性があるにもかかわらず、Nutanix CVMは平均1.5ms*の書き込み応答時間を実現しています。*1ms以下の書き込みが49%、2msから5ms以下の書き込みが41% Nutanix CVMポート2009のハンドラから、個々のvdisk統計にアクセスすることができます。この場合、(以下の各図の見出しにある)vDisk 45269番はデータファイル用のディスクで、vDisk 40043番はデータベーストランザクションログ用のディスクにあたります。 表:バースト時の長いキュー長にもかかわらずデータファイルへの書き込みを平均1.5ミリ秒で完了 Nutanixのvdisk categorizerは、データベースデータファイルへの書き込みパターンをランダム性の高い書き込みと正しく識別しています。 表:データベースのデータファイルへの書き込みはほとんどランダム その結果、書き込みはoplogに渡されます。 表:書き込みのバースト

Postgresでのベンチマーク パート2

本記事は2019年6月28日にGary Little氏が投稿した記事の翻訳版です。 原文はこちら。  今回の例では、pgbenchの実行は、データサイズの規模を表すスケールファクターを1000で実行しており、これは約15GBのデータベースサイズに相当します。(前回記事を参照)。ベンチマークを実行するLinux VMはRAMが32GBのため、データはメモリにキャッシュされます。そのため、ディスクへのReadがほとんど無いことが予想されます。  監視システムであるPrometheusでpgbenchを実施した結果のディスクIOパターンを見てみます(Linuxエクスポーター経由で性能情報を取得)。 IOパターンを確認すると、ログディスク(sda)への書き込みパターンは非常に一定で、データベースファイル(sdb)への書き込みパターンはバースト的であることが分かりました。 ※ログファイルとデータベースファイルは異なるディスク(sda/sdb)に配置しています。 pgbench - Linux buffer cacheサイズの50%のDBサイズでの結果 なお、今回のベンチマークではPostgreのcheckpoint_completion_target パラメータを 0.5 から 0.9 に調整しました。そうしないと、Postgreのチェックポイント時に SCSI スタックに負荷がかかり、ログ書き込みが遅くなるため、パラメータの調整を行いました。  pgbench(デフォルト設定) –チューニング前(デフォルト設定)、Logへの書き込みが急激に減少していることが分かります  

Postgresでのベンチマーク パート1

本記事は2019年6月28日にGary Little氏が投稿した記事の翻訳版です。原文はこちら。Image By Daniel Lundin この例では、Postgresとpgbenchワークロードジェネレータを用いて、仮想マシンに対して負荷をかけます。PostgresがインストールされたLinux仮想マシンを利用しますが、特にBitnami仮想アプライアンスを使います。VMが起動したらコンソールに接続します Postgres DBポートであるpostgresポート5432へアクセス許可するか sshを許可します $ sudo ufw allow 5432 postgresユーザーのパスワードを確認してください (cat ./bitnami_credentials) コンソールかSSHよりpsqlへログインします $ psql -U postgres オプションとしてパスワードを変更できます (プロンプト表示はpostgresデータベースユーザーのbitnami_credentialsからのパスワードです). $ psql -U postgrespostgres=# alter user postgres with password 'NEW_PASSWORD';postgresl=# \q pgbenchワークロードを実行するDBを作成します。この場合dbを“Scale Factor 10”でテストするためpgbench-sf10と名付けます。Scale Factorとはデータベースのサイズを定義する方法です。 $ sudo -u postgres createdb pgbench-sf10 ベンチマークを実行する準備ができているDBを初期化します。“createdb” ステップは空のスキーマを作成します。 -i は “initialize” を意味しています -s は “scale factor” を示し、例えば10など指定します pgbench-sf10 は利用するデータベーススキーマです。先程作ったpgbench-sf10を使います。  $ sudo -u postgres pgbench -i -s 10 pgbench-sf10 pgbench-sf10というDBスキーマに対してワークロードを実行します。 $ sudo -u postgres pgb

Nutanix AHVクラスタにbitnamiイメージをインストールする

本記事は2019年6月28日にGary Little氏が投稿した記事の翻訳版です。原文はこちら。 パブリッククラウドの良いところは、Bitnamiのような企業が作成した、あらかじめパッケージングされたアプリケーションの仮想アプライアンスを使用できることです。 Nutanix AHV上でも、これらと同じアプライアンスイメージを使って、簡単にPostgresデータベースのベンチマークを行うことができます。 ステップ1. bitnamiのイメージを入手するwget https://bitnami.com/redirect/to/587231/bitnami-postgresql-11.3-0-r56-linux-debian-9-x86_64.zip ステップ2. ファイルを解凍し、bitnamiのvmdk イメージを単一の qcow2[1] ファイルに変換します。qemu-img convert *vmdk bitnami.qcow2 ブラウザでアクセスできる場所にbitnami.qcow2イメージを置き、Prismサービスに接続し、"Image Configuration "を使ってアップロードします。  イメージのアップロードが完了したら、今度はそのイメージを元に新しいVMを作成します。  起動するとbitnamiのロゴが表示され、コンソールでbitnamiのパスワードの設定やsshの有効化などを行うことができます。bitnamiイメージでのsshの有効化/無効化bitnamiイメージでPostgresに接続する注意 - "sudo -c postgres <some-psql-tool>" と入力したときに求められるパスワードは、Postgres DB のパスワード(./bitnami-credentials に保存)であり、 OSのユーザーのパスワードではありません。 アプライアンスに接続したら、postgresとpgbenchを使って、単純なデータベースワークロードを生成することができます。 [1] これはどこかのLinux環境で実施してください。なぜか、brew経由でインストールしたqemuユーティリティでは、変換に失敗しました。OVAをAHVに直接インポートすることは、将来的に可能になるはずです。(※訳注:Prism Central 2020.

Nutanix上でのデータベースの圧縮

本記事は2019年2月17日にGary Little氏が投稿した記事の翻訳版です。原文はこちら。 圧縮の有効性Nutanixクラスタ内で標準の圧縮を利用してデータベースを稼働させた場合にはどれほどの容量削減が期待できるでしょうか? TPCx-HCIベンチマークを稼働させた際には圧縮のみで、おおよそ2:1の削減を実現することができました。TPCx-HCIベンチマークはデータベース統合の構成をシミュレーションすることができます、つまり、ホストあたり多くのデータベースがあることになります。圧縮をしない場合のデータのサイズは45TBほどでした。 圧縮+暗号化加えて、データの保存時暗号化(Data at rest encryption - DARE)を有効にしました。クラスタの機能を利用して、圧縮と暗号化の両方を実現することができます。(まず圧縮を行い、その後暗号化)もしもデータベースエンジン自体が暗号化を行う場合、それによって圧縮の効果は小さくなります。  データの生成ZFSと同様に、Nutanixのファイルシステムは LZ4 圧縮を利用し、現実的なデータセットに対してインラインで2:1程度の容量削減の期待値です。TPCx-HCIベンチマークではE-Genデータ生成ツールを利用し、データベースを作成しました。E-GenはTPC-E ベンチマーク向けに作成されたツールで、機械が生成する文字列ではなく、国勢調査データとNYSEの株価リストなどの汎用的なリアルデータをもとにデータを生成します。 TPCx-HCI Data 

Nutanix AHV上にRed Hat OpenShiftを展開する

本記事はJose Gomez氏が2022年2月25日nutanix.devに投稿した記事の翻訳版です。原文はこちら。  このブログのシリーズの最初の記事である「Nutanix HCI上でRed Hat OpenShiftをはじめよう」では、デジタルトランスフォーメーションのためにクラウドネイティブを実装する中で、NutanixとRed Hatのアライアンスが組織をどのようにご支援するのかを見ていただくには良い内容となっています。  さて、Nutanix上でクラウドネイティブ(追加リソース)を動作させることについてはよく理解ができています、その次のステップへと歩みを進めましょう。Kubernetes ディストリビューションとしてRed Hat OpenShiftを利用して、Nutanix AHV上にKubernetesクラスタを動作させる方法についてです。 概要このブログを書いている時点で、サポートされているOpenShiftクラスタを展開する手法はplatform agnostic installer (プラットフォームに依存しないインストーラー)です。AHV上でのOpenShiftクラスタのインストールとライフサイクルを一元化するため、Nutanixコミュニティはこれらのタスクを自動化するための一連のNutanix Calm blueprint群を作成しました。Blueprintは こちらから入手可能です。 Calm blueprint毎に展開される仮想マシン このブログでは、Calm blueprintを使ったセルフサービスでAHV上へのOpenShiftクラスタを自動で展開する手順について見ていきます。以下の記事では読者がNutanix Calmを利用することができることを前提としています(追加リソース)。 Calm経由で展開されたOpenShiftクラスタはRed Hat社のサポート要件を完全に満たしています。これはOpenShiftに関する問題に出くわした際に重要です。 前提条件始める前に環境上に以下があることを確認してください:Nutanixクラスタ AHV 20201105.2175 または それ以降 最小AOSヴァージョン5.20.2 または 6.0.1 最低の利用可能リソース: 30 vCPU 106 GB メモリ 780 GB ディ

PrismからESXiアップグレードのプリチェックが失敗する場合

NutanixはPrismからESXiをアップグレード(またはパッチのアップデート)する機能を提供しており、サービス無停止でローリングアップグレードすることが可能です。この機能を利用するための代表的な要件として以下の2つがあります。vSphere DRSが有効 vSphere HAのアドミッションコントロールを無効化(アップグレード中のみ)これらの要件は、PrismからESXiアップグレードを実行した際に、プリチェックとして自動で検証されます。例えば、vCenterでDRSを無効化していたり、「一部自動化」の状態で有効化していたりする場合は、プリチェックの時点で以下のようにエラーとなりESXiアップグレードは実行されません。これは、自動ローリングアップグレードプロセスの中で、DRSが「完全自動化」でない場合、アップグレード中のESXiがメンテナンスモードに切り替わっても、仮想マシンが他のノードへ自動で退避できないためです。 また、HAのアドミッションコントロールが有効化されている場合も、プリチェックの時点で以下のようにエラーとなりESXiアップグレードは実行されません。これも、vSphere側の機能でリソース使用量に制約を適用するため、仮想マシンが移行できない場合が発生するためです。 これらは、DRSやHAを適切に設定すれば問題なく機能します。NutanixのドキュメントではPrismからのESXiアップグレードの要件として「DRSが有効になっていること」と明記されていますが、細かく言うと「完全自動化」で有効化されていることです。ESXiアップグレードの要件については以下ドキュメントをご参照ください。VMware ESXi Hypervisor Upgrade Recommendations and Limitations 

緊急性の高いアップデートがある場合、LCMがその他のアップデートを無効にするケース

Nutanixは、LCM(Life Cycle Management)という機能を提供しており、Prism Web Consoleから操作できます。LCMを使用すると、クラスターのソフトウェアやファームウェアの各バージョン情報を取得して一覧表示したり、任意のコンポーネントをバージョンアップしたりすることが可能です。このLCMを使用して、各ソフトウェアやファームウェアをアップグレードする際に、場合によっては以下の状況に遭遇することがあります。このように [lcm] の [Updates] タブで、特定のソフトウェアやフォームウェアのアップグレードが無効化されて選択できない状態になることがあります。無効になったチェックボックスへカーソルを当てると、以下のように表示されます。This update is disabled since there is an emergency update available. Perform that emergency update prior to attempting this. Refer to KB 9111 more details.(利用可能な緊急のアップデートがあるためこのアップデートは無効化されています。このアップデートを試みる前に、緊急のアップデートを先に実行してください。詳細は KB9111 を参照) これは、Nutanixが緊急にアップグレードすることが必要と分類した特定のバージョンのソフトウェアやファームウェアがクラスターで実行されている場合に、表示されるようです。その特定のソフトウェアやファームウェアをアップグレードするまで、その他のアップグレードは利用できない仕組みになっています。ちなみに「KB 9111」を参照すると、緊急アップデートが必要と分類されているコンポーネントとその理由が確認できます。KB 9111: LCM update is disabled since there is an emergency update available上記の画像の環境では、実行しているAOSのバージョンが「5.15.5」であり、CVMの起動に失敗する不具合が確認されているために、AOSの緊急アップデートが必要と分類されていました。今回は例として、AOSを「5.15.5」→「5.15.6」へアップグレードし、再度L

レイテンシ、スケジューラー、割り込み、なんてこった!Linuxカーネルアップグレードに関する壮大な物語

本記事はHarshit Agarwal氏 と Samuel Gaver氏による2021年12月9日のnutanix.devへの投稿の翻訳版です。原文はこちら。  はじめにNutanixはハイパーコンバージドプラットフォームですが、その全てのサービス(ストレージサービスを含む)はコントローラーVM (CVM)と呼ばれる特殊な仮想マシン(VM)上で稼働しています。このCVMは現在カーネルバージョン3.10のCentOS Linuxディストリビューションで稼働しています。残念なことにこのカーネルのバージョンは結構古いもので、いくつかの課題を抱えており、このことが今回、Nutanixが新しいバージョンへとアップグレードをする動機となっています。 なぜアップグレードが必要か?バックポート作業の辛さを軽減する: バグやセキュリティ問題に出くわした場合、我々はより新しいバージョンのカーネルから、3.10.xへと変更をバックポートする必要がありました。これらのバックポートは大きく時間がかかるもので、開発者にとってはこうした変更が適用可能で、正しくポーティングされたのかを確認する必要のある大変な作業を必要とします。加えて、マニュアルでのバックポート作業はQAチームにもそれぞれの変更をテストして検証するという大きな負担となっていました。 新たな機能のメリットを享受する : より新しいカーネルでは io_uringとBBR、我々のI/Oスタック内でのCPU効率と性能の改善が含まれており、より要件の高いワークロードを取り回す事ができるようになります。 LTSサポートへの追従 : 3.10のサポートは2017年に終了しています。最近のLTSカーネルを利用することで我々はLinuxコミュニティのサポートを受けやすくなります、Linuxコミュニティでは必要なバグ修正がすべてバックポートされています。LTS系列へと合わせることで、マニュアルで修正を監視してそれらをバックポートするよりも、劇的な改善が見込まれます。  パフォーマンスの改善 : AMD Zen上での優れたコンピュート性能と ext4における高速コミットの2つが、新たなカーネルを利用することで我々が同じハードウェア上でもより優れたパフォーマンスを達成することに貢献するカーネルの改善点です。 問題はなにか?作業を始めるにあたって我々は、最

Nutanix AOS 6.1 – マルチノードの取り外しとパブリッククラウドバーストにおける優位性

 本記事は2021年12月14日にJosh Odgers氏が投稿した記事の翻訳版です。原文はこちら。 以前にNutanix AOSソリューションが提供するリビルドのパフォーマンスを含む拡張性、回復力、及び性能についての多くの優位性の詳細について述べてきました。これらはNutanix環境が障害発生後に自分自身で、完全な回復力を備えた状態にまでのリカバリを、可能な限り早く実行することを保証しています。 これはNutanix環境を支えるキャパシティとパフォーマンスに応じてデータをクラスタ全体で動的に分散させるAOSストレージファブリックによって可能になっています。 AOSストレージファブリックにはAOSがデータを1MB および 4MBのエクステントで保存するのとは反対に、未発達なHCI製品がデータの保存に巨大なオブジェクトを利用しているために潜在的に発生してしまう、個々のノードのキャパシティの問題に対して未然に対処する事ができる、という点以外にも多くの優位性があります。 AOS 6.1では、複数のノードを同時に取り外す事ができる新しい機能が搭載されますが、これを使うことによって同じAOSアーキテクチャ上で、合理的な時間内に効率的に複数のノードを取り外すことができるようになります。 ノードの取り外しは管理者が各々のノードの進捗状況を監視する必要なく行われ、1ノードが完了すると、それに続くノードの取り外しが前のノードと同様に行われます。 Nutanix Prism UI内でマルチノードの取り外しを実行するサンプル 一つずつ取り外すのと比べてどれぐらい効率的なのか?たとえば、8ノードのクラスタがあり、そこから2もしくはそれ以上のノードを取り外すときのことを考えてみましょう。 以前のAOSと、Nutanix以外のHCIプラットフォームではノード8からクラスタ内の他のノードへ移動されていました。 AOSはこれを、データを残されたすべてのノードに細やかなレベルでバランスしながら効率的に実施していましたが、それに続くノード7の取り外し時にはノード8に格納されていたデータのいくらかがノード7上に配置されており、再度データ移動の対象となってしまっていました。データを2回(もしくはもっと)移動させることは不必要ですし、クラスタへのオーバーヘッドと処理時間の長期化の両方が発生させます。 ノード

Badges

Show all badges