VMware を使用して PXE バッチ インストール サーバーをテストする詳細なプロセス

VMware を使用して PXE バッチ インストール サーバーをテストする詳細なプロセス

1. 準備

1. 環境を整える

VMware ワークステーション

Centos7 を pxe サーバーとして使用する

住所:192.168.138.5

サブネットマスク: 255.255.255.0

ゲートウェイ: 192.168.138.2

selinuxとファイアウォールを無効にする

2. インストール方法

キックスタートインストール。 Kickstart は無人インストール方法です。その動作原理は、インストール プロセス中に通常は手動による介入が必要となるさまざまなパラメータを記録し、ks.cfg という名前のファイルを生成することです。インストール プログラムは、まず Kickstart によって生成されたファイルを検索します。適切なパラメータが見つかった場合は、そのパラメータを採用します。インストール プログラムは、ks.cfg の設定に従ってシステムを再起動し、インストールを終了します。

3. ネットワークカードの構成

ネットワーク カードにホストオンリー モードを選択し、ホストオンリー モードで DHCP 機能をキャンセルします。

ここに画像の説明を挿入

2. インストールフェーズ

system-config-kickstart ツールは後ほど ks ファイルを生成するために使用されるため、X Windows に依存する必要があり、事前にデスクトップ環境をインストールする必要があります。

yum -y groupinstall 'X Window System'

yum -y groupinstall 'GNOME デスクトップ環境'

1. httpdをインストールする

システムイメージファイルやksファイルを保存するにはhttp環境が必要なので、まずhttpをインストールしてください

yum で httpd をインストール

Systemctl スタート httpd

http://192.168.138.5 にアクセスしてください

ここに画像の説明を挿入

yumの設定
/dev/cdrom /mnt をマウントします
cd /mnt

2. tftp-serverをインストールする

yum -y tftpサーバーをインストールします

/etc/xinetd.d/tftp を変更し、disable の値を yes から no に変更します。

ここに画像の説明を挿入

サービスtftp
{
ソケットタイプ = dgram
プロトコル = udp
待つ = はい
ユーザー = ルート
サーバー = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
無効 = いいえ
パーソース = 11
cps = 100 2
フラグ = IPv4
}

xinetd プロセスを再起動します。xinetd がない場合は、yum を使用してインストールする必要があります。

systemctl xinetd.service を再起動します。

新しいtftpbootフォルダを作成する

mkdir -p /var/lib/tftpboot

3. pxeファイルをコピーする

syslinuxをインストールし、pxelinux.0ファイルを/var/lib/tftpbootにコピーします。

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

/var/www/html/cdromを作成してマウントする

/dev/cdrom /var/www/html/cdromをマウントします

Yumソース構成

ここに画像の説明を挿入

CDのinitrd.imgとvmlinuxzを/var/lib/tftpbootにコピーします。

cp /var/www/html/cdrom/images/pxeboot/initrd.img /var/lib/tftpboot
cp /var/www/html/cdrom/images/pxeboot/vmlinuz /var/lib/tftpboot
cp /var/www/html/cdrom/isolinux/boot.msg /var/lib/tftpboot

tftpbootに新しいpxelinux.cfgディレクトリを作成します

pxelinux.cfg をコピーします

cdromディレクトリのisolinux.cfgをpxelinux.cfgディレクトリにコピーし、ファイル名をdefaultに変更します。
cp /var/www/html/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
デフォルトのファイル構成を次のように編集します

デフォルト vesamenu.c32
タイムアウト 6000
boot.msg を表示
#メニューを表示したままにするのではなく、メニューを終了するときに画面をクリアします。
#vesamenuの場合、これはグラフィック背景がまだ表示されていることを意味します
#画面がグラフィック モードになっている限り、メニュー自体は表示されます。
メニューをクリア
メニュー背景スプラッシュ.png
メニュータイトル CentOS 7
メニュー vshift 8
メニュー行 18
メニュー余白 8
#メニューが非表示
メニュー ヘルプmsgrow 15
メニュータブ成長13
#国境地域
メニューの色 境界線 * #00000000 #00000000 なし

#選択された項目
メニューカラー選択 0 #ffffffff #00000000 なし

#タイトルバー
メニュー カラー タイトル 0 #ff7ba3d0 #00000000 なし

#[Tab]キーを押してメッセージを表示
メニューカラー tabmsg 0 #ff3a6496 #00000000 なし

#選択されていないメニュー項目
メニューの色 選択解除 0 #84b8ffff #00000000 なし

#選択されたホットキー
メニューカラーホットセル0 #84b8ffff #00000000 非

#選択されていないホットキー
メニューカラーホットキー 0 #ffffffff #00000000 なし
#ヘルプテキスト
メニュー カラー ヘルプ 0 #ffffffff #00000000 なし

#何らかのタイプのスクロールバーですか? よくわかりません。
メニューの色 スクロールバー 0 #ffffffff #ff355594 なし

#タイムアウトメッセージ
メニューカラータイムアウト 0 #ffffffff #00000000 なし
メニューの色 timeout_msg 0 #ffffffff #00000000 なし

#コマンドプロンプトテキスト
メニューカラー cmdmark 0 #84b8ffff #00000000 なし
メニュー カラー コマンドライン 0 #ffffffff #00000000 なし

#ユーザーがキーを押さない限り、実際のメニューは表示されません。表示されるのはタイムアウト メッセージだけです。

menu tabmsg メニュー項目の完全な設定オプションを表示するには、Tab キーを押します。

メニューセパレーター # 空行を挿入
メニューセパレーター # 空行を挿入

ラベル Linux
メニューラベル ^CentOS 7 をインストール
カーネル vmlinuz
#追加 initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
initrd=initrd.img リポジトリ=http://192.168.138.5/cdrom ks=http://192.168.138.5/ks.cfg を追加

ラベルチェック
メニューラベル この^メディアをテストしてCentOS 7をインストール
メニューのデフォルト
カーネル vmlinuz
initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet を追加します。

メニューセパレーター # 空行を挿入

#ユーティリティサブメニュー
メニュー開始^トラブルシューティング
メニュータイトル トラブルシューティング

ラベル ベサ
メニューインデント数 5
メニューラベル CentOS 7 を ^基本グラフィックモードでインストールする
テキストヘルプ
インストールに問題がある場合はこのオプションを試してください
CentOS7。
終了テキスト
カーネル vmlinuz
initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 xdriver=vesa nomodeset quiet を追加

デフォルトの CD-ROM
プロンプト 0

ラベルレスキュー
メニューインデント数 5
メニューラベル ^CentOS システムの復旧
テキストヘルプ
システムが起動しない場合は、ファイルにアクセスできます
設定ファイルを編集して、再度起動できるか試してください。
終了テキスト
カーネル vmlinuz
initrd=initrd.img を追加 inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rescue quiet

ラベル memtest
メニューラベル ^メモリテストを実行する
テキストヘルプ
システムに問題がある場合、
システムのメモリが原因の可能性があります。このユーティリティを使用して
メモリが正しく動作しているかどうかを確認します。
終了テキスト
カーネルメモリテスト

ラベル CD-ROM
カーネル vmlinuz
initrd=initrd.img ks=http://192.168.138.5/ks.cfg devfs=nomount を追加します

メニューセパレーター # 空行を挿入

ラベルローカル
メニューラベル ^ローカルドライブから起動
ローカルブート 0xffff

メニューセパレーター # 空行を挿入
メニューセパレーター # 空行を挿入

ラベル returntomain
メニューラベル ^メインメニューに戻る
メニュー終了

メニュー終了

httpdサービスを再起動する

cp /var/www/html/cdrom/isolinux/vesamenu.c32 /var/lib/tftpboot/

4. DHCPサービスをインストールする

yum –y dhcpをインストール

dhcpd.conf の例を /etc/dhcp/dhcpd.conf にコピーします。

dhcpd.conf を変更する

ここに画像の説明を挿入

next-server 192.168.138.5; ------------------ローカルアドレス、ksサーバーのアドレスとして使用される
ファイル名 "pxelinux.0";

サブネット 192.168.138.0 ネットマスク 255.255.255.0 {

範囲 192.168.138.10 192.168.138.50; -----------割り当てられたアドレスプール
オプションルーター 192.168.138.5;
オプション サブネットマスク 255.255.255.0;
オプション ドメインネームサーバー 192.168.138.5;
デフォルトのリース時間 86400;
最大リース時間 86400;
}

設定後、DHCPを起動します

サービスdhcpd開始

3.キックスタート自動インストールツールをインストールする

Yum 直接インストール

yum -y システム構成キックスタートをインストールします

デスクトップ環境でKickstartを起動する

システム構成キックスタート

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

必要に応じてパーティションを割り当てます。usr ディレクトリには 4G 以上を割り当てるようにしてください。

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

インストール パッケージのデスクトップ バージョンを選択してグラフィカル バージョンをインストールするか、自分で選択できます。この手順でエラーが報告された場合は、yumの設定を確認してください。

ここに画像の説明を挿入
ここに画像の説明を挿入

次の2つの項目は、ファイル→保存後にデフォルトで設定できます。

ここに画像の説明を挿入

このディレクトリに保存してks.cfgファイルを表示します

#platform=x86、AMD64、または Intel EM64T
#バージョン=開発中
#アップグレードではなくOSをインストールする
インストール
#キーボードレイアウト
キーボード「us」
#ルートパスワード
rootpw --iscrypted 11PObWbosO$B09PFFThWxWujr.TANYuJ.
#ネットワークインストールを使用する
url --url="http://192.168.138.5/cdrom"
#システム言語
言語 en_US
#システム認証情報
認証 --useshadow --passalgo=sha512
#グラフィカルインストールを使用する
グラフィカル
ファーストブート --disable
#SELinux の設定
selinux --無効

#ファイアウォールの設定
ファイアウォール --無効
#ネットワーク情報
ネットワーク --bootproto=dhcp --device=ens33
#インストール後に再起動
リブート
#システムタイムゾーン
タイムゾーン Asia/上海
#システムブートローダの設定
ブートローダ --location=mbr
#マスターブートレコードをクリアする
ゼロム
#パーティションクリア情報
クリアパーツ --all --initlabel
#ディスクパーティション情報
パート / --fstype="xfs" --size=10240
一部 /boot --fstype="xfs" --size=2048
一部 /home --fstype="xfs" --size=1024
一部 /var --fstype="xfs" --size=2048
部分 /tmp --fstype="xfs" --size=2048
一部 /usr --fstype="xfs" --size=4096
一部 /opt --fstype="xfs" --size=4096
パーツ交換 --fstype="swap" --size=4096

%パッケージ
@デスクトップデバッグ
@フォント
@gnomeデスクトップ
@kdeデスクトップ
レガシーx
@x11
xterm

%終わり

4. クライアントホストでテストする

新しい仮想マシンを作成し、pxe と入力して、ネットワークから dhcp をロードすることを選択すると、自動的にインストールされます。

/var/lib/dh​​cpd/dhcpd.leasesでは、新しく追加されたマシンに割り当てられたIPアドレスやその他の情報を確認できます。

ここに画像の説明を挿入

V. 関連サービス

systemctl スタート httpd
systemctl を有効にする httpd
systemctl dhcpd を起動します
systemctl dhcpd を有効にする
systemctl xinetd を起動します

ご自身でもテストしていただけます。ご不明な点がございましたらお気軽にご相談ください!

これで、VMware を使用して PXE バッチ インストール サーバーをテストする詳細なプロセスに関するこの記事は終了です。VMware の PXE テストに関する関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • VMware10.0 クラック版で CentOS をインストールする詳細な手順
  • VMware仮想マシンにdeepin20をインストールする最も完全で詳細なプロセス
  • 最新の仮想マシン VMware 14 インストール チュートリアル
  • VMware esxi6.5 のインストールと使用の詳細な手順
  • VMware15/16 VMwareのロックを解除してMacOSをインストールする詳細な手順
  • VMware、nmap、burpsuite インストール チュートリアル

<<:  WeChatミニプログラムはuni-appを通じて世界中に共有されます

>>:  MySQL シリーズ: MySQL リレーショナル データベースの基本概念

推薦する

MySql 学習 3 日目: データ テーブル間の接続とクエリの詳細

主キー:キーワード: 主キー機能: null にすることはできず、一意である必要があります。主キーの...

ダイナミッククロックを実現するJS+CSS

この記事の例では、動的な時計を実装するためのJS + CSSの具体的なコードを参考までに共有していま...

Nodejs モジュール システムのソースコード分析

目次概要CommonJS 仕様Node の CommonJS 仕様の実装モジュールのエクスポートとイ...

json.stringify() と json.parse() の違いと使い方

1. JSON.stringify() と JSON.parse() の違い私たちは皆、JSON.s...

MySQL で SQL 文の実行時間を表示する方法

目次1. 初期SQLの準備2.MysqlはSQL文の実行時間をチェックします3. さまざまなクエリの...

Vue3 における ref と reactive の詳細な説明と拡張

目次1. 参照と反応1. 反応的2.参照2. shallowRef と shallowReactiv...

MySQLのデッドロックチェック処理の通常の方法

通常、デッドロックが発生すると、重みが最も小さい接続が強制終了され、ロールバックされます。ただし、最...

Ubuntu 16.04 で FTP サーバーを構築するチュートリアル

Ubuntu 16.04 FTP サーバーをビルドするftpをインストールするftp をインストール...

JSはショッピングカート効果の単純な加算と減算を実装します

この記事の例では、ショッピングカートの簡単な追加と削除を実現するためのJSの具体的なコードを参考まで...

HTML におけるブロックコメントの使用に関する詳細な紹介

HTML の一般的なコメント: <!--XXXXXXXX--> (XXXXXXXX はコ...

nginx のロケーションと書き換えの使用法の詳細な説明

1. 位置情報の利用状況の概要ロケーションは、さまざまな処理方法に対してさまざまな種類のリクエストを...

Filebeat を使用して Nginx ログを収集する方法

Nginx ログは、ユーザーの住所の場所や行動プロファイルなどを分析するために使用できます。Elas...

CentOS8.0ネットワーク設定の実装

1. CentOS 7 と CentOS 8 のネットワーク構成の違い: VMware Workst...

Centos8 システムの VMware インストール チュートリアル図 (コマンド ライン モード)

目次1. ソフトウェアとシステムイメージ2. 仮想マシンを作成する3. CentOS8をインストール...

モバイルでのHTML5経由のファイルアップロード

ほとんどの場合、PC でファイルをアップロードするにはプラグインが使用され、フラッシュが導入されても...