RHCSA シリーズ: 「キックスタート」を使用した RHEL 7 インストールの自動化 - パート 12
Linux サーバーがスタンドアロン ボックスであることはほとんどありません。データセンターであっても、ラボ環境であっても、何らかの方法で相互に通信する複数のマシンをインストールする必要があった可能性があります。単一サーバーにRed Hat Enterprise Linux 7 を手動でインストールするのにかかる時間に、セットアップする必要があるボックスの数を掛けると、かなり長い作業が必要になる可能性があります。これはキックスタートと呼ばれる無人インストール ツールを使用することで回避できます。
この記事では、 インストールプロセス中にサーバーのベビーシッターを忘れることができるようにキックスタートユーティリティを使用するために必要なものを説明します。
キックスタートと自動インストールの紹介
キックスタートは、主に Red Hat Enterprise Linux (および CentOS、Oracle Linux などの他の Fedora スピンオフ) でオペレーティング システムの無人インストールと構成を実行するために使用される自動インストール方法です。したがって、キックスタート インストールを使用すると、システム管理者は、インストールされたパッケージ グループとシステム構成に関する限り、同一のシステムを使用できるようになり、それぞれを手動でインストールする手間が省けます。
キックスタートインストールの準備
キックスタート インストールを実行するには、次の手順に従う必要があります。
1. キックスタート ファイルを作成します。これは、いくつかの事前定義された構成オプションを含むプレーン テキスト ファイルです。
2. キックスタート ファイルをリムーバブル メディア、ハード ドライブ、またはネットワーク上の場所で利用できるようにします。クライアントはrhel-server-7.0-x86_64-boot.iso ファイルを使用しますが、完全な ISO イメージ (rhel-server-7.0-x86_64-dvd.iso) を作成する必要があります。 )FTP サーバーの HTTP などのネットワーク リソースから利用できます(今回のケースでは、IP 192.168.0.18 を持つ別の RHEL 7 ボックスを使用します)。
3. キックスタート インストールを開始します
キックスタート ファイルを作成するには、Red Hat カスタマー ポータル アカウントにログインし、キックスタート設定ツールを使用して必要なインストール オプションを選択します。下にスクロールする前にそれぞれを注意深く読み、ニーズに最も適したものを選択してください。
HTTP、FTP、または NFS のいずれかを介してインストールを実行するように指定する場合は、サーバー上のファイアウォールがこれらのサービスを許可していることを確認してください。
Red Hat オンライン ツールを使用してキックスタート ファイルを作成できますが、次の行を参照して手動で作成することもできます。たとえば、インストール プロセスはラテンアメリカのキーボード レイアウトとアメリカ/アルゼンチン/サンルイスのタイムゾーンを使用して英語で行われることがわかります。
lang en_US
keyboard la-latin1
timezone America/Argentina/San_Luis --isUtc
rootpw $1$5sOtDvRo$In4KTmX7OmcOW9HUvWtfn0 --iscrypted
#platform x86, AMD64, or Intel EM64T
text
url --url=http://192.168.0.18//kickstart/media
bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
zerombr
clearpart --all --initlabel
autopart
auth --passalgo=sha512 --useshadow
selinux --enforcing
firewall --enabled
firstboot --disable
%packages
@base
@backup-server
@print-server
%end
オンライン構成ツールでは、インストール ソースとして HTTP を選択した後、[インストール] セクションで HTTP サーバーに 192.168.0.18 を使用し、HTTP ディレクトリに /kickstart/tecmint.bin
を使用します。最後に、右上隅にあるダウンロードボタンをクリックして、キックスタート ファイルをダウンロードします。
上記のキックスタート サンプル ファイルでは、次の点に注意する必要があります。
url --url=http://192.168.0.18//kickstart/media
このディレクトリは、DVD または ISO インストール メディアの内容を抽出する必要がある場所です。その前に、ISO インストール ファイルをループ デバイスとして /media/rhel にマウントします。
mount -o loop /var/www/html/kickstart/rhel-server-7.0-x86_64-dvd.iso /media/rhel
次に、/media/rhel のすべての内容を /var/www/html/kickstart/media にコピーします。
cp -R /media/rhel /var/www/html/kickstart/media
完了すると、/var/www/html/kickstart/media のディレクトリのリストとディスク使用量は次のようになります。
これで、キックスタート インストールを開始する準備が整いました。
キックスタート ファイルの作成方法に関係なく、インストールを続行する前にその構文を確認することをお勧めします。これを行うには、pykickstart パッケージをインストールします。
yum update && yum install pykickstart
次に、ksvalidator ユーティリティを使用してファイルを確認します。
ksvalidator /var/www/html/kickstart/tecmint.bin
構文が正しい場合は何も出力されませんが、ファイルにエラーがある場合は、構文が正しくないか不明な行を示す警告通知が表示されます。
キックスタートインストールの実行
まず、rhel-server-7.0-x86_64-boot.iso ファイルを使用してクライアントを起動します。最初の画面が表示されたら、[Install Red Hat Enterprise Linux 7.0] を選択し、Tab キーを押して次のスタンザを追加し、Enter キーを押します。
inst.ks=http://192.168.0.18/kickstart/tecmint.bin
ここで、tecmint.bin は前に作成したキックスタート ファイルです。
Enter を押すと、自動インストールが開始され、インストールされているパッケージのリストが表示されます (番号と名前は、選択したプログラムとパッケージ グループによって異なります)。
自動プロセスが終了すると、インストール メディアを削除するように求められ、新しくインストールしたシステムを起動できるようになります。
前述したようにキックスタート ファイルを手動で作成することもできますが、可能な限り推奨されるアプローチを使用することを検討してください。オンライン設定ツールを使用することも、インストール プロセスによってルートのホーム ディレクトリに作成されるanaconda-ks.cfg ファイルを使用することもできます。
このファイルは実際にはキックスタート ファイルなので、必要なオプションをすべて指定して最初のボックスを手動でインストールし (論理ボリュームのレイアウトや各ボリューム上のファイル システムを変更することもできます)、 結果として得られるアナコンダを使用することもできます。 ks.cfg ファイルを使用して残りのインストールを自動化します。
さらに、オンライン構成ツールまたはanaconda-ks.cfg ファイルを使用して今後のインストールをガイドすると、すぐに使用できる暗号化された root パスワードを使用してインストールを実行できるようになります。
結論
キックスタートファイルの作成方法と、キックスタートファイルを使用して Red Hat Enterprise Linux 7 サーバーのインストールを自動化する方法がわかったので、インストールプロセスの面倒を忘れてかまいません。そうすることで、他のことをする時間ができたり、運が良ければ余暇が得られるかもしれません。
いずれにせよ、以下のフォームを使用して、この記事についてのご意見をお聞かせください。質問も大歓迎です!
こちらもお読みください: PXE とキックスタートを使用した複数の RHEL/CentOS 7 ディストリビューションの自動インストール