Centos6.9システムステップのPXE + Kickstart + HTTP無人バッチインストールの完全な説明
記事ディレクトリ
0.原則
0.1 PXE
- 名前:プリブート実行環境、プリブート実行環境
- 作業環境:クライアント/サーバーネットワークモード
- 作業内容:ブート方法、PXEプロトコルにより、コンピューターをネットワーク経由で起動できます。ネットワークを介したサーバーからのシステムイメージのダウンロードをサポートし、ネットワークを介してオペレーティングシステムを起動するために使用されます。PXEプロトコルを実行するには、DHCPサーバーとtftpサーバーをセットアップする必要があります。
- DHCPサーバーはPXEクライアント(システムがインストールされるホスト)にIPアドレスを割り当て、DHCPサーバーを構成するときに対応するPXE設定を追加する必要があります。
- PXEクライアントは、TFTPプロトコルを介して必要なファイルをTFTPサーバーにダウンロードできます。
0.2 PXE作業プロセス
0.3キックスタート
-
定義:無人インストール方法。
-
動作原理:インストールプロセス中に手動による介入を必要とするさまざまなパラメーター(パーティション設定/ネットワーク設定など)の一部を記録し、ks.cfgという名前のファイルを生成します。
-
インストールプロセス中に入力するパラメータがある場合、インストールプログラムはまずキックスタートによって生成されたファイルを探します。適切なパラメータが見つかった場合、見つかったパラメータが使用されます(適切なパラメータがない場合は手動での介入が必要です)。
-
システムのインストール後、インストールプログラムはks.cfgの設定に従ってシステムを再起動し、インストールを終了します
システムイメージファイルを食材とインストールされたシステムを料理のテーブルとして比較する場合、ks.cfgファイルはおいしい料理のテーブルを作成するためのレシピです
料理の名前は次のとおりです。言語環境/キーボード設定/ネットワーク構成/パーティション設定/ユーザーパスワード設定/インストールパッケージ設定/ grubスタートアップ設定など。
インストールするシステムのホストがこのファイルのコマンドを実行できるのはいつですか?もちろん、システムがinit.d初期化に入り、ネットワークカードに番号が構成された後、インストールシステムがks.cfgファイルをミラーソースの場所から正常にロードした後でのみ、ネットワークカードを実行できます。
1. Centos6ステップの無人インストールを実現するPXE + Kickstart
1.1実験の準備とソフトウェアのインストール
要件:Centos6で完了
実験の準備:2つのホスト、1つのcentos6.9(完全な静的構成IPアドレス)、および1つのクライアント(システムなし)
実験環境:VMware Workstation 15
ネットワークモード:NAT
ネットワークカードeth0 IP:192.168.6.146/24
centos7 IPアドレスを静的に構成する方法については、以前の記事を参照してください。Centos7/ Ubuntu1604ネットワーク静的構成IPアドレスプロセス
- ファイアウォールとselinuxをオフにする
[root@lin ~]# iptables -F
#还没有学过防火墙服务的,简单粗执行这个命令就行了
#系统若有重启再关掉,以免待安装主机TFTP请求不成功加载不了镜像文件
[root@lin ~]# setenforce 0
#可以永久性修改:/etc/sysconfig/selinux 中修改成这个字段:SELINUX=disabled
- 実験に必要なソフトウェアをインストールし、結果は図に示されています
[root@lin ~]# yum install httpd tftp-server dhcp syslinux system-config-kickstart -y
httpd
#为安装操作系统过程提供光盘文件,(其实:也可也以选择ftp服务来传输)
tftp-server
#存放应答文件和pxelinux.0文件
syslinux
#提供pxelinux.0等文件
dhcp
#为客户机分配ip地址
system-config-kickstart
#用来制作ks文件即菜谱,前提是:需要图形化界面启动,后面会教你安装图形化界面环境和工具
- インストールされたサービスが起動時に自動的に開始するように設定し、サービスを開始します
[root@lin ~]# chkconfig dhcpd on #设定在各个等级(2,3,4,5)为on,系统重启就不用操心这个服务
[root@lin ~]# service xinetd start
Starting xinetd: [ OK ]
-
xウィンドウとデスクトップをインストールして再起動する必要がある
ks.cfgファイルを生成するにはsystem-confgi-kickstartツールが必要であり、このツールはXウィンドウに依存します
(ファイアウォールとSElinuxを再度オフにすることを忘れないでください):
[root@lin ~]# yum groupinstall "Desktop" "X Window System"
[root@lin ~]# yum groupinstall Fonts
[root@lin ~]# reboot
- **サービス開始HTTP + **自動開始設定
[root@lin ~]# /etc/init.d/httpd start
Starting httpd:
[root@lin ~]# chkconfig --level 35 httpd on
#--level 35表示操作只在等级3和5执行,on表示启动
-
ISOイメージをロードしてマウントする
-
ISOイメージを仮想マシン(CDなど)にロードするように設定します
ミラーイメージをダウンロードするだけでなく、CDまたはネットワークを介してインストールすることもできます。wgetコマンドを使用して、ミラーソースをローカルにダウンロードします。この方法は、ミラーイメージを検出します
-
- ISOファイルを/ mnt / cdromにマウントします
[root@lin ~]# mkdir /mnt/cdrom
[root@lin ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
-
CDの内容をhttpのルートディレクトリにコピーします。
[root@lin ~]# cp -r /mnt/cdrom /var/www/html/
1.2 TFTPサービスの設定
- tftpサービスを有効にするtftp-server
[root@lin ~]# vi /etc/xinetd.d/tftp
service tftp
{
disable = no #修改这里
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
tftpサービスはスーパープロセスxinetdの下にマウントされ、tftpサービスはxinetdを開始することによって開始され、ブート後に自動的に開始するように設定されています。
[root@lin ~]# /etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
[root@lin ~]# chkconfig xinetd on
1.3イメージファイルのコピー+システムスタートアップ構成ファイルの変更
- pxelinux.0ファイルを/ var / lib / tftpbootフォルダーにコピーします
[root@lin ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
syslinuxはブートローダーです。小さなlinuxオペレーティングシステムは、初めてlinuxをインストールする時間を簡略化し、他の専用ブートディスクを確立して維持します。
- isoイメージの/ image / pxeboot /ディレクトリにあるinitrd.imgとvmlinuzを/ var / lib / tftpbootフォルダにコピーします
[root@lin ~]# cp /var/www/html/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
- isoイメージの** / isolinux / *。msg **を/ var / lib / tftpbootディレクトリにコピーします
[root@lin ~]# cp /var/www/html/cdrom/isolinux/*.msg /var/lib/tftpboot/
- / var / lib / tftpboot /に新しいpxelinux.cfgディレクトリを作成し、isoイメージの/ isolinuxディレクトリにあるisolinux.cfgをpxelinux.cfgディレクトリにコピーして、ファイル名をデフォルトに変更します
[root@lin ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@lin ~]# cp /var/www/html/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
- デフォルトのファイルを変更する
[root@lin ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 1 #显示:boot:提示符
timeout 600 #用户输入前的超时时间,单位为毫秒
display boot.msg #默认在/var/lib/tftpboot目录下显示某个文件内容
label linux
kernel vmlinuz #kernel 参数指定要启动的内核
append initrd=initrd.img #追加给内核的参数
label ks
kernel vmlinuz
append ks=http://192.168.6.146/ks.cfg initrd=initrd.img #镜像源的ip地址,注意是http没有s
#指明获取ks.cfg文件的位置
1.4 DHCPサービスの構成
- 構成テンプレートをDHCP構成ディレクトリにコピーします。
[root@lin ~]# cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
- ** / etc / dhcp / dhcpd.conf **構成ファイルを変更します
ddns-update-style interim;
ignore client-updates;
filename "pxelinux.0";
next-server 192.168.6.146;
subnet 192.168.6.0 netmask 255.255.255.0 {
option routers 192.168.6.2; #网关ip地址
option subnet-mask 255.255.255.0; #掩码
range dynamic-bootp 192.168.6.200 192.168.6.250; #设定分配ip 地址的范围
default-lease-time 21600;
max-lease-time 43200;
}
#除此以外其他内容可以删掉
- dhcpサービスを開始する
[root@lin ~]# /etc/init.d/dhcpd start
Starting dhcpd: [ OK ]
#启动失败的话根据提示
#查看日志文件,需要查看是否格式写对,是否写漏分号
#查看启动状态 service dhcpd status
1.5キックスタート構成ファイルの生成
-
X Windows環境を開始する
[root@lin ~]# startx
-
端末でsystem-config-kickstartを実行します
A.言語、キーボード、タイムゾーン、ルートパスワードの設定、インストール後の再起動など
B.インストール方法を設定します。この記事ではHTTPインストールを紹介しています。HTTPCを選択してください。MBR
をインストールしてください
D.パーティション設定
E.ネットワークを構成する
F.認証構成
G. SElinuxとファイアウォールの構成
H.グラフィカル環境の構成
I.パッケージインストールオプション(最小化)
J.ksファイル設定プレビュー
K. ks.cfgファイルを生成し、ファイルを/ var / www / htmlフォルダーに保存します
実際、ksファイルは手動で編集して生成することもできます。仕様を満たし、ドキュメント内のどの場所にも中国語が表示されず、上の図で指定した場所に保存できる限り、関連情報を自分で検索できます。
1.6クライアントシステムの無人インストール
A.仮想マシンを作成する
B.ネットワーク構成、「起動時に接続」、NATモードを選択
C. 仮想マシンを起動し、ネットワークカードを起動し、DHCPサーバーがクライアントにIPアドレスを割り当て、TFTPサービスを要求している
D. Enterキーを押してシステムのインストールを開始します
E.インストールが完了しました