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 リレーショナル データベースの基本概念

推薦する

process.env.NODE_ENV 本番環境モードを設定する方法

始める前に、process.env.NODE_ENV にはデフォルトで開発と本番の 2 つの状態しか...

アリババの中秋節ロゴとウェブサイトのデザインプロセス

<br />まずアイデアを考え、次にスケッチを描き、次にマウスでスケッチし、最後にフラッ...

sed コマンドを使用して文字列を置換する Linux チュートリアル

文字列を置き換えるには、次の形式を使用する必要があります。 $ sed s/置換対象文字列/置換文字...

Linux での NTP サーバー設定の詳細な手順

目次1. 環境設定1.NTPサーバー2. ビジネスサーバー2. NTPサーバーの設定1. chron...

CentOS 7.6 への MySQL 5.7 GA バージョンのインストール チュートリアル図

目次環境の準備環境の準備mariadbをアンインストールする rpm -qa | grep mari...

nginx「504 ゲートウェイタイムアウト」エラーを解決する

ウェブサイトを作成する学生は、アクセス時に一部の nginx サーバーが 504 Gateway T...

div の水平レイアウトを両側に揃える 3 つの方法

この記事では、主に、div の水平レイアウトの両側の配置を実装する 3 つの方法を紹介し、それらを共...

Linuxは、単一のIPをバインドするためにデュアルネットワークカードを実装するためにボンドを使用します。サンプルコード

ネットワークの高可用性を実現するには、複数のネットワーク カードを仮想ネットワーク カードにバインド...

VMware ワークステーションの仮想マシンの互換性の問題に対する解決策

VMware ワークステーションの仮想マシンの互換性の問題を解決するにはどうすればよいですか?ノート...

MySQL 権限とデータベース設計のケーススタディ

権限とデータベース設計ユーザー管理SQLyogを使用してユーザーを作成し、権限を付与する基本コマンド...

MySQL におけるさまざまな一般的な結合テーブルクエリの例の概要

この記事では、例を使用して、MySQL のさまざまな一般的な結合テーブルクエリについて説明します。ご...

Vue2とVue3の兄弟コンポーネント通信バスの違いと使い方

目次vue2.x vue3.x tiny-emitterプラグインの使用Mittプラグインの使用vu...

反応自動構築ルーティングの実装

目次順序1. 集中ルーティング2. ファイルディレクトリ3. CompileRouterを作成する4...

MySQL で固定されていない位置から文字列要素を抽出する方法

序文注: テストデータベースのバージョンはMySQL 8.0ですテストデータ: テーブルzqs(id...

JSは星を消すケースを実現する

この記事の例では、星を消すためのJSの具体的なコードを参考までに共有しています。具体的な内容は次のと...