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

推薦する

CSS における重要なカスケード概念の詳細な説明

最近、プロジェクトの過程で問題に遭遇しました。メニューバーを常に上部に表示し、後続の要素をその下に表...

UA による Web サイトのクロールを防ぐ Nginx のクローラー対策戦略

クローラー対策ポリシー ファイルを追加しました: vim /usr/www/server/nginx...

Vue ディレクティブ v-html と v-text

目次1. v-text テキストレンダリング命令2. v-html 1. v-text テキストレン...

JavaScript でグレイウルフのポットビーティングゲームを実装

1. プロジェクト文書 2. ページレイアウトにHTMLとCSSを使用するHTML部分 <di...

ファイルのアップロードの進行状況を示す React の例

目次React アップロードファイル表示の進行状況デモフロントエンドにReactアプリケーションを素...

Angular Cookie の読み取りおよび書き込み操作コード

Angular Cookie の読み取りおよび書き込み操作のコードは次のようになります。 var a...

Linux ハードウェア構成コマンドの例

ハードウェア ビュー コマンドシステム # uname -a # カーネル/オペレーティング システ...

JSコンストラクタとインスタンス化およびプロトタイプ導入の関係

目次1. コンストラクタとインスタンス化2. コンストラクターとインスタンス化の関係は何ですか? 3...

MySQL で重複レコードをクエリして削除する方法の完全なガイド

序文この記事では主に、MySQL で重複レコードをクエリして削除する方法を紹介します。参考と学習のた...

フロントエンドJavaScript ES6の詳細について

目次1. はじめに1.1 Babel トランスコーダ1.2 ポリフィル2. let と const ...

Vue elementUI フォームのネストされたテーブルと各行の検証の詳細な説明

目次エフェクト表示コードリンクキーコード表形式データコンポーネントのネスト検証方法リセット方法完全な...

Web 標準アプリケーション: Tencent QQ ホームページの再設計

Tencent QQのホームページがリニューアルされ、Webフロントエンド開発がますます注目を集めて...

Dockerコンテナを使用してプロキシ転送とデータバックアップを実装する方法

序文アプリケーションを Docker コンテナとしてサーバーにデプロイする場合、通常はネットワークと...

CSS 向け SASS スタイル プログラミング ガイド

SASS を使用する開発者が増えるにつれて、SASS コードの数に注意する必要があります。 SASS...

Mariadb リモート ログイン構成と問題解決

序文:インストール プロセスについては詳しく説明しません。問題に直接触れましょう。MySQL のリモ...