19 PXE + Kickstart無人インストールサービスを使用する

19 PXE + Kickstart無人インストールサービスを使用する

19.1無人システム

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

PXE(Preboot eXecute Environment、プリブート実行環境)は、Intel Corporationが開発したテクノロジーで、コンピューターがネットワーク経由でオペレーティングシステムを起動できるようにします(コンピューターにインストールされているネットワークカードがPXEテクノロジーをサポートしている場合)。主に無人でシステムをインストールするために使用されます。 Linuxオペレーティングシステムをインストールする中規模ガイドクライアントホスト。キックスタートは無人インストール方法であり、その動作原理は、運用および保守担当者が手動で入力する必要があるパラメーターを1つに事前に保存することですks.cfgファイル、インストールプロセス中にパラメータを入力する必要がある場合、Kickstartによって生成されたファイルと自動的に一致します。キックスタートファイルに、インストールプロセス中に手動で入力する必要のあるすべてのパラメーターが含まれている限り、理論的には、操作および保守担当者の介入なしに操作を自動的に完了することができます。

現在のクライアントホストには完全なオペレーティングシステムがないため、FTPプロトコルの検証を完了できないため、クライアントがブートファイルとドライバーファイルを取得できるようにするにはTFTPプロトコルが必要です。vsftpdサービスプログラムは、完全なシステムインストールイメージをネットワーク経由でクライアントに送信するために使用されます。もちろん、システムインストールイメージをクライアントに正常に転送できる限り、vsftpdサービスプログラムの代わりにhttpdを使用することもできます。

19.2関連するサービスプログラムの配備
19.2.1 DHCPサービスプログラムの構成

DHCPサービスプログラムは、使用可能なIPアドレスをクライアントホストに割り当てるために使用されます。これは、サーバーとクライアントホスト間のファイル転送の基礎であるため、最初にDHCPサービスプログラムを構成します。最初に表19-1に従って無人システムのIPアドレスを設定し、次に図19-2および図19-3に従って仮想マシンの仮想ネットワークエディターで独自のDHCPサービスを閉じます。

表19-1無人システムとクライアントの設定

ホスト名 オペレーティングシステム IPアドレス
無人システム RHEL 7 192.168.10.10
クライアント オペレーティングシステムがインストールされていません -

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-2仮想マシンの仮想ネットワークエディターを開く

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-3仮想マシンによって提供されるDHCPサービスを無効にする

CDイメージがマウントされ、Yumウェアハウスファイルが適切に構成されている場合、DHCPサービスプログラムソフトウェアパッケージをインストールできます。

[root@linuxprobe ~]# yum install dhcp

第14章では、DHCPサービスプログラムの構成と展開方法について詳細に説明しましたが、関連する構成パラメーターについては、印象に残っていると思います。ただし、ここで使用する構成ファイルと第14章の構成ファイルには、主に2つの違いがあります。BOOTPブートローダープロトコルは許可されます。これは、LANにオペレーティングシステムがないホストが静的IPアドレスを取得できるように設計されています。ブートドライバーファイルpxelinux.0はファイルの下部に読み込まれます(このファイルは次の手順で作成されます)。その目的は、IPアドレスを取得した後にクライアントホストがブートドライバーファイルをアクティブに取得し、それ自体で次のインストールプロセスを開始できるようにすることです。

[root@linuxprobe ~]# vim /etc/dhcp/dhcpd.conf
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
        option subnet-mask      255.255.255.0;
        option domain-name-servers  192.168.10.10;
        range dynamic-bootp 192.168.10.100 192.168.10.200;
        default-lease-time      21600;
        max-lease-time          43200;
        next-server             192.168.10.10;
        filename                "pxelinux.0";
}
[root@linuxprobe ~]# systemctl restart dhcpd
[root@linuxprobe ~]# systemctl enable dhcpd
ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'
19.2.2 TFTPサービスプログラムの設定

第11章では、vsftpdサービスとTFTPサービスについて学習しました。vsftpdは、ユーザーが匿名オープンモード、ローカルユーザーモード、および仮想ユーザーモードでアクセスを認証できるようにする機能豊富なファイル転送サービスプログラムです。ただし、現在のクライアントホストにはオペレーティングシステムがまだインストールされていません。どのように認証にログインしますか?UDPプロトコルに基づく単純なファイル転送プロトコルとして、TFTPは必要なファイルリソースを取得するためにユーザー認証を必要としません。したがって、次にTFTPサービスプログラムを構成して、クライアントホストにブートファイルとドライバーファイルを提供します。クライアントホストに基本的なドライバーがインストールされた後、完全なCDイメージファイルがvsftpdサービスプログラムを介して転送されます。

[root@linuxprobe ~]# yum install tftp-server

TFTPは非常に合理化されたファイル転送サービスプログラムであり、その操作とシャットダウンはxinetdネットワークデーモンサービスによって管理されます。xinetdサービスプログラムは、システムの複数のポートを同時に監視し、ユーザーが要求したポート番号に従って対応するサービスプログラムを呼び出し、ユーザーの要求に応答します。TFTPサービスプログラムを開くには、xinetdサービスプログラムの構成ファイルでdisableパラメータをnoに変更します。構成ファイルを保存して終了し、xinetdサービスプログラムを再起動してスタートアップ項目に追加します(RHEL 7システムでは、xinetdサービスプログラムはデフォルトで有効になっているため、スタートアップ項目に追加しても出力されません。情報は正常です)。

[root@linuxprobe ~.d]# vim /etc/xinetd.d/tftp
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
[root@linuxprobe xinetd.d]# systemctl restart xinetd
[root@linuxprobe xinetd.d]# systemctl enable xinetd

TFTPサービスプログラムはデフォルトでUDPプロトコルを使用し、占有ポート番号は69です。したがって、運用環境では、ファイアウォールポリシーを永続的に有効にしてクライアントホストがブートファイルを正常に取得できるように、ファイアウォールファイアウォール管理ツールで許可ポリシーを書き込む必要があります。

[root@linuxprobe ~]# firewall-cmd --permanent --add-port=69/udp
success
[root@linuxprobe ~]# firewall-cmd --reload 
success
19.2.3 SYSLinuxサービスプログラムの設定

SYSLinuxは、ブートローディングを提供するためのサービスプログラムです。SYSLinuxはサービスプログラムではなく、内部のブートファイルが必要であると言う方が良いSYSLinuxサービスプログラムパッケージをインストールすると、多くのブートファイルが/ usr / share / syslinuxディレクトリに表示されます。

[root@linuxprobe ~]# yum install syslinux

クライアントホストがブートファイルを正常に取得できるように、最初にSYSLinuxによって提供されるブートファイルをTFTPサービスプログラムのデフォルトディレクトリ(上記のファイルpxelinux.0)にコピーする必要があります。さらに、RHEL 7システムCDイメージで取得する必要があるいくつかのブートファイルがあります。CDイメージが/ media / cdromディレクトリにマウントされていることを確認した後、copy コマンド使用して、CDイメージに含まれているブートファイルの一部をTFTPサービスプログラムのデフォルトディレクトリにコピーします。

[root@linuxprobe ~]# cd /var/lib/tftpboot
[root@linuxprobe tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[root@linuxprobe tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .
[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .

次に、TFTPサービスプログラムのディレクトリに新しいpxelinux.cfgディレクトリを作成しますディレクトリの名前にはサフィックスが付いていますが、ファイルではなくディレクトリです。ブートオプションメニューをシステムCDからこのディレクトリにコピーし、デフォルトの名前を付けます。図19-4に示すように、このデフォルトファイルは起動時のオプションメニューです。

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-4 Linuxシステムのブートメニューインターフェイス

[root@linuxprobe tftpboot]# mkdir pxelinux.cfg
[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default

デフォルトのブートメニューには、システムをインストールするか、インストールメディアを確認するかの2つのオプションがあります。システムを無人でインストールすることを決定したので、各ホストに対応するオプションを手動で選択する必要があります。これは、メインテーマ(無人インストール)とは逆です。次に、デフォルトファイルを編集し、1行目のデフォルトパラメータをlinuxに変更します。これにより、システムの起動時に、システムはデフォルトでlinuxというオプションを実行します。対応するLinuxオプションは約64行で、CDイメージのデフォルトのインストール方法をFTPファイル転送方法に変更し、CDイメージの取得URLとキックスタート応答ファイルの取得パスを指定しました。

[root@linuxprobe tftpboot]# vim pxelinux.cfg/default
 1 default linux
 2 timeout 600
 3
 4 display boot.msg
 5
 6 # Clear the screen when exiting the menu, instead of leaving the menu displa yed.
 7 # For vesamenu, this means the graphical background is still displayed witho ut
 8 # the menu itself for as long as the screen remains in graphics mode.
 9 menu clear
 10 menu background splash.png
 11 menu title Red Hat Enterprise Linux 7.0
 12 menu vshift 8
 13 menu rows 18
 14 menu margin 8
 15 #menu hidden
 16 menu helpmsgrow 15
 17 menu tabmsgrow 13
 18
 19 # Border Area
 20 menu color border * #00000000 #00000000 none
 21
 22 # Selected item
 23 menu color sel 0 #ffffffff #00000000 none
 24
 25 # Title bar
 26 menu color title 0 #ff7ba3d0 #00000000 none
 27
 28 # Press [Tab] message
 29 menu color tabmsg 0 #ff3a6496 #00000000 none
 30
 31 # Unselected menu item
 32 menu color unsel 0 #84b8ffff #00000000 none
 33
 34 # Selected hotkey
 35 menu color hotsel 0 #84b8ffff #00000000 none
 36
 37 # Unselected hotkey
 38 menu color hotkey 0 #ffffffff #00000000 none
 39
 40 # Help text
 41 menu color help 0 #ffffffff #00000000 none
 42 
 43 # A scrollbar of some type? Not sure.
 44 menu color scrollbar 0 #ffffffff #ff355594 none
 45 
 46 # Timeout msg
 47 menu color timeout 0 #ffffffff #00000000 none
 48 menu color timeout_msg 0 #ffffffff #00000000 none
 49 
 50 # Command prompt text
 51 menu color cmdmark 0 #84b8ffff #00000000 none
 52 menu color cmdline 0 #ffffffff #00000000 none
 53 
 54 # Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message.
 55 
 56 menu tabmsg Press Tab for full configuration options on menu items.
 57 
 58 menu separator # insert an empty line
 59 menu separator # insert an empty line
 59 menu separator # insert an empty line
 60 
 61 label linux
 62 menu label ^Install Red Hat Enterprise Linux 7.0
 63 kernel vmlinuz
 64 append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet
 65
………………省略部分输出信息………………
19.2.4 VSFtpdサービスプログラムの構成

無人インストールシステムのサービスでは、CDイメージはFTPプロトコルで送信されるため、vsftpdサービスプログラムを使用する必要があります。もちろん、CDイメージがクライアントホストにスムーズに送信されることが保証されている限り、httpdサービスプログラムを使用してWebサイトにアクセスする方法を提供することもできます。Webサイトサービスを使用してCDイメージを提供する場合は、上記の構成ファイルのCDイメージのURLとキックスタート応答ファイルのURLを必ず変更してください。

[root@linuxprobe ~]# yum install vsftpd

構成ファイルが正しく変更された後、対応するサービスプログラムをスタートアップ項目に追加する必要があります。これにより、本番環境またはRed Hat認定試験のいずれの場合でも、デバイスの再起動後も対応するサービスを提供できます。読者がこの良い習慣を身に付けてくれることを願っています。

[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'

システムCDイメージが/ media / cdromディレクトリに正常にマウントされていることを確認した後、ディレクトリ内のすべてのCDイメージファイルをvsftpdサービスプログラムの作業ディレクトリにコピーします。

[root@linuxprobe ~]# cp -r /media/cdrom/* /var/ftp

このプロセスには約3〜5分かかります。それまでの間、アイドル状態ではなく、firewalldファイアウォール管理ツールでFTPプロトコルを永続的に有効にするアクセス許可ポリシーを記述してから、SELinuxでFTP転送を解放します。

[root@linuxprobe ~]# firewall-cmd --permanent --add-service=ftp
success
[root@linuxprobe ~]# firewall-cmd --reload 
success
[root@linuxprobe ~]# setsebool -P ftpd_connect_all_unreserved=on
19.2.5 KickStart応答ファイルの作成

結局のところ、PXE +キックスタートを使用して、「無人伝送システムCDイメージサービス」ではなく、「無人インストールシステムサービス」のセットを展開しているため、クライアントホストがCDイメージを取得できるようにする必要があります。インストールプロセス中に表示されるオプションの自動入力を支援します。簡単に言うと、運用環境に100台のサーバーがある場合、それらは同じシステム環境をインストールする必要があり、ボタンをクリックして、インストールプロセス中に入力される情報も同じである必要があります。では、メモのような要件リストを作成してみませんか?このようにして、システムを無人でインストールする場合、この要件のリストから対応するオプション値を見つけることができます。これにより、手動入力の手間がなくなり、さらに重要なことに、人間の介入が完全に解放され、無人自動が完全に実装されます。システムCDイメージを単に転送する代わりに、システムをインストールします。

上記の予見により、キックスタートは実際にはサービスプログラムではなく、応答ファイルであると推測できるはずです。はい!キックスタート応答ファイルには、システムのインストール中に使用する必要があるオプションとパラメーター情報が含まれています。システムはこの応答ファイルの内容を自動的に取得できるため、無人インストールシステムを完全に実装できます。では、このファイルは非常に重要なので、どこに行けばよいでしょうか。実際、ルート管理者のホームディレクトリにanaconda-ks.cfgという名前のファイルがあり、これが応答ファイルです。次に、このファイルをvsftpdサービスプログラムの作業ディレクトリにコピーします(ブートオプションメニューの構成ファイルは、ファイルを取得するためのパス、つまりvsftpdサービスプログラムデータディレクトリのpubサブディレクトリを定義しています)。chmod コマンドを使用してファイルの権限設定し、クライアントホストが応答ファイルとその内容を正常に取得できるように、すべてのユーザーが読み取り可能な権限を持っていることを確認します。

[root@linuxprobe ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
[root@linuxprobe ~]# chmod +r /var/ftp/pub/ks.cfg

Kickstart応答ファイルは想像ほど複雑ではなく、合計で約46行のパラメーターとコメントしかありません。

まず、6行目のCDイメージのインストール方法をFTPプロトコルに変更し、FTPサーバーのIPアドレスを慎重に入力して、ローカルブラウザーで開き、エラーがないかどうかを確認します。次に、行21のタイムゾーンを上海(アジア/上海)に変更し、最後に行29でディスクオプションを設定して、すべてのディスクの内容をクリアし、ディスクを初期化します。

[root@linuxprobe ~]# vim /var/ftp/pub/ks.cfg 
 1 #version=RHEL7
 2 # System authorization information
 3 auth --enableshadow --passalgo=sha512
 4 
 5 # Use CDROM installation media
 6 url --url=ftp://192.168.10.10
 7 # Run the Setup Agent on first boot
 8 firstboot --enable
 9 ignoredisk --only-use=sda
 10 # Keyboard layouts
 11 keyboard --vckeymap=us --xlayouts='us'
 12 # System language
 13 lang en_US.UTF-8
 14 
 15 # Network information
 16 network --bootproto=dhcp --device=eno16777728 --onboot=off --ipv6=auto
 17 network --hostname=localhost.localdomain
 18 # Root password
 19 rootpw --iscrypted $6$pDjJf42g8C6pL069$iI.PX/yFaqpo0ENw2pa7MomkjLyoae2zjMz2UZJ7b H3UO4oWtR1.Wk/hxZ3XIGmzGJPcs/MgpYssoi8hPCt8b/
 20 # System timezone
 21 timezone Asia/Shanghai --isUtc
 22 user --name=linuxprobe --password=$6$a9v3InSTNbweIR7D$JegfYWbCdoOokj9sodEccdO.zL F4oSH2AZ2ss2R05B6Lz2A0v2K.RjwsBALL2FeKQVgf640oa/tok6J.7GUtO/ --iscrypted --gecos ="linuxprobe"
 23 # X Window System configuration information
 24 xconfig --startxonboot
 25 # System bootloader configuration
 26 bootloader --location=mbr --boot-drive=sda
 27 autopart --type=lvm
 28 # Partition clearing information
 29 clearpart --all --initlabel
 30 
 31 %packages
 32 @base
 33 @core
 34 @desktop-debugging
 35 @dial-up
 36 @fonts
 37 @gnome-desktop
 38 @guest-agents
 39 @guest-desktop-agents
 40 @input-methods
 41 @internet-browser
 42 @multimedia
 43 @print-client
 44 @x11
 45 
 46 %end

システムのデフォルトの応答ファイルに含まれるパラメーターが少なく、実稼働環境のニーズを満たせない場合は、Yumソフトウェアリポジトリからsystem-config-kickstartパッケージをインストールできます。これはグラフィカルなキックスタート応答ファイル生成ツールです。必要に応じてカスタマイズされた応答ファイルを生成し、生成されたファイルを/ var / ftp / pubディレクトリに配置して、名前をks.cfgに変更できます。 。

19.3自動クライアント展開

上記で説明した方法に従って、関連するさまざまなサービスプログラムを正常に展開した後、PXE +キックスタートを使用してシステムを無人でインストールできます。次の手順を使用して仮想ホストを作成する場合は、クライアントのネットワークカードモードをサーバーと同じ「ホストオンリーモード」に設定してください。そうしないと、システムの自動インストールはもちろん、2つのデバイスが通信できなくなります。残りのハードウェア構成オプションは必須ではありません。ここで構成オプションを参照して設定できます。

ステップ1:図19-5に示すように、「新しい仮想マシンウィザード」プログラムを開き、「標準(推奨)」構成タイプを選択して、「次へ」ボタンをクリックします。

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-5仮想マシンの構成タイプの選択

ステップ2:仮想マシンのオペレーティングシステムのインストールソースを「後でオペレーティングシステムをインストールする」に設定します。この目的は、仮想マシンがネットワークからシステムインストールイメージを実際に取得できるようにすることと、VMware Workstation仮想マシンソフトウェアが組み込みの方法に従ってシステムを単独でインストールすることを回避することです。図19-6に示すように、「次へ」ボタンをクリックします。

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-6仮想マシンのオペレーティングシステムのインストールソースの設定

ステップ3:図19-7に示すように、「ゲストオペレーティングシステム」を「Red Hat Enterprise Linux 7 64ビット」に設定し、「次へ」ボタンをクリックします。

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-7クライアントホストのオペレーティングシステムの選択

手順4:仮想マシンに名前を付け、インストール場所を設定します。仮想マシンの名前を定義し、できるだけ多くのディスク領域を持つパーティションを選択できます。次に、図19-8に示すように、[次へ]ボタンをクリックします。

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-8仮想マシンに名前を付け、仮想マシンのインストール場所を設定する

ステップ5:ディスク容量を指定します。ここで、「最大ディスクサイズ」は20GBに設定されています。これは、仮想マシンシステムがすぐにいっぱいになるのではなく、使用できる最大の上限を指すため、少し大きく設定しても問題ありません。次に、図19-9に示すように、[次へ]ボタンをクリックします。

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-9ディスク容量を20GBに指定

ステップ6:「新しい仮想マシンウィザード」が完了したら、急いで仮想マシンシステムを開かないでください。図19-10の[ハードウェアのカスタマイズ]ボタンをクリックする必要もあります。図19-11に示すポップアップインターフェイスで、[ネットワークアダプタ]デバイスも[ホストのみモード]に設定されています(この手順非常に重要です)、[OK]ボタンをクリックします。

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-10仮想マシンの「ハードウェアのカスタマイズ」ボタンをクリックします

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-11仮想マシンネットワークアダプタデバイスをホストオンリーモードに設定

これで、PXE + Kickstart無人インストールシステムと仮想ホストを同時に準備できました。運用環境では、適切に構成されたサーバーをシェルフに配置し、サーバーとクライアントホスト間にネットワークケーブルを接続して、クライアントホストを起動するだけです。次に、図19-12と図19-13に示すように、CDイメージファイルの転送と自動インストールが始まります。この間、手動による介入は必要ありません。インストールが完了するまで、運用および保守担当者は単純な初期化を実行する必要はありません。

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-12 CDイメージファイルの自動転送とシステムのインストール

第19章では、PXE + Kickstart無人インストールサービスを使用します。 第19章では、PXE + Kickstart無人インストールサービスを使用します。

図19-13手動介入なしの自動インストールシステム

実稼働環境でシステムをバッチでインストールするために数百台のサーバーが必要な場合、無人インストールシステムを使用することの便利さは自明です。

おすすめ

転載: www.cnblogs.com/gerenboke/p/12701077.html