Help us understand the problem. What is going on with this article?

Azure上でRed Hat Enterprise Linux 7.3を動かすためのVMイメージを作成する

More than 3 years have passed since last update.

はじめに

2015年11月に正式にAzure上でRed Hat Enterprise Linux(RHEL)が利用可能となりました。
その後2016年2月にAzure Marketplace上からRHELが簡単にデプロイできるようになりました。

ただし、Marketplace上からRHELをデプロイして利用する場合には以下の注意事項があります。

  • インスタンス料金がOS代の他にソフトウェア代金が必要になる
  • Azureサブスクリプションに無料利用可能分があってもソフトウェア代金は別途課金
  • RHELのサポートは英語

詳しくはAzure で Red Hat ソリューションを使用するを参照ください。

既にオンプレミスでRHELを利用しており有効なサブスクリプションがある場合には、上記のMarketplace上からRHELをデプロイすると既存ライセンスが無駄になってしまいます。
この場合には自前でAzureで動作可能なVMイメージ(VHDファイル)を事前に作成して、それをAzure上にアップロードして仮想マシンをデプロイする手順を踏みます(2017年1月現在)

このへんの手順はAzure 用の Red Hat ベースの仮想マシンの準備に書かれているのですが、Hyper-V側の設定や、RHELのインストール手順については詳しく書かれていないので、実際に私が試した結果を公開します。

必要なもの

必要なものは以下の通りです。

  • Azureサブスクリプション(試用版でOK)
  • Hyper-Vが動作可能なクライアントPC
  • 有効なRHELサブスクリプション

2017年1月から始まったRed Hat on Azure Partner Networkへの参加をしますとRHELの試用についてもハードルが低くなると思います。
また、RHELサブスクリプションをAzure等のパブリッククラウドで利用するためのRed Hat Cloud Accessにも事前に申し込む必要があります。

事前準備

事前にRed HatのサイトからRHELのバイナリDVDイメージ(isoファイル)をダウンロードしておきます。

image

Hyper-V上でのイメージ作成

仮想マシンの作成

クライアントPC上から「Hyper-Vマネージャー」を起動して、まずは「仮想スイッチマネージャー」を選択します。
image

RHELのイメージ作成時にはインターネット接続が必須となりますので、外部NWに接続可能なクライアントPC側のネットワークインタフェースを指定した仮想スイッチ(本例ではexternal-switch)を作成しておきます。
image

操作メニューから「新規」「仮想マシン」を選択します。
image

仮想マシンの新規作成ウイザードが開くので「次へ」をクリックします。
image

仮想マシン名を適当に入力して「次へ」をクリックします。
image

世代の指定では必ず「第1世代」を選択し、「次へ」をクリックします。
image

メモリの割り当てはデフォルトの1024MBで特に問題ないので、そのまま「次へ」をクリックします。
image

ネットワークの構成では先ほど確認した仮想スイッチを指定して、「次へ」をクリックします。
image

仮想ハードディスクの接続は「後で仮想ハードディスクを接続する」を必ず選び、「次へ」をクリックします。
(ここで仮想ハードディスクを作成するとAzureで認識できないVHDX形式になってしまう)
image

最後に「完了」をクリックします。
image

操作メニューから先ほど作成した仮想マシンの「設定」をクリックします。
image

左のツリーから「IDEコントローラー0」を選択して、「ハードドライブ」の「追加」をクリックします。
image

「仮想ハードディスク」を選択後、「新規」をクリックします。
image

仮想ハードディスクの新規作成ウィザードが開くので「次へ」をクリックします。
image

ディスクフォーマットの選択では「VHD」を選択して、「次へ」をクリックします。
image

ディスク種類の選択では「容量固定」を選択して、「次へ」をクリックします。
image

作成するVHDファイルの名前と場所を適当に入力して、「次へ」をクリックします。
image

「新しい空の仮想ハードディスクを作成する」を選択して、サイズには30GB(任意)を入力します。
image

最後に「完了」をクリックします。
image

容量固定のディスク作成には暫く時間がかかりますので待ちます。
image

DVD isoイメージからRHELの起動およびインストール

仮想マシンの設定画面から「IDEコントローラー1」をクリックして、メディアとして「イメージファイル」を選択後、ファイル名に先にRed HatのサイトからダウンロードしたRHELのisoファイルの場所を指定します。
image

Hyper-Vマネージャーから対象仮想マシンの「接続」をクリックします。
image

別ウインドウで表示された仮想マシンのコンソール画面から電源ボタンをクリックして仮想マシンを起動します。
image

インストーラーの起動確認画面が出るので1分以内に[enter]を押してインストーラーを起動します。
image

暫く待つと、グラフィカルなRHELインストーラーの画面が表示されるので、左の言語一覧から「日本語」を選択して、「続行」をクリックします。
image

インストール概要画面にて「インストール先」をクリックします。
image

「その他のストレージオプション」にて「パーティションを自分で構成する」を選択後、「完了」をクリックします。
image

手動パーティション設定画面に変わるので、「新しいマウントポイントに次のパーティションスキーム設定を使用させます」の欄を「標準パーティション」に変更します。
その後「+」ボタンをクリックします。
image

新規のマウントポイントとして「/」を入力するかリストから選択後、「マウントポイントの追加」をクリックします。
image

ルートパーティション(/)がVHDの最大サイズである30GBで割り当てられたので「完了」をクリックします。
image

画面下部に警告メッセージが表示されますが、これはswap領域が無いためです。Azure移行後にswap領域は再設定するため、このメッセージは無視して再度「完了」をクリックします。
image

変更の概要画面が表示されるので「変更を許可する」をクリックします。
image

「インストールの開始」をクリックします。
image

インストール中に設定画面が表示されるので「ROOTパスワード」をクリックします。
image

ROOTパスワードを2回入力後、「完了」をクリックします。
image

暫く待つとインストールが完了します。
image

仮想マシンの設定画面でIDEコントローラー1のメディアを「なし」に変更後、仮想マシンを再起動します。
image

無事起動してrootでログインが完了しました。
image

Azure上で動かすための各種設定

MSから提供されているドキュメントHyper-V マネージャーからの RHEL 7.1/7.2 仮想マシンの準備がそのままRHEL 7.3でも有効なので、この手順通りに実施します。

一点注意として、(5)で次回起動時にはネットワークサービスを有効にしていますが、この手順実施時点では実際にはネットワークサービスは起動していません。
そのため(6)の「subscription-manager」コマンド実行前に以下のコマンドを実行しておくといいです。

# sudo service network start

参考までに上記手順で変更したファイル類について変更後の内容を以下に示します。

[root@localhost ~]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=localhost.localdomain
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
IPV6INIT=no
[root@localhost ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rootdelay=300 console=ttyS0 earlyprintk=ttyS0"
GRUB_DISABLE_RECOVERY="true“
[root@localhost ~]# cat /etc/ssh/sshd_config |grep ClientAliveInterval
ClientAliveInterval 180

一通り最後まで手順が終わったら仮想マシンコンソールから「操作」「シャットダウン」で仮想マシンを停止します。
image

Hyper-Vマネージャーから今回作成した仮想マシンの「削除」をクリックします。
image

削除確認画面で「削除する」をクリックします。
こちらで仮想マシンを削除してもVHDファイルは消えませんのでご安心を。
image

Azureのカスタムイメージとして利用可能なVHDファイルが出来上がりました。
image

おわりに

この記事ではRHELのカスタムイメージを作成するところまでを紹介しました。
カスタムイメージから仮想マシンをデプロイする方法として、以下のサイトが参考になります。

Linux オペレーティング システムを格納した仮想ハード ディスクの作成とアップロード

ただしこちらの手順はAzure CLIを利用した方法となっています。
JSONテンプレート(+Azure Storage Explorer)を使用したカスタムイメージからのデプロイ方法については「Azure Resource Manager(ARM)の小ネタ:仮想マシンのカスタムイメージをJSONテンプレートからデプロイ」を参照してください。

yotan
Azureコンサルタント/イクメン/カワイイモノズキ/デジタルモノズキ/バイクノリ/Microsoft MVP for Azure
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした