PXEを使用してCentOS7.6を自動的にインストールする方法の詳細なチュートリアル

PXEを使用してCentOS7.6を自動的にインストールする方法の詳細なチュートリアル

1. 需要

ベースには 300 台の新しいサーバーがあり、CentOS7.6 オペレーティング システムを独自にインストールする必要があります。バッチ インストールには PXE を使用することを選択します。

2. 準備

既存のネットワーク上の通常のサーバーに影響を与えないように、レイヤー 2 スイッチを使用して、オペレーティング システムがインストールされていないサーバーを接続します。

オペレーティング システム イメージをサーバーにアップロードし、PXE 環境に必要なサービスをインストールします。

イメージ ファイルをローカル ソフトウェア リポジトリとしてマウントします。

環境の準備

systemctl stop firewalld # ファイアウォールをオフにします setenforce 0 # 一時的に SELINUX をルーズ モードに設定します sed -i '/^SELINUX=/s/.*/SELINUX=disabled/' /etc/selinux/config # SELINUX を永続的に無効にします (有効にするには再起動が必要です)
mkdir -p /var/www/html/CentOS1810/
/tmp/CentOS-7-x86_64-DVD-1810.iso /var/www/html/CentOS1810 をマウントします。
/etc/yum.repos.d/backup をディレクトリに追加します。 
mv /etc/yum.repos.d/{*,backup} # エラーメッセージを無視します cat >/etc/yum.repos.d/local.repo<<EOF
[ローカルリポジトリ]
名前=ローカルリポジトリ
ベースURL=ファイル:///var/www/html/CentOS1810
gpgcheck=0
終了
yum clean all && yum makecache 
yum インストール httpd dhcp xinetd tftp-server syslinux -y

3. サービス構成

DHCPサービスを構成する

DHCPサーバー設定ファイルを変更する

mv /etc/dhcp/dhcpd.conf{,.bak} # デフォルトの設定ファイルをバックアップします cat>/etc/dhcp/dhcpd.conf<<EOF
サブネット 10.0.0.0 ネットマスク 255.255.255.0 { # 割り当てられたネットワークセグメントとマスクを定義します 範囲 10.0.0.1 10.0.0.252; # 割り当てられたアドレス範囲を定義します next-server 10.0.0.253; # ブートファイルのサーバー IP アドレスを指定します ファイル名 "pxelinux.0"; # ブートファイル名を指定します}
終了
systemctl dhcp を起動する
systemctl dhcp を有効にする
ss -nltup |grep :67

tftpサーバの設定

/etc/xinetd.d/tftpファイルを編集する

sed -i '/disable/s/yes/no/' /etc/xinetd.d/tftp
systemctl xinetd を起動します
systemctl xinetd を有効にする
ss -nltup |grep :69

関連するファイルをtftpサービスのデフォルトのホームディレクトリにコピーします。

mkdir /var/lib/tftpboot/pxelinux.cfg 
cp -a {/var/www/html/CentOS1810/isolinux/*,/usr/share/syslinux/pxelinux.0} /var/lib/tftpboot/ # ブートメニューとブートローダーをコピーします cp -a /var/www/html/CentOS1810/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

要約する

上記は、PXE を使用して CentOS7.6 を自動的にインストールする方法に関する詳細なチュートリアルです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • CentOS 6.4 での PXE+Kickstart によるオペレーティング システムの無人インストールの詳細な説明
  • PXEを使用してLinuxシステムを自動的に展開する方法
  • VMware は Centos7 システムの PXE+kickstart 無人インストールの詳細なプロセスを実装します
  • PXE キックスタート自動展開システムのインストール

<<:  フォームデータを取得するための Node.js メソッドの 3 つの例

>>:  MySQL テーブルの読み取り、書き込み、インデックス作成、その他の操作の SQL ステートメントの効率最適化の問題を分析します。

推薦する

ハイパーリンクアイコンの仕様: 記事の読みやすさを向上

1. ハイパーリンクアイコンの仕様とは?<br />ハイパーリンクアイコンの仕様は、「C...

MySQL 5.7 解凍版のインストール、アンインストール、および文字化けしたコードの問題のグラフィック解決

1. 解凍版のインストール(1)圧縮パッケージをダウンロードし、ディスクの場所に解凍します。圧縮パッ...

WeChatミニプログラムページとコンポーネント間の情報伝達と機能呼び出し

今回は、私自身の開発経験を踏まえて、以下の観点で関連内容を解説します。ページからコンポーネントにデー...

WeChatアプレットAmapマルチポイントルート計画プロセス例の詳細な説明

電話Amap API を呼び出す方法は? Amap が https://lbs.amap.com/a...

vue+node+socket ioは複数人のインタラクションを実現し、プロセス全体を解放します

1. 背景1. フロントエンドはvue + vuex + socket.io-clientを使用しま...

base target="" はリンクのターゲットオープンフレームを制御します

<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...

MySQL サーバー IO 100% 分析および最適化ソリューション

序文ストレス テスト中に、リソース使用のボトルネックによって発生する最も直接的なパフォーマンスの問題...

HTML テーブルタグチュートリアル (23): 行の境界線の色属性 BORDERCOLORDARK

行ごとに、暗い境界線の色を個別に定義できます。基本的な構文<TR 境界線の色を暗くする=col...

MySQL でタイムゾーンを表示および変更する方法

今日、プログラムが間違った時刻を挿入し、フィールドがデフォルト値 CURRENT_TIMESTAMP...

Spring Boot Docker パッケージング ツールの概要

目次スプリングブートDocker spring-boot-maven-プラグインSpotify Ma...

Linux 名前空間ユーザーの詳細な説明

ユーザー名前空間は Linux 3.8 で追加された新しい名前空間で、ユーザー ID やグループ I...

複数レベルの複雑な動的ヘッダーの avue-crud 実装例

目次序文バックグラウンドデータの結合フロントエンドデータ表示ページ効果表示Avue.js は、既存の...

MySQL での coalesce() の使用に関するヒントのまとめ

序文最近、偶然 MySQL の coalesce を発見しました。ちょうど時間があったので、MySQ...

MySQL 正規表現 (regexp と rlike) の検索機能の例分析

この記事では、例を使用して MySQL 正規表現 (regexp および rlike) の検索機能を...

H5ウェイクアップアプリの実装方法と注意点のまとめ

目次序文APPメソッドにジャンプURLスキームメタタグユニバーサルリンクさまざまな使い方URLスキー...