衝突と衝突: OpenStack の仮想マシンとベアメタル

衝突と衝突: OpenStack の仮想マシンとベアメタル

[[319074]]

仮想化か非仮想化か?

パフォーマンスを追求する場合、議論の余地はありません。ベアメタルは依然として VM よりも優れています。特に I/O 集約型アプリケーションに適しています。ただし、それを十分に活用できることが保証されない限り、代償が伴います。この記事では、Nova を使用してハイパーバイザーとベアメタル コンピューティング ノードへのアクセスを統一的に提供する方法について説明しました。

スケジュール

Nova が Ironic を通じてベアメタル コンピューティングをサポートするために初めて導入されたとき、従来のハイパーバイザー ベースのワークロードと簡単に共存することはできませんでした。当時の解決策では、通常、ホスト集約とフレーバー機能の使用が必要でした。

ベアメタルのスケジューリングについては、特注のベアメタル ブログ投稿で詳しく説明しています (「概要: Nova でのスケジューリング」を参照)。

配置サービスの導入以来、ベアメタルのスケジュールは大幅に変更されました。各 Ironic ノードについて、標準の vCPU、メモリ、およびディスク リソースを、カスタム リソース クラスの個別のユニットに置き換えます。これには 2 つの重要な副作用があります。

  • ベアメタルノードは完全に割り当てられるか、まったく割り当てられないかのいずれかです。
  • 仮想マシンとベアメタルで使用されるリソースクラスは分離されているため、最終的にはベアメタルノードにVMフレーバーをスケジュールすることはできません。

「小さな」VM フレーバーは次のようになります。

  1. openstack フレーバー show vm-tiny -f json -c名前-c vcpus -c ram -c ディスク -c プロパティ
  2. {
  3. 「名前」 : 「vm-tiny」
  4. "vcpus" : 1,
  5. 「ラム」 : 1024,
  6. 「ディスク」 : 1,
  7. 「プロパティ」 : 「」  
  8. }

「ゴールド」ノードのベアメタル フレーバーは次のようになります。

  1. openstack フレーバー show bare-metal-gold -f json -c name -c vcpus -c ram -c disk -c properties
  2. {
  3. 「名前」 : 「ベアメタルゴールド」
  4. "vcpus" : 64,
  5. 「ラム」 : 131072,
  6. 「ディスク」 : 371,
  7. "プロパティ" : "リソース:CUSTOM_GOLD= '1'
  8. リソース:DISK_GB= '0'
  9. リソース:MEMORY_MB= '0'
  10. リソース:VCPU= '0' "
  11. }

vCPU/RAM/ディスク リソースは参照専用であり、スケジュール設定の目的でプロパティによってゼロに設定されることに注意してください。これについては後ほどさらに詳しく説明します。

インターネットはどうですか?

ハイブリッド環境では、VM とベアメタル インスタンスが相互に通信できるようにしたり、相互に分離したりする必要がある場合があります。どちらのモデルも可能であり、典型的な Neutron ネットワークと同じように機能します。Neutron ネットワークは、Neutron ルーターを介して接続されるまで互いに分離されています。

ベアメタル コンピューティング ノードは通常、VLAN またはフラット ネットワークを使用します。もちろん、ネットワーク ハードウェアと Neutron プラグインを適切に組み合わせれば、他のモデルも可能です。 VLAN ネットワークの場合、ハイパーバイザーがベアメタル コンピューティング ノードと同じ物理ネットワークに接続されていると仮定すると、VM をベアメタル コンピューティング インスタンスと同じ VLAN に接続すると、それらの間の L2 接続が提供されます。あるいは、Neutron ルーターを使用して、VLAN 上のベアメタル インスタンスを別のネットワーク (VXLAN など) 上の VM に接続し、それらの間で L3 接続を提供することも可能になります。

これは実際にはどのように見えるのでしょうか? VM とベアメタル ネットワークの両方をサポートする Neutron プラグイン/ドライバーの組み合わせが必要です。ベアメタル サーバーをテナント ネットワークに接続するには、Neutron で物理ネットワーク デバイスを構成する必要があります。通常は networking-generic-switch ML2 メカニズム ドライバーを使用しますが、networking-ansible ドライバーがベンダー中立の代替として登場しています。これらのドライバーは、ベアメタル ポート、つまり、VNIC_TYPE が baremetal の Neutron ポートをサポートします。ベンダー固有のドライバーも利用可能であり、VM とベアメタルの両方をサポートする場合があります。

何か質問はありますか?

より成熟したクラウドが遭遇する可能性がある問題の 1 つは、標準リソース クラス (vCPU、RAM、ディスク) に基づくスケジュール設定からカスタム リソース クラスに基づくスケジュール設定への移行です。 Rocky リリース以前で作成された古いベアメタル インスタンスがある場合、カスタム リソース クラスに加えて、Placement に標準のリソース クラス マニフェストが存在する可能性があります。たとえば、Placement に報告されるノードのリストは次のとおりです。

  1. $ openstack リソースプロバイダーインベントリリスト <ノード UUID>
  2. + ---------------+---------------------+----------+----------+-----------+----------+--------+  
  3. |リソースクラス |割り当て比率 |最大単位 |予約済み |ステップサイズ |最小単位 |合計 |
  4. + ---------------+---------------------+----------+----------+-----------+----------+--------+  
  5. |仮想CPU 1.0 | 64 | 0 | 1 | 1 | 64 |
  6. |メモリ1.0 | 131072 | 0 | 1 | 1 | 131072 |
  7. |ディスク容量1.0 | 371 | 0 | 1 | 1 | 371 |
  8. |カスタムゴールド | 1.0 | 1 | 0 | 1 | 1 | 1 |
  9. + ---------------+---------------------+----------+----------+-----------+----------+--------+  

このノードが標準リソース クラスのインスタンスを要求する (または明示的にクリアされない) フレーバーに割り当てられている場合、使用法は次のようになります。

  1. $ openstack リソースプロバイダー使用状況表示 <ノード UUID>
  2. + ----------------+--------+  
  3. |リソースクラス |使用法 |
  4. + ----------------+--------+  
  5. |仮想CPU 64 |
  6. |メモリ131072 |
  7. |ディスク容量371 |
  8. |カスタムゴールド | 1 |
  9. + ----------------+--------+  

このインスタンスを削除すると、標準のリソース クラス インベントリが使用可能になり、VM のスケジューラによって選択できるようになります。これは決して良い結果にはならないだろう。私たちがしなければならないのは、これらのリソースが Placement に報告されないようにすることです。これは、Nova の Stein バージョンではデフォルトで実行され、Rocky でも nova.conf で次のように設定することで同じことを実行するように構成できます。

  1. [回避策]
  2. report_ironic_standard_resource_class_inventory = False  

ただし、これを行うと、Nova はインスタンスがすでに消費している在庫を Placement リソース プロバイダーから削除しようとし、HTTP 409 競合が発生します。これにより、すぐにログが役に立たない警告でいっぱいになります。

フレーバー移行

ありがたいことに、解決策はあります。既存のインスタンスで使用されているフレーバーを変更して、標準のリソース クラス マニフェストを削除することができます。これにより、それらのリソースの割り当てが Placement から削除されます。これにより、Nova はリソース プロバイダーからインベントリを削除できるようになります。 Matt Riedemann は、標準のリソース クラス マニフェストを削除する Nova Patch を開始しました。このパッチは生産ラインにプッシュする必要がありますが、生産 Rocky ビルドで使用するには十分に機能します。

移行はオフラインでもオンラインでも実行できます。このパッチの展開を避けるために、オフラインで実行することを選択しました。移行するノードごとに:

  1. nova-manage db ironic_flavor_migration --resource_class <ノード リソース クラス> --host <ホスト> --node <ノード UUID>  

または、すべてのノードが同じリソース クラスを持つ場合:

  1. nova-manage db ironic_flavor_migration --resource_class <ノードリソースクラス> --all  

データベースをチェックすることで、インスタンスに含まれるフレーバーが正しく更新されたかどうかを確認できます。

  1. sql> novaを使用する
  2. sql> instance_extraからフレーバーを選択します

現在 (Rocky のみ)、標準のリソース クラスのインベントリ レポートを無効にすることができます。 nova コンピューティング サービスがしばらく実行されると、配置が更新されます。

  1. $ openstack リソースプロバイダーインベントリリスト <ノード UUID>
  2. + ----------+---------------------+----------+----------+-----------+----------+----------+  
  3. |リソースクラス|割り当て比率 |最大単位 |予約済み |ステップサイズ |最小単位 |合計 |
  4. + ----------+---------------------+----------+----------+-----------+----------+----------+  
  5. |カスタムゴールド | 1.0 | 1 | 0 | 1 | 1 | 1 |
  6. + ----------+---------------------+----------+----------+-----------+----------+----------+  
  7.  
  8. $ openstack リソースプロバイダー使用状況表示 <ノード UUID>
  9. + ----------------+--------+  
  10. |リソースクラス |使用法 |
  11. + ----------------+--------+  
  12. |カスタムゴールド | 1 |
  13. + ----------------+--------+  

これは、OpenStack が、このような厄介なシナリオであっても VM とベアメタルが平和的に共存できる段階に到達したことを示すものであると期待しています。 Ironic を一流のプロジェクトにするために一生懸命働いてくれた Nova チームに感謝します。

<<:  エッジコンピューティングがモノのインターネットにとって重要な3つの理由

>>:  エッジコンピューティングはクラウドコンピューティングを飲み込む可能性があります。プレイヤーは誰が勝つかについて独自の考えを持っています。

推薦する

ロングテールワードの合理的な分析とマイニングにより、ウェブサイトが安定したロングテールユーザーを蓄積できるように導く

ほとんどのウェブマスターと同様に、私が毎日目覚めて最初にすることは、ウェブサイトの変化に注意を払うこ...

ウェブサイトのランキングに影響を与える要因の徹底調査:インテリジェントランキングが中核に

現在、SEO 最適化には 2 つの主要な派閥があり、1 つは純粋な技術派閥、もう 1 つは基礎派閥で...

uuuvpsはどうですか?米国サンノゼ cn2 ライン VPS の簡単なレビュー

uuuvpsはどうですか? uuuvps は香港に登録され、2009 年に設立され、米国西海岸のサン...

letbox-1gメモリVPS年間支払い25ドル/5GメモリVPS月額支払い7ドル/100M無制限

letbox は新しいビジネスではありませんが、まだ設立されて間もないです。ドメイン名から全体的な印...

クラウドファーストのプロセス統合がクラウド アプリケーションに最適なのはなぜですか?

パンデミックにより、企業のデジタル技術への支出が増加し続け、デジタルとクラウドの導入が加速しました。...

グローバルB2C電子商取引サイトの革新的モデルと関連事例の研究

The Inspirations of Business は、ビジネス イノベーションのトレンドを研...

#高性能 VPS# racknerd: 年間 69 ドル、KVM、2.5G (DDR4)/2 コア (Ryzen 9 3900X)/40gNVMe/6T トラフィック

8月末、racknerdはLinux+AMD+NVMe SSDシリーズの高性能VPSにさらに2つのプ...

A5 SEO診断チームがウェブサイトマーケティングの収益モデルについて簡単に説明します

21世紀のインターネットの急速な発展は、インターネットユーザーの数の劇的な増加と一致しています。より...

Hosthatch: 年間 18 ドル、512 MB メモリ/1 コア/250 g ハード ドライブ/3 T トラフィック、ロサンゼルスを含む 5 つのデータ センター

Hosthatchは、主に欧米のデータセンター(米国ロサンゼルスとニューヨーク、スウェーデンのストッ...

盗作の背後には成功の論理が蔓延している:非難はセンセーショナリズムだと非難される

盗作カルト中国では、「うまくコピーできて、上手にコピーできて、誰にも訴えられずにコピーできれば、あな...

juhost Japanはどうですか? Juhost Japan BGP回線VPSの簡単評価

Juhost は最近、日本の BGP 回線を備えた新しい日本の VPS を立ち上げました。デフォルト...

フォーラムマーケティングをマスターするための6つの戦略

フォーラムのインタラクティブ性は確かに高いため、多くのウェブマスターが独自のフォーラムを立ち上げてい...

2013年最も不満を抱いたテクノロジー界の大物トップ10:ヴァンクルのチェン・ニアンがトップ

今年も年末がやってきました。この一年、テクノロジー企業は浮き沈みを経験し、業界は数え切れないほどの変...

オンライン公開講座のウェブサイトは海外で盛んだが、中国ではほとんどない

近年、Khan Academy や Coursera といった 2 つの有名な Web サイトなど、...