ウェブサイト検索

PXE サーバーとキックスタート ファイルを使用した複数の RHEL/CentOS 7 ディストリビューションの自動インストール


この記事は、以前の RHEL/CentOS 7 での PXE ブート環境セットアップを拡張したもので、ユーザーの介入を必要とせずに、ヘッドレス マシン上で、ローカルFTPサーバー。

この種のインストールのための環境の準備は、PXE サーバーのセットアップに関する前のチュートリアルですでに処理されていますが、唯一欠けているキーであるキックスタート ファイルについては、このチュートリアルでさらに説明します。

複数のインストールにさらに使用できるカスタマイズされたキックスタート ファイルを作成する最も簡単な方法は、RHEL/CentOS 7 のインストールを手動で実行し、インストール プロセスの完了後に という名前のファイルをコピーすることです。 /root パスにある anaconda-ks.cfg をアクセス可能なネットワークの場所に移動し、initrd ブート パラメータ inst.ks= を指定します。 protocol://path/to/kickstart.fileto PXE メニュー設定ファイル

要件

  1. RHEL/CentOS 7 での PXE ネットワーク ブート サーバーのセットアップ

このチュートリアルとキックスタート ファイル構成では、グラフィカル インストールを行わない RHEL/CentOS 7 の最小インストールのみを説明します。基本的に、キックスタート ファイルは、RHEL/CentOS 7 の以前の最小インストール手順から生成されたものです。

  1. CentOS 7 の最小限のインストール手順
  2. RHEL 7 の最小限のインストール手順

GUI インストールと特定のパーティション テーブルをカバーするキックスタート ファイルが必要な場合は、最初にカスタマイズ可能な
インストールを実行することをお勧めします。 仮想化環境での RHEL/CentOS 7 のグラフィカル インストールと、その結果として得られたキックスタート ファイルを将来の GUI インストールに使用します。

ステップ 1: Kiskstart ファイルを作成して FTP サーバーのパスにコピーする

1. 最初のステップでは、PXE マシンの /root ディレクトリに移動し、anaconda-ks.cfg という名前のファイルを Vsftpd にコピーします。 デフォルトのサーバー パス (/var/ftp/pub)PXE ネットワーク ブート上に構成された RHEL/CentOS 7 ローカル ミラー インストール ソース のパスでもありますサーバー – ステップ 6 (上記の PXE サーバーのセットアップ記事を参照)。

cp anaconda-ks.cfg  /var/ftp/pub/
chmod 755 /var/ftp/pub/anaconda-ks.cfg

2. ファイルをコピーしたら、お気に入りのテキスト エディタでファイルを開き、次の最小限の変更を加えます。

nano /var/ftp/pub/anaconda-ks.cfg
  1. –url フィールドをネットワーク インストール ソースの場所に置き換えます: 例: –url=ftp://192.168.1.25/pub/
  2. インストールプロセスでネットワークインターフェイスを手動で構成した場合は、network –bootprotodhcp に置き換えます。

キックスタート ファイルがどのように見えるかについての抜粋を以下に示します。

#version=RHEL7
System authorization information
auth --enableshadow --passalgo=sha512

Use network installation
url --url="ftp://192.168.1.25/pub/"
Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
System language
lang en_US.UTF-8

Network information
network  --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
network  --hostname=localhost.localdomain
Root password
rootpw --iscrypted $6$RMPTNRo5P7zulbAR$ueRnuz70DX2Z8Pb2oCgfXv4qXOjkdZlaMnC.CoLheFrUF4BEjRIX8rF.2QpPmj2F0a7iOBM3tUL3tyZNKsDp50
System services
services --enabled="chronyd"
System timezone
timezone Europe/Bucharest --isUtc
System bootloader configuration
bootloader --location=mbr --boot-drive=sda
Partition clearing information
clearpart --none --initlabel
Disk partitioning information
part pv.20 --fstype="lvmpv" --ondisk=sda --size=19979
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.20
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap  --fstype="swap" --size=2048 --name=swap01 --vgname=centos

%packages
@compat-libraries
@core
wget
net-tools
chrony

%end

より高度なキックスタート ファイル オプションと構文については、RHEL 7 キックスタート ドキュメントを参照してください。

3. インストール手順でこのファイルを使用する前に、Pykickstart パッケージに含まれる ksvalidator コマンドを使用してファイルを確認することが重要です。特に、手動カスタマイズが実行された場合。 Pykickstart パッケージをインストールし、次のコマンドを実行してキックスタート ファイルを確認します。

yum install pykickstart
ksvalidator /var/ftp/pub/anaconda-ks.cfg

4. 最後の検証では、指定したネットワークの場所からキックスタート ファイルにアクセスできることを確認します。この場合は、次の URL アドレスで定義されたFTP ローカル ミラー インストール ソースです。

ftp://192.168.1.25/pub/

ステップ 2: Kikstart インストール ラベルを PXE サーバー構成に追加する

5. PXE メニュー から RHEL/CentOS 7 の自動インストール オプションにアクセスするには、次のラベルを PXE のデフォルト ファイル構成に追加します。

nano /var/lib/tftpboot/pxelinux.cfg/default

PXE メニュー ラベルの抜粋。

RHEL7の場合
label 5
menu label ^5) Install RHEL 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
CentOS 7の場合
label 5
menu label ^5) Install CentOS 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password

この例からわかるように、自動インストールはパスワード付きの VNC 経由で監視でき (VNC パスワードは適宜置き換えてください)、キックスタート ファイルは PXE サーバー上にローカルに配置され、initrd< によって指定されます。 ブート パラメータ inst.ks= FTP ネットワークの場所 (HTTP、HTTPS、NFS、またはリモート インストール ソースやキックスタート ファイルなどの他のインストール方法を使用している場合は、プロトコルとネットワークの場所を適宜置き換えてください)。

ステップ 3: キックスタートを使用して RHEL/CentOS 7 を自動的にインストールするようにクライアントを構成する

6. RHEL/CentOS 7 を自動的にインストールし、特にヘッドレス サーバー上でインストール プロセス全体を監視するには、BIOS からクライアント マシンに指示します。
ネットワークから起動するには、数秒待ってからF8 キーとEnter キーを押し、PXE メニューからキックスタート オプションを選択します。

7. カーネルRAM ディスク がロードされ、キックスタート ファイルが検出されると、ユーザー側の介入を必要とせずに、インストール プロセスが自動的に開始されます。インストール プロセスを確認したい場合は、インストーラーが提供するアドレスを使用して、 別のコンピューターからVNC クライアントに接続し、表示をお楽しみください。

8. インストール プロセスが完了したら、root アカウントと以前のインストールで使用したパスワード (
) を使用して、新しくインストールしたシステムにログインします。 キックスタート ファイルをコピーしたもの)、passwd コマンドを実行してクライアントの root パスワードを変更します。

それだけです! 自動キックスタート インストールは、複数のマシンにシステム インストールを短時間で同時に実行する必要がある環境のシステム管理者にとって、手動での介入を必要とせずに大きなメリットをもたらします。インストールプロセス。