IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ
研修コース検索

コラム

グーグルのクラウドを支えるテクノロジー

CTC 教育サービス

 [IT研修]注目キーワード   Python  Power Platform  最新技術動向  生成AI  Docker  Kubernetes 

第225回 マルチコンポーネント化するサーバーシステムの構成管理手法(パート2) (中井悦司) 2026年7月08日公開

はじめに

 前回に続いて、2026年に公開された論文「Managing and Securing Google’s Fleet of Multi-Node Servers」に基づいて、Googleのデータセンターにおけるサーバー構成管理、特に、CPUやメモリーを搭載したメインボードに加えて、GPUやSmart NICなど、多数の外部コンポーネントを持つシステムに対して、初期化やファームウェアアップデートを安全に実行する手法を紹介します。今回は、アリーナの構成を抽象化した「グラフ構造モデル」の活用について説明します。

アリーナの構成モデル

 前回の記事では、サーバーを構成するコンポーネントは複数の独立した「アリーナ」に分解されており、それぞれのアリーナに対して、管理ネットワーク経由で制御するコントローラーが用意されていることを説明しました。この時、アリーナ内のリソースや複数のアリーナを統合的に管理するには、これらの構成や依存関係を正確に把握する必要があります。特に、ソフトウェアを用いて管理を自動化する上では、構成情報を適切にモデル化したデータベースが必要です。
 そこで、Googleのデータセンターでは、アリーナに含まれるリソースやアリーナ間の関係を「エンティティ」と「リレーションシップ」からなるグラフモデルとして定義したデータベースを用意しています。図1は、「メインボード」と「プラグインカード」の2つのアリーナを含むグラフモデルの一部を示した例になります。

fig01

図1 アリーナのコンポーネントと相互の関係をグラフ化したモデル(論文より抜粋)

 図1の左には「メインボード」のアリーナを表す「EK_ARENA(mainboard)」のエンティティがあり、その右にこのアリーナに含まれる「EK_CONTROL_NODE」と「EK_COMPUTE_NODE」のエンティティがあることなどが読み取れます。例えば、ある特定のパーツでハードウェア障害が発生すると、管理システムはそのエラー報告を受け取ります。その後、このモデルに従って障害が発生したパーツから、それを含むメインボードなどの「現場交換可能ユニット(FRU)」へとグラフをたどることで、技術者にどの部品を交換すればよいかを正確に指示できるようになります。
 さらに、このモデルには、リソース間の依存関係を示す情報が含まれます。例えば、図1に含まれる「EK_INSTALL_ORDER」は、リソースの起動やソフトウェアインストールの順序を示します。アリーナに含まれるリソースを初期化する際は、この順序に従って初期化作業を進めます。あるいは、複数のアリーナを含むサーバーシステムを停止する際は、図2のように、アリーナ間の依存関係に基づいて適切な停止手順を自動的に判断して、停止処理を進めます。

fig02

図2 サーバーシステムをシャットダウンする際の作業順序(論文より抜粋)

 アリーナの関係をモデル化したグラフデータベースを導入する以前は、サーバーシステムごとに固有の手順をハードコードした制御プログラムを用意する必要があり、システムごとに制御プログラムをメンテナンスする必要がありました。さまざまな構成に対応する抽象化モデルを導入する事で、単一の制御プログラムからすべてのサーバーシステムを統一的に管理できるようになりました。

ジョブスケジューラーとの連携

 Googleのデータセンターでは、独自のコンテナ管理システムであるBorgを用いて、コンピューティングリソースへのジョブの割り当てを行っていますが、ベアメタルサーバーへのジョブの割り当てについてもBorgを利用しています。ベアメタルサーバーをBorgの管理下に置く際は、はじめに、該当のサーバーが「信頼できる状態」であることを確認します(図3)。それぞれのサーバーシステムには「何をどのような手順で確認するのか」を記述した「証明ポリシー(Attestation policy)」が用意されているので、これを取得した上で、この証明ポリシー自体が改ざんされていないことを確認します。その後、このポリシーに従って、それぞれのリソースの状態を確認して行き、サーバーシステム全体が信頼できる状態であると確認できると、該当サーバーへのジョブの割り当てを開始します。

fig03

図3 Borgがベアメタルサーバーにジョブを割り当てる流れ(論文より抜粋)

次回予告

 今回は、2026年に公開された論文「Managing and Securing Google’s Fleet of Multi-Node Servers」に基づいて、Googleのデータセンターにおけるサーバー構成管理、特に、アリーナの構成を抽象化した「グラフ構造モデル」を利用して、アリーナの管理を自動化する仕組みについて説明しました。
 次回は、Googleで最も古くから利用されてきたデータベース技術、Bigtableに関する話題をお届けします。

Disclaimer:この記事は個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には関係はありません。

 

 [IT研修]注目キーワード   Python  Power Platform  最新技術動向  生成AI  Docker  Kubernetes