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の共通関数の概要

序文: MySQL データベースは、よく使用される集計関数、日付および文字列処理関数など、幅広い関数...

MYSQL の解凍版における中国語の文字化け問題の解決方法

MYSQLの解凍バージョンがインストールされます1: 解凍後、my.ini ファイルをコピーし、バイ...

NginxはLua+Redisを使用してIPを動的にブロックします

1. 背景日常的なウェブサイトのメンテナンスでは、このような要件に頻繁に遭遇します。特定のクローラー...

DockerでMySQLコンテナを作成する簡単な手順

序文すでに Docker をインストールしており、Docker について簡単に理解しています。ここで...

ES6の新機能に関する最もよく使われる知識ポイントのまとめ

目次1. キーワード2. 脱構築3. 文字列4. 正規化5. 配列6. 機能7. オブジェクト8.シ...

MySQL パフォーマンス ストレス ベンチマーク ツール sysbench の使い方の紹介

目次1. sysbenchの紹介#プロジェクトダウンロードアドレス: 2. Sysbenchのインス...

Dockerコンテナ終了エラーコードの手順

実行後、一部の Docker コンテナが終了することがあります。原因を調べるには、Docker コン...

Vue プロジェクトはファイルダウンロードの進行状況バー機能を実装します

日常業務でファイルをダウンロードする一般的な方法は 2 つあります。 1 つ目は、サーバーのファイル...

HTML の基礎_一般的なタグ、共通タグ、表

パート 1 HTML <html> -- 開始タグ<ヘッド>ウェブページ上の...

Windows サーバー ポートを開きます (例としてポート 8080 を使用します)

ポートとは何ですか?私たちが通常参照するポートは、物理的な意味でのポートではなく、具体的には TCP...

JavaScript のショートカットのヒント

目次1. 配列を結合する2. 配列をマージする(最初に) 3. 配列の複製4. 構造化分解割り当て5...

MySQL の日付と時刻関数の概要 (MySQL 5.X)

1. MySQLは現在の日付と時刻を取得する関数1.1 現在の日付 + 時刻 (日付 + 時刻) ...

共有サイドバーを実装するためのネイティブJS

この記事では、ネイティブ JS で実装された共有サイドバーを紹介します。効果は次のとおりです。 以下...

Docker ケース分析: Redis サービスの構築

目次1 マウントディレクトリとファイルを作成する2 Redisイメージを取得する3 コンテナを作成し...