Microsoft Azure への RHEL 8 のデプロイ
RHEL システムイメージの取得と Azure 上での RHEL インスタンスの作成
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
Jira からのフィードバック送信 (アカウントが必要)
- Jira の Web サイトにログインします。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
第1章 パブリッククラウドプラットフォームでの RHEL の導入 リンクのコピーリンクがクリップボードにコピーされました!
パブリッククラウドプラットフォームは、コンピューティングリソースをサービスとして提供します。オンプレミスのハードウェアを使用する代わりに、Red Hat Enterprise Linux (RHEL) システムなどの IT ワークロードをパブリッククラウドインスタンスとして実行できます。
1.1. パブリッククラウドで RHEL を使用する利点 リンクのコピーリンクがクリップボードにコピーされました!
パブリッククラウドプラットフォーム上に配置されたクラウドインスタンスとしての RHEL には、RHEL オンプレミスの物理システムまたは仮想マシン (VM) に比べて次の利点があります。
リソースの柔軟性と詳細な割り当て
RHEL のクラウドインスタンスは、クラウドプラットフォーム上の仮想マシンとして実行されます。この仮想マシンは通常、クラウドサービスのプロバイダーによって維持管理されるリモートサーバーのクラスターです。したがって、特定のタイプの CPU やストレージなどのハードウェアリソースのインスタンスへの割り当ては、ソフトウェアレベルで行われ、簡単にカスタマイズできます。
また、ローカルの RHEL システムと比較すると、物理ホストの機能によって制限されることがありません。むしろ、クラウドプロバイダーが提供する選択肢に基づいて、さまざまな機能から選択できます。
領域とコスト効率
クラウドワークロードをホストするためにオンプレミスサーバーを所有する必要がありません。これにより、物理ハードウェアに関連するスペース、電力、メンテナンスの要件が回避されます。
代わりに、パブリッククラウドプラットフォームでは、クラウドインスタンスの使用料をクラウドプロバイダーに直接支払います。通常、コストはインスタンスに割り当てられたハードウェアとその使用時間に基づきます。したがって、要件に基づいてコストを最適化できます。
ソフトウェアで制御される設定
クラウドインスタンスの設定全体がクラウドプラットフォーム上にデータとして保存され、ソフトウェアによって制御されます。したがって、インスタンスの作成、削除、クローン作成、または移行を簡単に行うことができます。また、クラウドインスタンスは、クラウドプロバイダーのコンソールでリモートで操作され、デフォルトでリモートストレージに接続されます。
さらに、クラウドインスタンスの現在の状態をいつでもスナップショットとしてバックアップできます。その後、スナップショットをロードしてインスタンスを保存した状態に復元できます。
ホストからの分離とソフトウェアの互換性
ローカルの仮想マシンと同様に、クラウドインスタンス上の RHEL ゲストオペレーティングシステムは仮想化されたカーネル上で実行されます。このカーネルは、ホストオペレーティングシステムや、インスタンスへの接続に使用する クライアント システムとは別のものです。
したがって、任意のオペレーティングシステムをクラウドインスタンスにインストールできます。つまり、RHEL パブリッククラウドインスタンスでは、ローカルオペレーティングシステムでは使用できない RHEL 固有のアプリケーションを実行できます。
さらに、インスタンスのオペレーティングシステムが不安定になったり侵害されたりした場合でも、クライアントシステムには一切影響がありません。
1.2. RHEL のパブリッククラウドのユースケース リンクのコピーリンクがクリップボードにコピーされました!
パブリッククラウドへのデプロイには多くの利点がありますが、すべてのシナリオにおいて最も効率的なソリューションであるとは限りません。RHEL デプロイメントをパブリッククラウドに移行するかどうかを評価している場合は、ユースケースがパブリッククラウドの利点を享受できるかどうかを検討してください。
有益なユースケース
パブリッククラウドインスタンスのデプロイは、デプロイメントのアクティブなコンピューティング能力を柔軟に増減する (スケールアップ および スケールダウン とも呼ばれます) 場合に非常に効果的です。したがって、次のシナリオではパブリッククラウドで RHEL を使用することを推奨します。
- ピーク時のワークロードが高く、一般的なパフォーマンス要件が低いクラスター。要求に応じてスケールアップおよびスケールダウンすることで、リソースコストの面で高い効率が得られる場合があります。
- クラスターを迅速にセットアップまたは拡張できます。これにより、ローカルサーバーのセットアップにかかる高額な初期費用が回避されます。
- クラウドインスタンスは、ローカル環境で何が起こっても影響を受けません。したがって、バックアップや障害復旧に使用できます。
問題が発生する可能性のあるユースケース
- 調整不可能な既存の環境を運用している場合。既存のデプロイメントの特定のニーズに合わせてクラウドインスタンスをカスタマイズすることは、現在のホストプラットフォームと比較して費用対効果が低い可能性があります。
- 厳しい予算制限の中で運用している場合。通常、ローカルデータセンターでデプロイメントを維持管理すると、パブリッククラウドよりも柔軟性は低くなりますが、最大リソースコストをより細かく制御できます。
次のステップ
1.3. パブリッククラウドへの移行時によくある懸念事項 リンクのコピーリンクがクリップボードにコピーされました!
RHEL ワークロードをローカル環境からパブリッククラウドプラットフォームに移行すると、それに伴う変更について懸念が生じる可能性があります。よくある質問は次のとおりです。
RHEL は、クラウドインスタンスとして動作する場合、ローカル仮想マシンとして動作する場合とは異なる動作になりますか?
パブリッククラウドプラットフォーム上の RHEL インスタンスは、ほとんどの点で、オンプレミスサーバーなどのローカルホスト上の RHEL 仮想マシンと同じように機能します。注目すべき例外には次のようなものがあります。
- パブリッククラウドインスタンスは、プライベートオーケストレーションインターフェイスの代わりに、プロバイダー固有のコンソールインターフェイスを使用してクラウドリソースを管理します。
- ネストされた仮想化などの特定の機能が正しく動作しない可能性があります。特定の機能がデプロイメントにとって重要な場合は、選択したパブリッククラウドプロバイダーとその機能の互換性を事前に確認してください。
ローカルサーバーと比べて、パブリッククラウドではデータは安全に保たれますか?
RHEL クラウドインスタンス内のデータの所有権はユーザーにあり、パブリッククラウドプロバイダーはデータにアクセスできません。さらに、主要なクラウドプロバイダーは転送中のデータ暗号化をサポートしているため、仮想マシンをパブリッククラウドに移行する際のデータのセキュリティーが向上します。
RHEL パブリッククラウドインスタンスの一般的なセキュリティーは次のように管理されます。
- パブリッククラウドプロバイダーは、クラウドハイパーバイザーのセキュリティーを担当します。
- Red Hat は、RHEL ゲストオペレーティングシステムのセキュリティー機能をインスタンスに提供します。
- ユーザーは、クラウドインフラストラクチャーにおける特定のセキュリティー設定とプラクティスを管理します。
ユーザーの地理的リージョンは、RHEL パブリッククラウドインスタンスの機能にどのように影響しますか?
RHEL インスタンスは、地理的な場所に関係なく、パブリッククラウドプラットフォームで使用できます。したがって、オンプレミスサーバーと同じリージョンでインスタンスを実行できます。
ただし、物理的に離れたリージョンでインスタンスをホストすると、操作時に待ち時間が長くなる可能性があります。さらに、パブリッククラウドプロバイダーによっては、特定のリージョンで、追加機能が提供される場合や、より高いコスト効率が得られる場合があります。RHEL インスタンスを作成する前に、選択したクラウドプロバイダーで利用可能なホスティングリージョンのプロパティーを確認してください。
1.4. パブリッククラウドデプロイメント用の RHEL の入手 リンクのコピーリンクがクリップボードにコピーされました!
RHEL システムをパブリッククラウド環境にデプロイするには、次の手順を実行する必要があります。
要件と市場の現在のオファーに基づいて、ユースケースに最適なクラウドプロバイダーを選択します。
現在、RHEL インスタンスの実行が認定されているクラウドプロバイダーは次のとおりです。
- Amazon Web Services (AWS)
- Google Cloud
- 注記
このドキュメントでは、Microsoft Azure への RHEL のデプロイについて特に説明します。
- 選択したクラウドプラットフォーム上に RHEL クラウドインスタンスを作成します。詳細は、RHEL クラウドインスタンスを作成する方法 を参照してください。
- RHEL デプロイメントを最新の状態に保つには、Red Hat Update Infrastructure (RHUI) を使用します。
1.5. RHEL クラウドインスタンスを作成する方法 リンクのコピーリンクがクリップボードにコピーされました!
RHEL インスタンスをパブリッククラウドプラットフォームにデプロイするには、次のいずれかの方法を使用できます。
| RHEL のシステムイメージを作成し、クラウドプラットフォームにインポートします。
|
| RHEL インスタンスをクラウドプロバイダーマーケットプレイスから直接購入します。
|
さまざまな方法を使用して Microsoft Azure に RHEL インスタンスをデプロイする詳細な手順については、このドキュメントの次の章を参照してください。
第2章 VHD イメージを作成して Microsoft Azure クラウドに自動的にアップロードする リンクのコピーリンクがクリップボードにコピーされました!
RHEL Image Builder を使用して .vhd イメージを作成すると、Microsoft Azure クラウドサービスプロバイダーの Blob Storage に自動的にアップロードされます。
前提条件
- システムへの root アクセス権があります。
- RHEL Web コンソールの RHEL Image Builder インターフェイスにアクセスできる。
- ブループリントを作成している。Web コンソールインターフェイスでの RHEL Image Builder ブループリントの作成 を参照してください。
- Microsoft ストレージアカウント が作成されました。
- 書き込み可能な Blob Storage が準備されました。
手順
- RHEL Image Builder ダッシュボードで、使用するブループリントを選択します。
- タブをクリックします。
をクリックして、カスタマイズした
.vhdイメージを作成します。Create image ウィザードが開きます。
-
Type ドロップダウンメニューリストから
Microsoft Azure (.vhd)を選択します。 - イメージを Microsoft Azure クラウドにアップロードするには、Upload to Azure チェックボックスをオンします。
- Image Size を入力し、 をクリックします。
-
Type ドロップダウンメニューリストから
Upload to Azure ページで、次の情報を入力します。
認証ページで、次のように入力します。
- Storage account の名前。これは、Microsoft Azure portal の Storage account ページにあります。
- Storage access key: これは、Access Key ストレージページにあります。
- をクリックします。
Authentication ページで、次のように入力します。
- イメージ名
- Storage container。これは、イメージのアップロード先の BLOB コンテナーです。Microsoft Azure portal の Blob service セクションにあります。
- をクリックします。
Review ページで をクリックします。RHEL Image Builder が起動し、アップロードプロセスが開始します。
Microsoft Azure Cloud にプッシュしたイメージにアクセスします。
- Microsoft Azure ポータル にアクセスします。
- 検索バーに "storage account" と入力し、リストから Storage accounts をクリックします。
- 検索バーに "Images" と入力し、Services の下にある最初のエントリーを選択します。Image Dashboard にリダイレクトされます。
- ナビゲーションパネルで、Containers をクリックします。
-
作成したコンテナーを見つけます。コンテナー内には、RHEL Image Builder を使用して作成およびプッシュした
.vhdファイルがあります。
検証
仮想マシンイメージを作成して起動できることを確認します。
- 検索バーに images account と入力し、リストから Images をクリックします。
- をクリックします。
- ドロップダウンリストから、前に使用したリソースグループを選択します。
- イメージの名前を入力します。
- OS type で Linux を選択します。
- VM generation で Gen 2 を選択します。
- Storage Blob で をクリックし、VHD ファイルに到達するまでストレージアカウントとコンテナーをクリックします。
- ページの最後にある Select をクリックします。
- Account Type を選択します (例: Standard SSD)。
- をクリックし、 をクリックします。イメージが作成されるまでしばらく待機します。
仮想マシンを起動するには、次の手順に従います。
- をクリックします。
- ヘッダーのメニューバーから をクリックします。
- 仮想マシンの名前を入力します。
- Size セクションと Administrator account セクションに入力します。
をクリックし、 をクリックします。デプロイメントの進行状況を確認できます。
デプロイメントが完了したら、仮想マシン名をクリックしてインスタンスのパブリック IP アドレスを取得し、SSH を使用して接続します。
- ターミナルを開いて SSH 接続を作成し、仮想マシンに接続します。
第3章 Microsoft Azure での仮想マシンとして Red Hat Enterprise Linux イメージをデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Microsoft Azure に Red Hat Enterprise Linux 8 (RHEL 8) イメージをデプロイするには、以下の情報に従ってください。この章の内容は次のとおりです。
- イメージを選ぶ際の選択肢について
- ホストシステムおよび仮想マシン (VM) のシステム要件のリストまたは参照
- ISO イメージからカスタム仮想マシンを作成し、そのイメージを Azure にアップロードして、Azure 仮想インスタンスを起動する手順
ISO イメージからカスタム仮想マシンを作成することは可能ですが、Red Hat Image Builder 製品を使用して、特定のクラウドプロバイダーで使用するようにカスタマイズされたイメージを作成することを推奨します。Image Builder を使用すると、Azure Disk Image (VHD 形式) を作成してアップロードできます。詳細は RHEL システムイメージのカスタマイズ を参照してください。
Azure でセキュアに使用できる Red Hat 製品のリストは、Red Hat on Microsoft Azure を参照してください。
前提条件
- Red Hat カスタマーポータル のアカウントに登録している。
- Microsoft Azure アカウントに登録している。
3.1. Azure での Red Hat Enterprise Linux イメージオプション リンクのコピーリンクがクリップボードにコピーされました!
以下の表には、Microsoft Azure 上での RHEL 8 用イメージの選択肢を記載し、イメージオプションの相違点を示しています。
| イメージオプション | サブスクリプション | サンプルシナリオ | 留意事項 |
|---|---|---|---|
| Red Hat Gold Image をデプロイする | 既存の Red Hat サブスクリプションを使用する | Azure で Red Hat Gold Image を選択します。Gold Image の詳細と、Azure で Gold Image にアクセスする方法は、Red Hat Cloud Access Reference Guide を参照してください。 | このサブスクリプションには、Red Hat のコストが含まれていますが、他のインスタンスのコストは、Microsoft 社に支払うことになります。 |
| Azure に移動するカスタムイメージをデプロイする | 既存の Red Hat サブスクリプションを使用する | カスタムイメージをアップロードし、サブスクリプションを割り当てます。 | このサブスクリプションには、Red Hat のコストが含まれていますが、他のインスタンスのコストは、Microsoft 社に支払うことになります。 |
| RHEL を含む既存の Azure イメージをデプロイする | Azure イメージには、Red Hat 製品が含まれる | Azure コンソールを使用して仮想マシンを作成する際に RHEL イメージを選択するか、Azure Marketplace から仮想マシンを選択します。 | Microsoft 社に、従量課金 モデルで 1 時間ごとに支払います。このようなイメージはオンデマンドと呼ばれています。Azure は、サポート契約に基づいてオンデマンドイメージのサポートを提供します。 Red Hat は、イメージの更新を提供します。Azure により、Red Hat Update Infrastructure (RHUI) から更新を利用できるようにします。 |
3.2. ベースイメージの理解 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、事前設定されたベースイメージおよびその設定を使用する方法を説明します。
3.2.1. カスタムベースイメージの使用 リンクのコピーリンクがクリップボードにコピーされました!
仮想マシン (VM) を手動で設定するには、まずベース (スターター) となる仮想マシンイメージを作成します。続いて、設定を変更して、仮想マシンがクラウドで動作するために必要なパッケージを追加できます。イメージのアップロード後に、特定のアプリケーションに追加の設定変更を行うことができます。
RHEL のクラウドイメージを準備するには、以下のセクションの手順に従います。RHEL の Hyper-V クラウドイメージを準備するには、Hyper-V Manager から Red Hat ベースの仮想マシンの準備 を参照してください。
3.2.2. 必要なシステムパッケージ リンクのコピーリンクがクリップボードにコピーされました!
RHEL の基本イメージを作成して設定するには、ホストシステムに次のパッケージがインストールされている必要があります。
| パッケージ | リポジトリー | 説明 |
|---|---|---|
| libvirt | rhel-8-for-x86_64-appstream-rpms | プラットフォーム仮想化を管理するためのオープンソース API、デーモン、および管理ツール |
| virt-install | rhel-8-for-x86_64-appstream-rpms | 仮想マシンを構築するためのコマンドラインユーティリティー |
| libguestfs | rhel-8-for-x86_64-appstream-rpms | 仮想マシンファイルシステムにアクセスして変更するためのライブラリー |
| libguestfs-tools | rhel-8-for-x86_64-appstream-rpms |
仮想マシン用のシステム管理ツール ( |
3.2.3. Azure VM 設定 リンクのコピーリンクがクリップボードにコピーされました!
Azure 仮想マシン (VM) には次の設定が必要です。設定の一部は、最初の仮想マシン作成時に有効になります。Azure 用の仮想マシンイメージのプロビジョニング時に、その他の設定が設定されます。この手順を進める際には、この設定に留意してください。必要に応じてこの設定を参照します。
| 設定 | 推奨事項 |
|---|---|
| SSH | Azure 仮想マシンへのリモートアクセスを提供するには、SSH を有効にする必要があります。 |
| dhcp | プライマリー仮想アダプターは、dhcp (IPv4 のみ) 用に設定する必要があります。 |
| スワップ領域 |
インストール中に、オペレーティングシステム (OS) ディスクまたはストレージディスクに専用のスワップファイルまたは |
| NIC |
プライマリー仮想ネットワークアダプターとして |
| 暗号化 | カスタムイメージの場合には、Azure で完全なディスク暗号化に Network Bound Disk Encryption (NBDE) を使用します。 |
3.2.4. Azure 上の cloud-init を使用してスワップ領域を設定する リンクのコピーリンクがクリップボードにコピーされました!
Microsoft Azure 上の Red Hat Enterprise Linux (RHEL) 仮想マシン (VM) のスワップ領域を使用するには、一時ディスクにスワップパーティションを作成する必要があります。スワップパーティションを作成する場合は、オペレーティングシステム (OS) ディスクやデータ (ストレージ) ディスクではなく、一時ディスクのみを使用してください。仮想マシンを削除すると一時ディスクが削除されるため、スワップパーティションも削除されます。
cloud-init ユーティリティーを使用して、一時ディスク上にスワップパーティションをオンデマンドで設定できます。エフェメラルディスクは仮想マシンのローカルストレージですが、リソースディスクは仮想マシン自体にマウントされたストレージです。どちらのストレージタイプもデータを一時的に保存します。仮想マシンの削除、移動、停止、または障害が発生すると、一時ディスクまたはリソースディスクに保存されているデータが失われます。
永続データには一時ディスクを使用しないでください。仮想マシンが停止または移動すると、スワップパーティションを含むすべてのコンテンツが削除されます。
前提条件
-
仮想マシンに
cloud-initユーティリティーをインストールしました。 /etc/waagent.confファイルでパラメーターを設定して、Windows Azure Linux エージェント (WALA) のスワップ設定を無効にしました。ResourceDisk.Format=n ResourceDisk.EnableSwap=n ResourceDisk.SwapSizeMB=0
ResourceDisk.Format=n ResourceDisk.EnableSwap=n ResourceDisk.SwapSizeMB=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 仮想マシン上で一時ディスクが使用可能です。
手順
- VMI にログインします。
/etc/cloud/cloud.cfg.d/00-azure-swap.cfg設定ファイルを作成して編集し、次のcloud-init設定をファイルに追加します。vi /etc/cloud/cloud.cfg.d/00-azure-swap.cfg
# vi /etc/cloud/cloud.cfg.d/00-azure-swap.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow この設定:
-
GPT パーティションテーブルを使用して、一時ディスク (
ephemeral0) をパーティション分割します。 -
2 つのパーティションを作成します。66% はファイルシステム用 (
/mntにマウント)、33% はスワップスペース用です。 -
最初のパーティションを
ext4としてフォーマットし、2 番目のパーティションをswapとしてフォーマットします。 起動時に両方のパーティションの自動マウントを設定します。
注記パーティションレイアウト
[66、[33,82]]は、ディスクの 66% を最初のパーティションに割り当て、33% を 2 番目のパーティションに割り当てます。2 番目のパーティション仕様の82 は、Linux スワップパーティションタイプを示します。要件に応じてこれらのパーセンテージを調整できます。
-
GPT パーティションテーブルを使用して、一時ディスク (
設定ファイルにエラーがないか確認します。
cloud-init devel schema --config-file /etc/cloud/cloud.cfg.d/00-azure-swap.cfg
# cloud-init devel schema --config-file /etc/cloud/cloud.cfg.d/00-azure-swap.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 設定が有効な場合、コマンドはエラーを返しません。
検証
仮想マシンを再起動した後、アクティブなスワップ領域、スワップ使用量、および
/etc/fstabファイル内のスワップパーティションエントリーを確認して、スワップパーティションが設定されアクティブであることを確認します。アクティブなスワップ領域を確認します。
swapon -s
$ swapon -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には
ephemeral0.2の swap パーティションが表示されます。Filename Type Size Used Priority /dev/ephemeral0.2 partition 8388604 0 -2
Filename Type Size Used Priority /dev/ephemeral0.2 partition 8388604 0 -2Copy to Clipboard Copied! Toggle word wrap Toggle overflow スワップ使用量を確認します。
free -h
$ free -hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力では、
Swap行にスワップ領域が表示されます。total used free shared buffered/cache available Mem: 7.8Gi 1.2Gi 5.8Gi 16MiB 800MiB 6.3Gi Swap: 8.0Gi 0B 8.0Gi
total used free shared buffered/cache available Mem: 7.8Gi 1.2Gi 5.8Gi 16MiB 800MiB 6.3Gi Swap: 8.0Gi 0B 8.0GiCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/fstabファイルにスワップパーティションが存在することを確認します。grep swap /etc/fstab
$ grep swap /etc/fstabCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、スワップパーティションのエントリーが含まれる必要があります。次に例を示します。
/dev/ephemeral0.2 none swap sw,nofail,x-systemd.requires=cloud-init.service 0 0
/dev/ephemeral0.2 none swap sw,nofail,x-systemd.requires=cloud-init.service 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.5. ISO イメージからのベースイメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順は、カスタム ISO イメージ作成の手順と初期設定の要件を示しています。イメージを設定したら、このイメージを、追加の仮想マシンインスタンスを作成するためのテンプレートとして使用できます。
前提条件
- 仮想化用のホストマシンを有効にしていることを確認します。設定および手順は、RHEL 8 で仮想化を有効にする を参照してください。
手順
- Red Hat カスタマーポータル から最新の Red Hat Enterprise Linux 8 DVD ISO イメージをダウンロードします。
基本的な Red Hat Enterprise Linux 仮想マシンを作成し、起動します。手順は、仮想マシンの作成 を参照してください。
コマンドラインを使用して仮想マシンを作成する場合は、デフォルトのメモリーと CPU を仮想マシンの容量に設定するようにしてください。仮想ネットワークインターフェイスを virtio に設定します。
たとえば、次のコマンドは
rhel-9.0-x86_64-kvm.qcow2イメージを使用してkvmtest仮想マシンを作成します。virt-install \ --name kvmtest --memory 2048 --vcpus 2 \ --disk rhel-8.0-x86_64-kvm.qcow2,bus=virtio \ --import --os-variant=rhel8.0# virt-install \ --name kvmtest --memory 2048 --vcpus 2 \ --disk rhel-8.0-x86_64-kvm.qcow2,bus=virtio \ --import --os-variant=rhel8.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow Web コンソールを使用して仮想マシンを作成する場合は、Web コンソールで仮想マシンの作成 の手順を行います。以下の点に注意してください。
- 仮想マシンをすぐに起動 は選択しないでください。
- メモリー を希望のサイズに変更します。
- インストールを開始する前に、仮想ネットワークインターフェイス設定 で モデル を virtio に変更し、vCPUs を仮想マシンの容量設定に変更していることを確認します。
以下の追加インストールの選択と変更を確認します。
- 標準 RHEL オプションを使用して 最小インストール を選択します。
インストール先 で、カスタムストレージ設定 を選択します。以下の設定情報を使用して選択を行います。
- /boot に少なくとも 500 MB を確保します。ただし、1GB 以上あれば十分です。
- ファイルシステムの場合は、boot パーティションおよび root パーティションの両方に xfs、ext4、ext3 のいずれかを使用します。
-
インストール中に、OS ディスクからスワップ領域を削除します。デプロイメントの後に一時ディスク上で
cloud-initを使用してスワップ領域を設定します。
- インストール概要 画面で、ネットワークおよびホスト名 を選択します。イーサネット を オン に切り替えます。
インストール開始時に、以下を行います。
-
rootのパスワードを作成します。 - 管理者ユーザーアカウントを作成します。
-
- インストールが完了したら、仮想マシンを再起動して root アカウントにログインします。
-
rootでログインしたら、イメージを設定できます。
3.3. Microsoft Azure のカスタムベースイメージの設定 リンクのコピーリンクがクリップボードにコピーされました!
仮想マシン (VM) のカスタムベースイメージを作成し、Azure で特定の設定を使用して RHEL 8 VM をデプロイすることができます。以下のセクションでは、Azure で必要な追加の設定変更について説明します。
3.3.1. Hyper-V デバイスドライバーのインストール リンクのコピーリンクがクリップボードにコピーされました!
Microsoft は、Linux Integration Services (LIS) for Hyper-V パッケージの一部として、ネットワークおよびストレージデバイスのドライバーを提供しています。Hyper-V デバイスドライバーを Azure 仮想マシン (VM) としてプロビジョニングする前に、仮想マシンイメージへのインストールが必要になる場合があります。lsinitrd | grep hv コマンドを使用して、ドライバーがインストールされていることを確認します。
手順
以下の
grepコマンドを実行して、必要な Hyper-V デバイスドライバーがインストールされているかどうかを確認します。lsinitrd | grep hv
# lsinitrd | grep hvCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例では、必要なドライバーがすべてインストールされています。
lsinitrd | grep hv
# lsinitrd | grep hv drwxr-xr-x 2 root root 0 Aug 12 14:21 usr/lib/modules/3.10.0-932.el8.x86_64/kernel/drivers/hv -rw-r--r-- 1 root root 31272 Aug 11 08:45 usr/lib/modules/3.10.0-932.el8.x86_64/kernel/drivers/hv/hv_vmbus.ko.xz -rw-r--r-- 1 root root 25132 Aug 11 08:46 usr/lib/modules/3.10.0-932.el8.x86_64/kernel/drivers/net/hyperv/hv_netvsc.ko.xz -rw-r--r-- 1 root root 9796 Aug 11 08:45 usr/lib/modules/3.10.0-932.el8.x86_64/kernel/drivers/scsi/hv_storvsc.ko.xzCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのドライバーがインストールされていない場合は、残りの手順を完了してください。
注記hv_vmbusドライバーは、すでにこの環境に追加されている可能性があります。このドライバーが存在する場合でも、次の手順を実行してください。-
/etc/dracut.conf.dにhv.confという名前のファイルを作成します。 以下のドライバーパラメーターを
dracut.confファイルに追加します。add_drivers+=" hv_vmbus " add_drivers+=" hv_netvsc " add_drivers+=" hv_storvsc " add_drivers+=" nvme "
add_drivers+=" hv_vmbus " add_drivers+=" hv_netvsc " add_drivers+=" hv_storvsc " add_drivers+=" nvme "Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記引用符の前後に空白に注意してください (例:
add_drivers+=" hv_VMBus ")。これにより、環境内にその他の Hyper-V ドライバーが存在している場合に、一意のドライバーが読み込まれます。initramfsイメージを再生成します。dracut -f -v --regenerate-all
# dracut -f -v --regenerate-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
- マシンを再起動します。
-
lsinitrd | grep hvコマンドを実行して、ドライバーがインストールされていることを確認します。
3.3.2. Microsoft Azure のデプロイメントに必要な設定変更を行う リンクのコピーリンクがクリップボードにコピーされました!
カスタムベースイメージを Azure にデプロイする前に、追加の設定変更を実行して、仮想マシン (VM) が Azure で適切に動作できるようにする必要があります。
手順
- VMI にログインします。
仮想マシンを登録し、Red Hat Enterprise Linux 8 リポジトリーを有効にします。
subscription-manager register
# subscription-manager register Installed Product Current Status: Product Name: Red Hat Enterprise Linux for x86_64 Status: SubscribedCopy to Clipboard Copied! Toggle word wrap Toggle overflow cloud-initおよびhyperv-daemonsパッケージがインストールされていることを確認します。yum install cloud-init hyperv-daemons -y
# yum install cloud-init hyperv-daemons -yCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure サービスとの統合に必要な
cloud-init設定ファイルを作成します。Hyper-V Data Exchange Service (KVP) へのログ記録を有効にするには、
/etc/cloud/cloud.cfg.d/10-azure-kvp.cfg設定ファイルを作成し、そのファイルに次の行を追加します。reporting: logging: type: log telemetry: type: hypervreporting: logging: type: log telemetry: type: hypervCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure をデータソースとして追加するには、
/etc/cloud/cloud.cfg.d/91-azure_datasource.cfg設定ファイルを作成し、そのファイルに次の行を追加します。datasource_list: [ Azure ] datasource: Azure: apply_network_config: Falsedatasource_list: [ Azure ] datasource: Azure: apply_network_config: FalseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 一時ディスク上のスワップ領域を設定するには、
/etc/cloud/cloud.cfg.d/00-azure-swap.cfg 設定ファイルを作成し、次の行を追加します。重要エフェメラルディスクは一時的なストレージです。したがって、仮想マシンが割り当て解除または移動されると、スワップ領域を含むそこに保存されているデータは失われます。一時ディスクは、スワップ領域などの一時データにのみ使用してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
特定のカーネルモジュールが自動的にロードされないようにするには、
/etc/modprobe.d/blocklist.confファイルを編集または作成し、そのファイルに次の行を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow udevネットワークデバイスルールを変更します。次の永続的なネットワークデバイスルールが存在する場合は削除します。
rm -f /etc/udev/rules.d/70-persistent-net.rules rm -f /etc/udev/rules.d/75-persistent-net-generator.rules rm -f /etc/udev/rules.d/80-net-name-slot-rules
# rm -f /etc/udev/rules.d/70-persistent-net.rules # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules # rm -f /etc/udev/rules.d/80-net-name-slot-rulesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure で Accelerated Networking が意図したとおりに動作するようにするには、新しいネットワークデバイスルール
/etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rulesを作成し、次の行を追加します。SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
sshdサービスが自動的に起動するように設定します。systemctl enable sshd systemctl is-enabled sshd
# systemctl enable sshd # systemctl is-enabled sshdCopy to Clipboard Copied! Toggle word wrap Toggle overflow カーネルブートパラメーターを変更します。
/etc/default/grubファイルを開き、GRUB_TIMEOUT行に次の値があることを確認します。GRUB_TIMEOUT=10
GRUB_TIMEOUT=10Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のオプションがある場合は、
GRUB_CMDLINE_LINUX行の末尾から削除します。rhgb quiet
rhgb quietCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/default/grubファイルに、指定されたすべてのオプションを含む次の行が含まれていることを確認します。GRUB_CMDLINE_LINUX="loglevel=3 crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300" GRUB_TIMEOUT_STYLE=countdown GRUB_TERMINAL="serial console" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
GRUB_CMDLINE_LINUX="loglevel=3 crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300" GRUB_TIMEOUT_STYLE=countdown GRUB_TERMINAL="serial console" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記HDD 上でワークロードを実行していない場合は、
GRUB_CMDLINE_LINUX行の末尾にelevator=noneを追加します。これにより、I/O スケジューラーがnoneに設定され、SSD ベースのシステムでの I/O パフォーマンスが向上します。grub.cfgファイルを再生成します。BIOS ベースのマシンの場合:
grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow UEFI ベースのマシンの場合:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow システムが
grub.cfgにデフォルト以外の場所を使用している場合は、それに応じてコマンドを調整してください。
Windows Azure Linux Agent (
WALinuxAgent) を設定します。WALinuxAgentパッケージをインストールして有効にします。yum install WALinuxAgent -y systemctl enable waagent
# yum install WALinuxAgent -y # systemctl enable waagentCopy to Clipboard Copied! Toggle word wrap Toggle overflow WALinuxAgent でスワップ設定を無効にするには (
cloud-initを使用してスワップを管理する場合に必要)、/etc/waagent.confファイルで次の行を編集します。Provisioning.DeleteRootPassword=y ResourceDisk.Format=n ResourceDisk.EnableSwap=n ResourceDisk.SwapSizeMB=0
Provisioning.DeleteRootPassword=y ResourceDisk.Format=n ResourceDisk.EnableSwap=n ResourceDisk.SwapSizeMB=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記WALinuxAgent でスワップを無効にすると、
cloud-init が一時ディスク上のスワップ設定を管理できるようになります。
Azure プロビジョニング用に VM を準備します。
Red Hat Subscription Manager から仮想マシンの登録を解除します。
subscription-manager unregister
# subscription-manager unregisterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 既存のプロビジョニングの詳細をクリーンアップします。
waagent -force -deprovision
# waagent -force -deprovisionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このコマンドは警告を生成しますが、Azure が VM のプロビジョニングを自動的に処理するため、これは想定されています。
シェル履歴をクリーンアップし、仮想マシンをシャットダウンします。
export HISTSIZE=0 poweroff
# export HISTSIZE=0 # poweroffCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4. イメージの固定 VHD 形式への変換 リンクのコピーリンクがクリップボードにコピーされました!
すべての Microsoft Azure 仮想マシンイメージは、固定 VHD 形式である必要があります。イメージは、VHD に変換する前に 1 MB の境界で調整する必要があります。イメージを qcow2 から固定 VHD 形式に変換し、イメージを整列するには、次の手順を参照してください。イメージを変換したら、Azure にアップロードできます。
手順
イメージを
qcow2形式からraw形式に変換します。qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.raw
$ qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.rawCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容でシェルスクリプトを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトを実行します。この例では
align.shという名前を使用します。sh align.sh <image-xxx>.raw
$ sh align.sh <image-xxx>.rawCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Your image is already aligned. You do not need to resize. (イメージはすでに整列しています。サイズを変更する必要はありません。)と表示されたら、次の手順に進みます。
- 値が表示されると、イメージは調整されません。
次のコマンドを使用して、ファイルを固定
VHD形式に変換します。サンプルでは qemu-img バージョン 2.12.0 を使用します。
qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
$ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変換されると、
VHDファイルは Azure にアップロードする準備が整います。rawイメージが整列していない場合は、以下の手順で整列させてください。検証スクリプトの実行時に表示される丸め値を使用して、
rawファイルのサイズを変更します。qemu-img resize -f raw <image-xxx>.raw <rounded-value>
$ qemu-img resize -f raw <image-xxx>.raw <rounded-value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow rawイメージファイルをVHD形式に変換します。サンプルでは qemu-img バージョン 2.12.0 を使用します。
qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
$ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変換されると、
VHDファイルは Azure にアップロードする準備が整います。
3.5. Azure CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Azure コマンドラインインターフェイス (Azure CLI 2.1) をインストールするには、以下の手順を実行します。Azure CLI 2.1 は、Azure で仮想マシンを作成し、管理する Python ベースのユーティリティーです。
前提条件
- Azure CLI を使用するための Microsoft Azure のアカウントがある。
- Azure CLI をインストールするために Python 3.x がインストールされている。
手順
Microsoft リポジトリーキーをインポートします。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.ascCopy to Clipboard Copied! Toggle word wrap Toggle overflow ローカル Azure CLI リポジトリーエントリーを作成します。
sudo sh -c 'echo -e "[azure-cli]\nname=Azure CLI\nbaseurl=https://packages.microsoft.com/yumrepos/azure-cli\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/azure-cli.repo'
$ sudo sh -c 'echo -e "[azure-cli]\nname=Azure CLI\nbaseurl=https://packages.microsoft.com/yumrepos/azure-cli\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/azure-cli.repo'Copy to Clipboard Copied! Toggle word wrap Toggle overflow yumパッケージインデックスを更新します。yum check-update
$ yum check-updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow Python バージョンを確認 (
python --version) し、必要に応じて Python 3.x をインストールします。sudo yum install python3
$ sudo yum install python3Copy to Clipboard Copied! Toggle word wrap Toggle overflow Azure CLI をインストールします。
sudo yum install -y azure-cli
$ sudo yum install -y azure-cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure CLI を実行します。
az
$ azCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6. Azure でのリソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
VHD ファイルをアップロードして Azure イメージを作成する前に、以下の手順に従って、必要な Azure リソースを作成します。
手順
Azure でシステムを認証し、ログインします。
az login
$ az loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記お使いの環境でブラウザーが利用可能な場合、CLI は Azure サインインページでブラウザーを開きます。詳細およびオプションは、Sign in with Azure CLI を参照してください。
Azure リージョンにリソースグループを作成します。
az group create --name <resource-group> --location <azure-region>
$ az group create --name <resource-group> --location <azure-region>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージアカウントを作成します。有効な SKU 値の詳細は、SKU Types を参照してください。
az storage account create -l <azure-region> -n <storage-account-name> -g <resource-group> --sku <sku_type>
$ az storage account create -l <azure-region> -n <storage-account-name> -g <resource-group> --sku <sku_type>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージアカウントの接続文字列を取得します。
az storage account show-connection-string -n <storage-account-name> -g <resource-group>
$ az storage account show-connection-string -n <storage-account-name> -g <resource-group>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
az storage account show-connection-string -n azrhelclistact -g azrhelclirsgrp
[clouduser@localhost]$ az storage account show-connection-string -n azrhelclistact -g azrhelclirsgrp { "connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...==" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 接続文字列をコピーし、次のコマンドに貼り付けて、接続文字列をエクスポートします。この文字列は、システムをストレージアカウントに接続します。
export AZURE_STORAGE_CONNECTION_STRING="<storage-connection-string>"
$ export AZURE_STORAGE_CONNECTION_STRING="<storage-connection-string>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="
[clouduser@localhost]$ export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージコンテナーを作成します。
az storage container create -n <container-name>
$ az storage container create -n <container-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
az storage container create -n azrhelclistcont
[clouduser@localhost]$ az storage container create -n azrhelclistcont { "created": true }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想ネットワークを作成します。
az network vnet create -g <resource group> --name <vnet-name> --subnet-name <subnet-name>
$ az network vnet create -g <resource group> --name <vnet-name> --subnet-name <subnet-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7. Azure イメージのアップロードおよび作成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、VHD ファイルをコンテナーにアップロードし、Azure カスタムイメージを作成します。
システムを再起動すると、エクスポートしたストレージ接続文字列は維持されません。以下の手順でいずれかのコマンドが失敗した場合は、再び接続文字列をエクスポートしてください。
手順
ストレージコンテナーに
VHDファイルをアップロードします。これには数分かかる場合があります。ストレージコンテナーのリストを表示するには、az storage container listを実行します。az storage blob upload \ --account-name <storage-account-name> --container-name <container-name> \ --type page --file <path-to-vhd> --name <image-name>.vhd$ az storage blob upload \ --account-name <storage-account-name> --container-name <container-name> \ --type page --file <path-to-vhd> --name <image-name>.vhdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
az storage blob upload \ --account-name azrhelclistact --container-name azrhelclistcont \ --type page --file rhel-image-{ProductNumber}.vhd --name rhel-image-{ProductNumber}.vhd[clouduser@localhost]$ az storage blob upload \ --account-name azrhelclistact --container-name azrhelclistcont \ --type page --file rhel-image-{ProductNumber}.vhd --name rhel-image-{ProductNumber}.vhd Percent complete: %100.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow アップロードした
VHDファイルの URL を以下の手順で取得します。az storage blob url -c <container-name> -n <image-name>.vhd
$ az storage blob url -c <container-name> -n <image-name>.vhdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
az storage blob url -c azrhelclistcont -n rhel-image-8.vhd "https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd"
$ az storage blob url -c azrhelclistcont -n rhel-image-8.vhd "https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Azure カスタムイメージを作成します。
az image create -n <image-name> -g <resource-group> -l <azure-region> --source <URL> --os-type linux
$ az image create -n <image-name> -g <resource-group> -l <azure-region> --source <URL> --os-type linuxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記仮想マシンのハイパーバイザーのデフォルトの生成は V1 です。必要に応じて、
--hyper-v-generation V2オプションを使用して V2 ハイパーバイザーの世代を指定できます。第 2 世代の仮想マシンは、UEFI ベースのブートアーキテクチャーを使用します。第 2 世代の仮想マシンの詳細は、Support for generation 2 VMs on Azure を参照してください。このコマンドは、Only blobs formatted as VHDs can be imported(VHD としてフォーマットされたブロブのみがインポート可能) というエラーを返す場合があります。このエラーは、イメージが
VHDに変換される前に最も近い 1 MB の境界に合致していないことを意味します。以下に例を示します。
az image create -n rhel8 -g azrhelclirsgrp2 -l southcentralus --source https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd --os-type linux
$ az image create -n rhel8 -g azrhelclirsgrp2 -l southcentralus --source https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd --os-type linuxCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.8. Azure での仮想マシンの作成および起動 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、イメージから管理ディスクの Azure 仮想マシンを作成するための最小限のコマンドオプションを説明します。追加オプションは、az vm create を参照してください。
手順
次のコマンドを実行して仮想マシンを作成します。
az vm create \ -g <resource-group> -l <azure-region> -n <vm-name> \ --vnet-name <vnet-name> --subnet <subnet-name> --size Standard_A2 \ --os-disk-name <simple-name> --admin-username <administrator-name> \ --generate-ssh-keys --image <path-to-image>$ az vm create \ -g <resource-group> -l <azure-region> -n <vm-name> \ --vnet-name <vnet-name> --subnet <subnet-name> --size Standard_A2 \ --os-disk-name <simple-name> --admin-username <administrator-name> \ --generate-ssh-keys --image <path-to-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記--generate-ssh-keysオプションを指定すると、秘密鍵と公開鍵のペアが作成されます。秘密鍵ファイルと公開鍵ファイルが、システムの~/.sshに作成されます。公開鍵は、--admin-usernameオプションで指定したユーザーの仮想マシン上のauthorized_keysファイルに追加されます。詳細は、その他認証方法 を参照してください。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow publicIpAddressを書き留めます。以下の手順で仮想マシンにログインするには、このアドレスが必要です。SSH セッションを開始し、仮想マシンにログインします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ユーザープロンプトが表示された場合は、Azure VM が正常にデプロイされます。
これで、Microsoft Azure ポータルにアクセスして、リソースの監査ログとプロパティーを確認できます。このポータルでは、仮想マシンを直接管理できます。複数の仮想マシンを管理している場合は、Azure CLI を使用する必要があります。Azure CLI では、Azure 内のリソースに強力なインターフェイスを利用できます。Microsoft Azure で仮想マシンを管理するために使用するコマンドの詳細は、CLI で az --help を実行するか、Azure CLI コマンドリファレンス を参照してください。
3.9. その他認証方法 リンクのコピーリンクがクリップボードにコピーされました!
セキュリティーを強化するために推奨されますが、Azure 生成のキーペアを使用する必要はありません。以下の例は、SSH 認証用の 2 つの方法を示しています。
例 1: 次のコマンドオプションは、公開鍵ファイルを生成せずに新しい仮想マシンをプロビジョニングします。これにより、パスワードを使用した SSH 認証が許可されます。
az vm create \
-g <resource-group> -l <azure-region> -n <vm-name> \
--vnet-name <vnet-name> --subnet <subnet-name> --size Standard_A2 \
--os-disk-name <simple-name> --authentication-type password \
--admin-username <administrator-name> --admin-password <ssh-password> --image <path-to-image>
$ az vm create \
-g <resource-group> -l <azure-region> -n <vm-name> \
--vnet-name <vnet-name> --subnet <subnet-name> --size Standard_A2 \
--os-disk-name <simple-name> --authentication-type password \
--admin-username <administrator-name> --admin-password <ssh-password> --image <path-to-image>
ssh <admin-username>@<public-ip-address>
$ ssh <admin-username>@<public-ip-address>
例 2: これらのコマンドオプションにより、新しい Azure 仮想マシンがプロビジョニングされ、既存の公開鍵ファイルを使用した SSH 認証が許可されます。
az vm create \
-g <resource-group> -l <azure-region> -n <vm-name> \
--vnet-name <vnet-name> --subnet <subnet-name> --size Standard_A2 \
--os-disk-name <simple-name> --admin-username <administrator-name> \
--ssh-key-value <path-to-existing-ssh-key> --image <path-to-image>
$ az vm create \
-g <resource-group> -l <azure-region> -n <vm-name> \
--vnet-name <vnet-name> --subnet <subnet-name> --size Standard_A2 \
--os-disk-name <simple-name> --admin-username <administrator-name> \
--ssh-key-value <path-to-existing-ssh-key> --image <path-to-image>
ssh -i <path-to-existing-ssh-key> <admin-username>@<public-ip-address>
$ ssh -i <path-to-existing-ssh-key> <admin-username>@<public-ip-address>
3.10. Red Hat サブスクリプションの割り当て リンクのコピーリンクがクリップボードにコピーされました!
subscription-manager コマンドを使用すると、Red Hat サブスクリプションを登録して RHEL インスタンスに割り当てることができます。
前提条件
- サブスクリプションが有効になっている。
手順
システムを登録します。
subscription-manager register
# subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow サブスクリプションを割り当てます。
- アクティベーションキーを使用して、サブスクリプションを割り当てることができます。詳細は、カスタマーポータルのアクティベーションキーを作成する を参照してください。
- また、サブスクリプションプールの ID (プール ID) を使用して、サブスクリプションを手動でアタッチすることもできます。ホストベースのサブスクリプションのハイパーバイザーへの割り当て を参照してください。
オプション: Red Hat Hybrid Cloud Console でインスタンスに関するさまざまなシステムメトリクスを収集するには、インスタンスを Red Hat Lightspeed に登録できます。
insights-client register --display-name <display_name_value>
# insights-client register --display-name <display_name_value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Lightspeed の詳細な設定については、Red Hat Lightspeed のクライアント設定ガイド を参照してください。
3.11. Azure Gold Image の自動登録の設定 リンクのコピーリンクがクリップボードにコピーされました!
Micorsoft Azure 上に RHEL 8 の仮想マシン (VM) をより早く、より快適にデプロイするために、RHEL 8 の Gold Image を Red Hat Subscription Manager(RHSM) に自動的に登録するように設定することができます。
前提条件
RHEL 8 Gold Image は Microsoft Azure で利用できます。手順については、Azure でのゴールドイメージの使用 を参照してください。
注記Microsoft Azure アカウントは、一度に 1 つの Red Hat アカウントにしか割り当てできません。そのため、Red Hat アカウントにアタッチする前に、他のユーザーが Azure アカウントへのアクセスを必要としていないことを確認してください。
手順
- Gold Image を使用して、Azure インスタンスに RHEL 8 仮想マシンを作成します。手順については、Creating and starting the VM in Azure を参照してください。
- 作成した仮想マシンを起動します。
RHEL 8 仮想マシンで、自動登録を有効にします。
subscription-manager config --rhsmcertd.auto_registration=1
# subscription-manager config --rhsmcertd.auto_registration=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow rhsmcertdサービスを有効にします。systemctl enable rhsmcertd.service
# systemctl enable rhsmcertd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow redhat.repoリポジトリーを無効にします。subscription-manager config --rhsm.manage_repos=0
# subscription-manager config --rhsm.manage_repos=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 仮想マシンの電源を切り、Azure 上で管理イメージとして保存します。手順については、How to create a managed image of a virtual machine or VHD を参照してください。
- 管理イメージを使用して仮想マシンを作成します。自動的に RHSM に登録されます。
検証
上記の手順で作成した RHEL 8 仮想マシンで、
subscription-manager identityコマンドを実行して、システムが RHSM に登録されていることを確認します。登録に成功したシステムでは、システムの UUID が表示されます。以下に例を示します。subscription-manager identity
# subscription-manager identity system identity: fdc46662-c536-43fb-a18a-bbcb283102b7 name: 192.168.122.222 org name: 6340056 org ID: 6340056Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.12. Microsoft Azure インスタンス用の kdump の設定 リンクのコピーリンクがクリップボードにコピーされました!
RHEL インスタンスでカーネルクラッシュが発生した場合は、kdump サービスを使用してクラッシュの原因を特定できます。インスタンスカーネルが予期せず終了したときに kdump が正しく設定されていれば、kdump はクラッシュダンプまたは vmcore ファイルと呼ばれるダンプファイルを生成します。その後、ファイルを分析してクラッシュが発生した原因を見つけ、システムをデバッグできます。
kdump を Microsoft Azure インスタンスで動作させるには、仮想マシンのサイズと RHEL バージョンに合わせて、kdump の予約メモリーと vmcore ターゲットの調整が必要になる場合があります。
前提条件
kdumpをサポートする Microsoft Azure 環境を使用している。- Standard_DS2_v2 VM
- Standard NV16as v4
- Standard M416-208s v2
- Standard M416ms v2
- システムの root 権限がある。
-
システムが、
kdumpの設定とターゲットの要件を満たしている。詳細は 対応している kdump 設定とターゲット を参照してください。
手順
kdumpおよびその他の必要なパッケージがシステムにインストールされていることを確認します。dnf install kexec-tools
# dnf install kexec-toolsCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラッシュダンプファイルのデフォルトの場所が
kdump設定ファイルで設定されており、/var/crashファイルが使用可能であることを確認します。grep -v "#" /etc/kdump.conf
# grep -v "#" /etc/kdump.conf path /var/crash core_collector makedumpfile -l --message-level 7 -d 31Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 仮想マシン (VM) インスタンスのサイズとバージョンに基づいて、
/mnt/crashなどのより多くの空き領域を持つvmcoreターゲットが必要かどうかを判断します。これを行うには、次の表を使用します。Expand 表3.4 Azure 上の GEN2 VM でテストされた仮想マシンのサイズ RHEL バージョン Standard DS1 v2 (1 vCPU、3.5GiB) Standard NV16as v4 (16 vCPU、56 GiB) Standard M416-208s v2 (208 vCPU、5700 GiB) Standard M416ms v2 (416 vCPU、11400 GiB) RHEL 8.3 - RHEL 8.6
デフォルト
デフォルト
Target
Target
RHEL 8.7 - RHEL 8.9
デフォルト
デフォルト
Target
ターゲット + メモリー
-
Default は、デフォルトのメモリーとデフォルトの
kdumpターゲットでkdumpが期待どおりに動作することを示します。デフォルトのkdumpターゲットは/var/crashです。 -
Target は、
kdumpがデフォルトのメモリーで期待どおりに動作することを示します。ただし、より多くの空き領域を持つターゲットを割り当てる必要がある場合があります。 -
ターゲット + メモリーは、
kdump がデフォルトよりも多くのメモリーと、より多くの空き領域を持つターゲットを必要とすることを示します。
-
Default は、デフォルトのメモリーとデフォルトの
インスタンスで必要な場合は、
/mnt/crashなど、より多くの空き領域を持つターゲットを割り当てます。これを行うには、/etc/kdump.confファイルを編集し、デフォルトのパスを置き換えます。sed s/"path /var/crash"/"path /mnt/crash"
$ sed s/"path /var/crash"/"path /mnt/crash"Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプションパス
/mnt/crashは、kdumpがクラッシュダンプファイルを保存するファイルシステムへのパスを表します。クラッシュダンプファイルを別のパーティションに書き込む、デバイスに直接書き込む、リモートマシンに保存するなどのその他のオプションは、kdump ターゲットの設定 を参照してください。
インスタンスで必要な場合は、それぞれのブートパラメーターを追加して、クラッシュカーネルのサイズを、
kdumpがvmcoreをキャプチャーするのに十分なサイズまで増やします。たとえば、Standard M416-208s v2 仮想マシンの場合、十分なサイズは 512 MB なので、ブートパラメーターは
crashkernel=512Mになります。GRUB 設定ファイルを開き、ブートパラメーター行に
crashkernel=512Mを追加します。vi /etc/default/grub
# vi /etc/default/grub GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300 crashkernel=512M"Copy to Clipboard Copied! Toggle word wrap Toggle overflow GRUB 設定ファイルを更新します。
grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 仮想マシンを再起動して、仮想マシンに個別のカーネルクラッシュメモリーを割り当てます。
検証
kdumpがアクティブで実行されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第4章 Microsoft Azure での Red Hat High Availability クラスターの設定 リンクのコピーリンクがクリップボードにコピーされました!
ノード障害が発生した場合に RHEL ノードがワークロードを自動的に再分配するクラスターを作成するには、Red Hat High Availability Add-On を使用します。このような高可用性 (HA) クラスターは、Microsoft Azure などのパブリッククラウドプラットフォームでもホストできます。Azure 上での RHEL HA クラスターの作成は、特定の詳細を除けば、非クラウド環境での HA クラスターの作成と同様です。
Azure 仮想マシンインスタンスをクラスターノードとして使用して Azure 上に Red Hat HA クラスターを設定するには、以下のセクションを参照してください。これらのセクションの手順では、Azure のカスタムイメージを作成していることを前提としています。クラスターに使用する RHEL 8 イメージを取得するオプションは複数あります。Azure のイメージオプションに関する詳細は、Azure における Red Hat Enterprise Linux Image オプションを参照してください。
次のセクションで説明します。
- Azure 用の環境を設定するための前提手順。環境を設定したら、Azure VM インスタンスを作成して設定できます。
- 個々のノードを Azure 上の HA ノードのクラスターに変換する、HA クラスターの作成に固有の手順。これには、各クラスターノードに高可用性パッケージおよびエージェントをインストールし、フェンシングを設定し、Azure ネットワークリソースエージェントをインストールする手順が含まれます。
前提条件
- Red Hat カスタマーポータル のアカウントにサインアップします。
- 管理者権限で Microsoft Azure アカウント にサインアップします。
- Azure コマンドラインインターフェイス (CLI) をインストールする必要があります。詳細は、Azure CLI のインストール を参照してください。
4.1. パブリッククラウドプラットフォームで高可用性クラスターを使用する利点 リンクのコピーリンクがクリップボードにコピーされました!
高可用性 (HA) クラスターは、特定のワークロードを実行するためにリンクされた一連のコンピューター (ノード と呼ばれます) です。HA クラスターの目的は、ハードウェアまたはソフトウェア障害が発生した場合に備えて、冗長性を提供することです。HA クラスター内のノードに障害が発生しても、Pacemaker クラスターリソースマネージャーがワークロードを他のノードに分散するため、クラスター上で実行されているサービスに顕著なダウンタイムが発生することはありません。
HA クラスターはパブリッククラウドプラットフォームで実行することもできます。この場合、クラウド内の仮想マシン (VM) インスタンスを個々のクラスターノードとして使用します。パブリッククラウドプラットフォームで HA クラスターを使用すると、次の利点があります。
- 可用性の向上: VM に障害が発生した場合、ワークロードがすぐに他のノードに再分散されるため、実行中のサービスが中断されません。
- スケーラビリティー: 需要が高いときに追加のノードを起動し、需要が低いときにノードを停止することができます。
- 費用対効果: 従量課金制の料金設定では、実行中のノードに対して料金を支払うだけで済みます。
- 管理の簡素化: 一部のパブリッククラウドプラットフォームでは、HA クラスターの設定を容易にする管理インターフェイスが提供されています。
Red Hat Enterprise Linux (RHEL) システムで HA を有効にするために、Red Hat は High Availability Add-On を提供しています。High Availability Add-On は、RHEL システム上で HA クラスターを作成するために必要なすべてのコンポーネントを提供します。コンポーネントには、高可用性サービス管理ツールとクラスター管理ツールが含まれます。
4.2. Azure でのリソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
リージョン、リソースグループ、ストレージアカウント、仮想ネットワーク、および可用性セットを作成するには、以下の手順を実施します。Microsoft Azure でクラスターをセットアップするには、これらのリソースが必要です。
手順
Azure でシステムを認証し、ログインします。
az login
$ az loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記お使いの環境でブラウザーが利用可能な場合、CLI は Azure サインインページでブラウザーを開きます。
以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Azure リージョンにリソースグループを作成します。
az group create --name resource-group --location azure-region
$ az group create --name resource-group --location azure-regionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージアカウントを作成します。
az storage account create -l azure-region -n storage-account-name -g resource-group --sku sku_type --kind StorageV2
$ az storage account create -l azure-region -n storage-account-name -g resource-group --sku sku_type --kind StorageV2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージアカウントの接続文字列を取得します。
az storage account show-connection-string -n storage-account-name -g resource-group
$ az storage account show-connection-string -n storage-account-name -g resource-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
az storage account show-connection-string -n azrhelclistact -g azrhelclirsgrp
[clouduser@localhost]$ az storage account show-connection-string -n azrhelclistact -g azrhelclirsgrp { "connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...==" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 接続文字列をコピーし、次のコマンドに貼り付けて、接続文字列をエクスポートします。この文字列は、システムをストレージアカウントに接続します。
export AZURE_STORAGE_CONNECTION_STRING="storage-connection-string"
$ export AZURE_STORAGE_CONNECTION_STRING="storage-connection-string"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="
[clouduser@localhost]$ export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージコンテナーを作成します。
az storage container create -n container-name
$ az storage container create -n container-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
az storage container create -n azrhelclistcont
[clouduser@localhost]$ az storage container create -n azrhelclistcont { "created": true }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想ネットワークを作成します。すべてのクラスターノードが同じ仮想ネットワークにある必要があります。
az network vnet create -g resource group --name vnet-name --subnet-name subnet-name
$ az network vnet create -g resource group --name vnet-name --subnet-name subnet-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可用性セットを作成します。すべてのクラスターノードは同じ可用性セットにある必要があります。
az vm availability-set create --name MyAvailabilitySet --resource-group MyResourceGroup
$ az vm availability-set create --name MyAvailabilitySet --resource-group MyResourceGroupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. 高可用性に必要なシステムパッケージ リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Red Hat Enterprise Linux を使用して Azure HA 用の仮想マシンイメージを作成していることを前提としています。この手順を正常に行うには、以下のパッケージをインストールする必要があります。
| パッケージ | リポジトリー | 説明 |
|---|---|---|
| libvirt | rhel-8-for-x86_64-appstream-rpms | プラットフォーム仮想化を管理するためのオープンソース API、デーモン、および管理ツール |
| virt-install | rhel-8-for-x86_64-appstream-rpms | 仮想マシンを構築するためのコマンドラインユーティリティー |
| libguestfs | rhel-8-for-x86_64-appstream-rpms | 仮想マシンファイルシステムにアクセスして変更するためのライブラリー |
| libguestfs-tools | rhel-8-for-x86_64-appstream-rpms |
仮想マシン用のシステム管理ツール ( |
4.4. Azure VM 設定 リンクのコピーリンクがクリップボードにコピーされました!
Azure 仮想マシン (VM) には次の設定が必要です。設定の一部は、最初の仮想マシン作成時に有効になります。Azure 用の仮想マシンイメージのプロビジョニング時に、その他の設定が設定されます。この手順を進める際には、この設定に留意してください。必要に応じてこの設定を参照します。
| 設定 | 推奨事項 |
|---|---|
| SSH | Azure 仮想マシンへのリモートアクセスを提供するには、SSH を有効にする必要があります。 |
| dhcp | プライマリー仮想アダプターは、dhcp (IPv4 のみ) 用に設定する必要があります。 |
| スワップ領域 |
インストール中に、オペレーティングシステム (OS) ディスクまたはストレージディスクに専用のスワップファイルまたは |
| NIC |
プライマリー仮想ネットワークアダプターとして |
| 暗号化 | カスタムイメージの場合には、Azure で完全なディスク暗号化に Network Bound Disk Encryption (NBDE) を使用します。 |
4.5. Hyper-V デバイスドライバーのインストール リンクのコピーリンクがクリップボードにコピーされました!
Microsoft は、Linux Integration Services (LIS) for Hyper-V パッケージの一部として、ネットワークおよびストレージデバイスのドライバーを提供しています。Hyper-V デバイスドライバーを Azure 仮想マシン (VM) としてプロビジョニングする前に、仮想マシンイメージへのインストールが必要になる場合があります。lsinitrd | grep hv コマンドを使用して、ドライバーがインストールされていることを確認します。
手順
以下の
grepコマンドを実行して、必要な Hyper-V デバイスドライバーがインストールされているかどうかを確認します。lsinitrd | grep hv
# lsinitrd | grep hvCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例では、必要なドライバーがすべてインストールされています。
lsinitrd | grep hv
# lsinitrd | grep hv drwxr-xr-x 2 root root 0 Aug 12 14:21 usr/lib/modules/3.10.0-932.el8.x86_64/kernel/drivers/hv -rw-r--r-- 1 root root 31272 Aug 11 08:45 usr/lib/modules/3.10.0-932.el8.x86_64/kernel/drivers/hv/hv_vmbus.ko.xz -rw-r--r-- 1 root root 25132 Aug 11 08:46 usr/lib/modules/3.10.0-932.el8.x86_64/kernel/drivers/net/hyperv/hv_netvsc.ko.xz -rw-r--r-- 1 root root 9796 Aug 11 08:45 usr/lib/modules/3.10.0-932.el8.x86_64/kernel/drivers/scsi/hv_storvsc.ko.xzCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのドライバーがインストールされていない場合は、残りの手順を完了してください。
注記hv_vmbusドライバーは、すでにこの環境に追加されている可能性があります。このドライバーが存在する場合でも、次の手順を実行してください。-
/etc/dracut.conf.dにhv.confという名前のファイルを作成します。 以下のドライバーパラメーターを
dracut.confファイルに追加します。add_drivers+=" hv_vmbus " add_drivers+=" hv_netvsc " add_drivers+=" hv_storvsc " add_drivers+=" nvme "
add_drivers+=" hv_vmbus " add_drivers+=" hv_netvsc " add_drivers+=" hv_storvsc " add_drivers+=" nvme "Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記引用符の前後に空白に注意してください (例:
add_drivers+=" hv_VMBus ")。これにより、環境内にその他の Hyper-V ドライバーが存在している場合に、一意のドライバーが読み込まれます。initramfsイメージを再生成します。dracut -f -v --regenerate-all
# dracut -f -v --regenerate-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
- マシンを再起動します。
-
lsinitrd | grep hvコマンドを実行して、ドライバーがインストールされていることを確認します。
4.6. Microsoft Azure のデプロイメントに必要な設定変更を行う リンクのコピーリンクがクリップボードにコピーされました!
カスタムベースイメージを Azure にデプロイする前に、追加の設定変更を実行して、仮想マシン (VM) が Azure で適切に動作できるようにする必要があります。
手順
- VMI にログインします。
仮想マシンを登録し、Red Hat Enterprise Linux 8 リポジトリーを有効にします。
subscription-manager register
# subscription-manager register Installed Product Current Status: Product Name: Red Hat Enterprise Linux for x86_64 Status: SubscribedCopy to Clipboard Copied! Toggle word wrap Toggle overflow cloud-initおよびhyperv-daemonsパッケージがインストールされていることを確認します。yum install cloud-init hyperv-daemons -y
# yum install cloud-init hyperv-daemons -yCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure サービスとの統合に必要な
cloud-init設定ファイルを作成します。Hyper-V Data Exchange Service (KVP) へのログ記録を有効にするには、
/etc/cloud/cloud.cfg.d/10-azure-kvp.cfg設定ファイルを作成し、そのファイルに次の行を追加します。reporting: logging: type: log telemetry: type: hypervreporting: logging: type: log telemetry: type: hypervCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure をデータソースとして追加するには、
/etc/cloud/cloud.cfg.d/91-azure_datasource.cfg設定ファイルを作成し、そのファイルに次の行を追加します。datasource_list: [ Azure ] datasource: Azure: apply_network_config: Falsedatasource_list: [ Azure ] datasource: Azure: apply_network_config: FalseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 一時ディスク上のスワップ領域を設定するには、
/etc/cloud/cloud.cfg.d/00-azure-swap.cfg 設定ファイルを作成し、次の行を追加します。重要エフェメラルディスクは一時的なストレージです。したがって、仮想マシンが割り当て解除または移動されると、スワップ領域を含むそこに保存されているデータは失われます。一時ディスクは、スワップ領域などの一時データにのみ使用してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
特定のカーネルモジュールが自動的にロードされないようにするには、
/etc/modprobe.d/blocklist.confファイルを編集または作成し、そのファイルに次の行を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow udevネットワークデバイスルールを変更します。次の永続的なネットワークデバイスルールが存在する場合は削除します。
rm -f /etc/udev/rules.d/70-persistent-net.rules rm -f /etc/udev/rules.d/75-persistent-net-generator.rules rm -f /etc/udev/rules.d/80-net-name-slot-rules
# rm -f /etc/udev/rules.d/70-persistent-net.rules # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules # rm -f /etc/udev/rules.d/80-net-name-slot-rulesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure で Accelerated Networking が意図したとおりに動作するようにするには、新しいネットワークデバイスルール
/etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rulesを作成し、次の行を追加します。SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
sshdサービスが自動的に起動するように設定します。systemctl enable sshd systemctl is-enabled sshd
# systemctl enable sshd # systemctl is-enabled sshdCopy to Clipboard Copied! Toggle word wrap Toggle overflow カーネルブートパラメーターを変更します。
/etc/default/grubファイルを開き、GRUB_TIMEOUT行に次の値があることを確認します。GRUB_TIMEOUT=10
GRUB_TIMEOUT=10Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のオプションがある場合は、
GRUB_CMDLINE_LINUX行の末尾から削除します。rhgb quiet
rhgb quietCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/default/grubファイルに、指定されたすべてのオプションを含む次の行が含まれていることを確認します。GRUB_CMDLINE_LINUX="loglevel=3 crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300" GRUB_TIMEOUT_STYLE=countdown GRUB_TERMINAL="serial console" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
GRUB_CMDLINE_LINUX="loglevel=3 crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300" GRUB_TIMEOUT_STYLE=countdown GRUB_TERMINAL="serial console" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記HDD 上でワークロードを実行していない場合は、
GRUB_CMDLINE_LINUX行の末尾にelevator=noneを追加します。これにより、I/O スケジューラーがnoneに設定され、SSD ベースのシステムでの I/O パフォーマンスが向上します。grub.cfgファイルを再生成します。BIOS ベースのマシンの場合:
grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow UEFI ベースのマシンの場合:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow システムが
grub.cfgにデフォルト以外の場所を使用している場合は、それに応じてコマンドを調整してください。
Windows Azure Linux Agent (
WALinuxAgent) を設定します。WALinuxAgentパッケージをインストールして有効にします。yum install WALinuxAgent -y systemctl enable waagent
# yum install WALinuxAgent -y # systemctl enable waagentCopy to Clipboard Copied! Toggle word wrap Toggle overflow WALinuxAgent でスワップ設定を無効にするには (
cloud-initを使用してスワップを管理する場合に必要)、/etc/waagent.confファイルで次の行を編集します。Provisioning.DeleteRootPassword=y ResourceDisk.Format=n ResourceDisk.EnableSwap=n ResourceDisk.SwapSizeMB=0
Provisioning.DeleteRootPassword=y ResourceDisk.Format=n ResourceDisk.EnableSwap=n ResourceDisk.SwapSizeMB=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記WALinuxAgent でスワップを無効にすると、
cloud-init が一時ディスク上のスワップ設定を管理できるようになります。
Azure プロビジョニング用に VM を準備します。
Red Hat Subscription Manager から仮想マシンの登録を解除します。
subscription-manager unregister
# subscription-manager unregisterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 既存のプロビジョニングの詳細をクリーンアップします。
waagent -force -deprovision
# waagent -force -deprovisionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このコマンドは警告を生成しますが、Azure が VM のプロビジョニングを自動的に処理するため、これは想定されています。
シェル履歴をクリーンアップし、仮想マシンをシャットダウンします。
export HISTSIZE=0 poweroff
# export HISTSIZE=0 # poweroffCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.7. Azure Active Directory アプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
Azure Active Directory (AD) アプリケーションを作成するには、以下の手順を行います。Azure AD アプリケーションは、クラスター内のすべてのノードに対する HA 操作のアクセスを許可し、自動化します。
前提条件
- Azure コマンドラインインターフェイス (CLI) がシステムにインストールされている。
- Microsoft Azure サブスクリプションの管理者または所有者である。Azure AD アプリケーションを作成するには、この承認が必要です。
手順
HA クラスター内の任意のノードで、Azure アカウントにログインします。
az login
$ az loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure フェンスエージェントのカスタムロールの
json設定ファイルを作成します。次の設定を使用します。ただし、<subscription-id> はご自身のサブスクリプション ID に置き換えます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Azure フェンスエージェントのカスタムロールを定義します。前の手順で作成した
jsonファイルを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Azure Web コンソールインターフェイスで、Virtual Machine を選択 → 左側のメニューの Identity をクリックします。
- On を選択→ Save をクリック→ Yes をクリックして確認します。
- Azure role assignments → Add role assignment をクリックします。
-
ロールに必要な Scope (例:
Resource Group) を選択します。 - 必要な Resource Group を選択します。
- オプション: 必要に応じて サブスクリプション を変更します。
- Linux Fence Agent Role ロールを選択します。
- Save をクリックします。
検証
Azure AD に表示されるノードを表示します。
fence_azure_arm --msi -o list
# fence_azure_arm --msi -o list node1, node2, [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドでクラスター上のすべてのノードが出力された場合、AD アプリケーションは正常に設定されています。
4.8. イメージの固定 VHD 形式への変換 リンクのコピーリンクがクリップボードにコピーされました!
すべての Microsoft Azure 仮想マシンイメージは、固定 VHD 形式である必要があります。イメージは、VHD に変換する前に 1 MB の境界で調整する必要があります。イメージを qcow2 から固定 VHD 形式に変換し、イメージを整列するには、次の手順を参照してください。イメージを変換したら、Azure にアップロードできます。
手順
イメージを
qcow2形式からraw形式に変換します。qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.raw
$ qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.rawCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容でシェルスクリプトを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトを実行します。この例では
align.shという名前を使用します。sh align.sh <image-xxx>.raw
$ sh align.sh <image-xxx>.rawCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Your image is already aligned. You do not need to resize. (イメージはすでに整列しています。サイズを変更する必要はありません。)と表示されたら、次の手順に進みます。
- 値が表示されると、イメージは調整されません。
次のコマンドを使用して、ファイルを固定
VHD形式に変換します。サンプルでは qemu-img バージョン 2.12.0 を使用します。
qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
$ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変換されると、
VHDファイルは Azure にアップロードする準備が整います。rawイメージが整列していない場合は、以下の手順で整列させてください。検証スクリプトの実行時に表示される丸め値を使用して、
rawファイルのサイズを変更します。qemu-img resize -f raw <image-xxx>.raw <rounded-value>
$ qemu-img resize -f raw <image-xxx>.raw <rounded-value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow rawイメージファイルをVHD形式に変換します。サンプルでは qemu-img バージョン 2.12.0 を使用します。
qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
$ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変換されると、
VHDファイルは Azure にアップロードする準備が整います。
4.9. Azure イメージのアップロードおよび作成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、VHD ファイルをコンテナーにアップロードし、Azure カスタムイメージを作成します。
システムを再起動すると、エクスポートしたストレージ接続文字列は維持されません。以下の手順でいずれかのコマンドが失敗した場合は、再び接続文字列をエクスポートしてください。
手順
ストレージコンテナーに
VHDファイルをアップロードします。これには数分かかる場合があります。ストレージコンテナーのリストを表示するには、az storage container listを実行します。az storage blob upload \ --account-name <storage-account-name> --container-name <container-name> \ --type page --file <path-to-vhd> --name <image-name>.vhd$ az storage blob upload \ --account-name <storage-account-name> --container-name <container-name> \ --type page --file <path-to-vhd> --name <image-name>.vhdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
az storage blob upload \ --account-name azrhelclistact --container-name azrhelclistcont \ --type page --file rhel-image-{ProductNumber}.vhd --name rhel-image-{ProductNumber}.vhd[clouduser@localhost]$ az storage blob upload \ --account-name azrhelclistact --container-name azrhelclistcont \ --type page --file rhel-image-{ProductNumber}.vhd --name rhel-image-{ProductNumber}.vhd Percent complete: %100.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow アップロードした
VHDファイルの URL を以下の手順で取得します。az storage blob url -c <container-name> -n <image-name>.vhd
$ az storage blob url -c <container-name> -n <image-name>.vhdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
az storage blob url -c azrhelclistcont -n rhel-image-8.vhd "https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd"
$ az storage blob url -c azrhelclistcont -n rhel-image-8.vhd "https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Azure カスタムイメージを作成します。
az image create -n <image-name> -g <resource-group> -l <azure-region> --source <URL> --os-type linux
$ az image create -n <image-name> -g <resource-group> -l <azure-region> --source <URL> --os-type linuxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記仮想マシンのハイパーバイザーのデフォルトの生成は V1 です。必要に応じて、
--hyper-v-generation V2オプションを使用して V2 ハイパーバイザーの世代を指定できます。第 2 世代の仮想マシンは、UEFI ベースのブートアーキテクチャーを使用します。第 2 世代の仮想マシンの詳細は、Support for generation 2 VMs on Azure を参照してください。このコマンドは、Only blobs formatted as VHDs can be imported(VHD としてフォーマットされたブロブのみがインポート可能) というエラーを返す場合があります。このエラーは、イメージが
VHDに変換される前に最も近い 1 MB の境界に合致していないことを意味します。以下に例を示します。
az image create -n rhel8 -g azrhelclirsgrp2 -l southcentralus --source https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd --os-type linux
$ az image create -n rhel8 -g azrhelclirsgrp2 -l southcentralus --source https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd --os-type linuxCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10. Red Hat HA パッケージおよびエージェントのインストール リンクのコピーリンクがクリップボードにコピーされました!
すべてのノードで以下の手順を実行します。
手順
SSH ターミナルセッションを起動し、管理者名とパブリック IP アドレスを使用して仮想マシンに接続します。
ssh administrator@PublicIP
$ ssh administrator@PublicIPCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure 仮想マシンのパブリック IP アドレスを取得するには、Azure ポータルで仮想マシンプロパティーを開くか、以下の Azure CLI コマンドを入力します。
az vm list -g <resource_group> -d --output table
$ az vm list -g <resource_group> -d --output tableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
[clouduser@localhost ~] $ az vm list -g azrhelclirsgrp -d --output table Name ResourceGroup PowerState PublicIps Location ------ ---------------------- -------------- ------------- -------------- node01 azrhelclirsgrp VM running 192.98.152.251 southcentralus
[clouduser@localhost ~] $ az vm list -g azrhelclirsgrp -d --output table Name ResourceGroup PowerState PublicIps Location ------ ---------------------- -------------- ------------- -------------- node01 azrhelclirsgrp VM running 192.98.152.251 southcentralusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンを Red Hat に登録します。
sudo -i subscription-manager register
$ sudo -i # subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのリポジトリーを無効にします。
subscription-manager repos --disable=*
# subscription-manager repos --disable=*Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 8 サーバーの HA リポジトリーを有効にします。
subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpms
# subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのパッケージを更新します。
yum update -y
# yum update -yCopy to Clipboard Copied! Toggle word wrap Toggle overflow High Availability チャネルから、Red Hat High Availability Add-On ソフトウェアパッケージと Azure フェンスエージェントをインストールします。
yum install pcs pacemaker fence-agents-azure-arm
# yum install pcs pacemaker fence-agents-azure-armCopy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザー
hacluster は、最後のステップで pcs および pacemaker をインストールしたときに作成されました。すべてのクラスターノードにhaclusterのパスワードを作成します。すべてのノードに同じパスワードを使用します。passwd hacluster
# passwd haclusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow firewalld.serviceがインストールされている場合は、RHEL ファイアウォールに高可用性サービスを追加します。firewall-cmd --permanent --add-service=high-availability firewall-cmd --reload
# firewall-cmd --permanent --add-service=high-availability # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcsサービスを起動し、システムの起動時に開始できるようにします。systemctl start pcsd.service systemctl enable pcsd.service
# systemctl start pcsd.service # systemctl enable pcsd.service Created symlink from /etc/systemd/system/multi-user.target.wants/pcsd.service to /usr/lib/systemd/system/pcsd.service.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
pcsサービスが実行していることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.11. クラスターの作成 リンクのコピーリンクがクリップボードにコピーされました!
ノードのクラスターを作成するには、以下の手順を実施します。
手順
ノードのいずれかで以下のコマンドを実行し、pcs ユーザー
haclusterを認証します。コマンドで、クラスター内の各ノードの名前を指定します。pcs host auth <hostname1> <hostname2> <hostname3>
# pcs host auth <hostname1> <hostname2> <hostname3>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターを作成します。
pcs cluster setup <cluster_name> <hostname1> <hostname2> <hostname3>
# pcs cluster setup <cluster_name> <hostname1> <hostname2> <hostname3>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
クラスターを有効にします。
pcs cluster enable --all
[root@node01 clouduser]# pcs cluster enable --all node02: Cluster Enabled node03: Cluster Enabled node01: Cluster EnabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターを起動します。
pcs cluster start --all
[root@node01 clouduser]# pcs cluster start --all node02: Starting Cluster... node03: Starting Cluster... node01: Starting Cluster...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12. フェンシングの概要 リンクのコピーリンクがクリップボードにコピーされました!
クラスター内のノードの 1 つと通信が失敗した場合に、障害が発生したクラスターノードがアクセスする可能性があるリソースへのアクセスを、その他のノードが制限したり、解放したりできるようにする必要があります。クラスターノードが応答しない可能性があるため、そのクラスターノードと通信しても成功しません。代わりに、フェンスエージェントを使用した、フェンシングと呼ばれる外部メソッドを指定する必要があります。
応答しないノードがデータへのアクセスを続けている可能性があります。データが安全であることを確認する場合は、STONITH を使用してノードをフェンスすることが唯一の方法になります。STONITH は Shoot The Other Node In The Head の頭字語で、不安定なノードや同時アクセスによるデータの破損を防ぐことができます。STONITH を使用すると、別のノードからデータをアクセスする前に、そのノードが完全にオフラインであることを確認できます。
4.13. フェンスデバイスの作成 リンクのコピーリンクがクリップボードにコピーされました!
フェンシングを設定するには、以下の手順を実行します。クラスターの任意のノードからこのコマンドを完了します。
前提条件
クラスタープロパティー stonith-enabled を true に設定する必要があります。
手順
各 RHEL 仮想マシンの Azure ノード名を特定します。Azure ノード名を使用してフェンスデバイスを設定します。
fence_azure_arm \ -l <AD-Application-ID> -p <AD-Password> \ --resourceGroup <MyResourceGroup> --tenantId <Tenant-ID> \ --subscriptionId <Subscription-ID> -o list# fence_azure_arm \ -l <AD-Application-ID> -p <AD-Password> \ --resourceGroup <MyResourceGroup> --tenantId <Tenant-ID> \ --subscriptionId <Subscription-ID> -o listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Azure ARM STONITH エージェントのオプションを表示します。
pcs stonith describe fence_azure_arm
# pcs stonith describe fence_azure_armCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
pcs stonith describe fence_apc
# pcs stonith describe fence_apc Stonith options: password: Authentication key password_script: Script to run to retrieve passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 警告method オプションを提供するフェンスエージェントでは、cycle の値を指定しないため、データの破損が発生する可能性があるため、この値は指定しないでください。
1 つのノードのみをフェンスできるフェンスデバイスや、複数のノードをフェンスできるデバイスもあります。フェンスデバイスの作成時に指定するパラメーターは、フェンスデバイスが対応しているか、必要としているかにより異なります。
フェンスデバイスの作成時に
pcmk_host_listパラメーターを使用すると、フェンスデバイスで制御されるすべてのマシンを指定できます。フェンスデバイスの作成時に
pcmk_host_mapパラメーターを使用すると、フェンスデバイスに関する仕様にホスト名をマッピングできます。フェンスデバイスを作成します。
pcs stonith create clusterfence fence_azure_arm
# pcs stonith create clusterfence fence_azure_armCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 即時かつ完全なフェンシングを確実に行うために、すべてのクラスターノードで ACPI Soft-Off を無効にします。ACPI Soft-Off を無効にする方法については、統合フェンスデバイスで使用するために ACPI を無効にする を参照してください。
検証
他のノードのいずれかに対してフェンスエージェントをテストします。
pcs stonith fence azurenodename
# pcs stonith fence azurenodenameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の手順でフェンシングされたノードを起動します。
pcs cluster start <hostname>
# pcs cluster start <hostname>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ステータスを確認して、ノードが起動したことを確認します。
pcs status
# pcs statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14. Azure 内部ロードバランサーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Azure 内部ロードバランサーは、ヘルスプローブ要求に応答しないクラスターノードを削除します。
以下の手順を実行し、Azure 内部ロードバランサーを作成します。各ステップは特定の Microsoft 手順を参照し、HA のロードバランサーをカスタマイズするための設定が含まれます。
前提条件
手順
- 基本ロードバランサーを作成 します。IP アドレスの割り当てタイプの場合は、内部ロードバランサー、基本 SKU、および 動的 を選択します。
- バックエンドのアドレスプールを作成します。バックエンドプールを HA に Azure リソースを作成した時に作成された可用性セットに関連付けます。ターゲットネットワーク IP 設定は設定しないでください。
- ヘルスプローブを作成します。ヘルスプローブの場合は TCP を選択し、ポート 61000 を入力します。別のサービスに干渉しない TCP ポート番号を使用できます。特定の HA 製品アプリケーション (SAP HANA や SQL Server など) については、Microsoft と連携して使用する正しいポートを指定する必要がある場合があります。
- ロードバランサールールを作成します。ロードバランシングルールを作成する場合は、デフォルト値が事前に設定されます。フローティング IP (ダイレクトサーバーを返す) を 有効 に設定してください。
4.15. ロードバランサーリソースエージェントの設定 リンクのコピーリンクがクリップボードにコピーされました!
ヘルスプローブを作成したら、ロードバランサー リソースエージェントを設定する必要があります。このリソースエージェントは、Azure ロードバランサーからヘルスプローブ要求に応答し、要求に応答しないクラスターノードを削除するサービスを実行します。
手順
全ノードに
nmap-ncatリソースエージェントをインストールします。yum install nmap-ncat resource-agents
# yum install nmap-ncat resource-agentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 単一ノードで以下の手順を実行します。
pcsリソースおよびグループを作成します。IPaddr2 アドレスにロードバランサーの FrontendIP を使用します。pcs resource create resource-name IPaddr2 ip="10.0.0.7" --group cluster-resources-group
# pcs resource create resource-name IPaddr2 ip="10.0.0.7" --group cluster-resources-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow ロードバランサーリソースエージェントを設定します。pcs resource create resource-loadbalancer-name azure-lb port=port-number --group cluster-resources-group
# pcs resource create resource-loadbalancer-name azure-lb port=port-number --group cluster-resources-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
pcs statusを実行して結果を表示します。pcs status
[root@node01 clouduser]# pcs statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow