
かつて山市良と呼ばれたおじさんのブログ
セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ vol.135 Linuxキャッシュノードの導入(後)|Microsoft Connected Cache for E/E 完全導入ガイド(4)
2025年09月08日配信
執筆者:山内 和朗
「Microsoft Connected Cache for Enterprise and Education(以下、Microsoft Connected Cache for E/E)」は、LinuxまたはWindowsに展開できる、ソフトウェアベースのキャッシュソリューションです。前回(vol.134)から実施しているLinuxキャッシュノード構築の続きです。
前回(vol.134)から、Ubuntu Server 24.04 LTSを実行するLinuxマシン(Hyper-V仮想マシン)にLinuxキャッシュノードを展開しています。
前回までの内容:
(注意: 画面の番号は前回から継続しています)
Linuxマシンにログインし、次のコマンドラインを実行してキャッシュノードを展開します(キャッシュドライブ/cachenode/node01の場合)。なお、unzipコマンドが利用できない場合は、sudo apt install unzipを実行してインストールしてください(画面7、画面8)。
~$ wget https://download.microsoft.com/download/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/mccscripts.zip(事前に控えておいた展開パッケージのダウンロードリンク) ・・・ Successfully completed MCC device registration ~/MccScripts$ |
注:この例ではログインユーザーのホームディレクトリ(~)に展開パッケージを展開してしていますが(~/MccScripts)、展開パッケージに含まれるスクリプト(*.sh*1)はインストール後も使用されることがあるため、展開先ディレクトリ(~/MccScripts)は削除しないでください。ホームディレクトリではなく、別の専用のディレクトリ(/opt/MccScriptsなど)を使用すると良いかもしれません。
*1 4時間ごとの更新のためのMccScripts/hostupdate.sh(sudo crontab -lで確認可能)、アンインストール用MccScripts/Uninstall.sh、他のスクリプトが呼び出すMccScripts/utilities.shなど。
画面7 展開用パッケージ(mccscripts.zip)をダウンロードして、ZIPを展開する
画面8 展開先の「MccScripts」ディレクトリに移動し、スクリプト(*.sh)に実行モードを設定する。また、キャッシュドライブのディレクトリを作成し、展開コマンドを実行する
展開コマンド実行後、キャッシュノードのソフトウェア(MCCコンテナー)がダウンロードが展開され、キャッシュが可能になるまでには最大30分かかります。キャッシュノードの展開が完了すると、Azureポータルの「Connected Cache for Enterprise & Education」リソースの「Cache Nodes」にその状態(正常な場合はHealthy)とOS(Linux)、ソフトウェアバージョン(GAバージョンは2.0.0.2112_e)が表示されます。「Migrated」列は、GA以前のプレビューバージョンで展開されたノードがGAバージョンにアップグレード済み(Yes)かアップグレードする必要があるか(No)を示すもので、GA後に展開したキャッシュノードには関係ありません。キャッシュノードが正常に動作しているかどうかは、Webブラウザーまたはwgetコマンドで以下のURLにアクセスし、小さな画像ファイル「Microsoft.png」(Microsoftロゴ)を取得できるか、ステータスコード200が返ってくるかどうかで確認できます(画面9)。
http://localhost(ローカルで確認する場合)またはキャッシュノードのIPアドレス/filestreamingservice/files/7bc846e0-af9c-49be-a03d-bb04428c9bb5/Microsoft.png?cacheHostOrigin=dl.delivery.mp.microsoft.com |
画面9 Linuxキャッシュノードの展開が成功し、正常に動作していることを確認する
前回説明したように、キャッシュノードのキャッシュドライブはLinuxのファイルシステムが提供し、キャッシュエンジンはAzure IoT Edge展開サービスを通じてコンテナーランタイム(moby-engine)に展開されたMCCコンテナーが提供します(右の図は前回説明したLinuxキャッシュノードのアーキテクチャ図)。Linuxマシンで「sudo iotedge list」または「sudo docker ps」を実行すると、MCCおよびAzure IoT関連の3つのコンテナー(MCC、edgeAgent、edgeHub)が実行中であることを確認することができます(画面10)。コンテナーの実行に何か問題がある場合は、「sudo iotedge check」を実行して調査することができますが、Microsoft Connected Cache for E/Eではこれらのコンポーネントの動作状態や更新について通常、意識する必要はありません(Microsoftにより管理されている部分ということもできます、ただしプレビューバージョンは除く)。*2
*2 実際には展開後のソフトウェア(コンテナー)のダウンロードや再起動後のコンテナーの起動問題に遭遇することがありました。その際の問題回避のために、sudo iotedge checkによる診断、aziot-edgeの最新バージョンへの更新(sudo apt-get update; sudo apt install aziot-edge)、コンテナーでのDNSの設定(/etc/docker/daemon.jsonへの"dns":["1.1.1.1"]の追加)、dockerとiotedgeの再起動(sudo systemctl restart docker; sudo iotedge system restart)、iotedgeのログの確認(sudo iotedge system logs)など実施する必要がありました。ただし、Azure IoT Edgeのサービス側の問題、またはDNS名前解決の問題が原因であり、自然に解消した可能性もあります。
IoT Edgeデバイスのトラブルシューティング|Azure(Microsoft Learn)
画面10 Linuxキャッシュノードで実行されるMCCコンテナーとAzure IoT関連コンテナー
LinuxキャッシュノードのアンインストールLinuxキャッシュノードからキャッシュノードのコンポーネントをアンインストールするには、「MccScripts」ディレクトリにある「uninstallmcc.sh」スクリプトを実行します。このスクリプトはAzure IoT Edgeコンポーネント(aziot-edgeなど)、MCCコンテナー、Moby CLI(moby-cli)、Moby Engine(moby-engine)をアンインストールします。展開コマンドの実行に失敗した場合は、アンインストールしてから問題を取り除き、再展開してください。
|
Microsoft Connected Cache for E/E 完全導入ガイド(1)|(2)|(3 前)|(4 後)|(5)