Debianのリモートインストール:PXE + SSH

挑戦する



リモートサイトにあるサーバーにDebian Lennyをインストールします。

サイトにはすでに1つのLinuxベースのサーバーがあり、新しいサーバーをネットワークに接続して電源を入れることができるエンジニアがいます。



解決策



PXE経由でnetinstallイメージをダウンロードし、network-consoleパッケージを使用してsshを使用してインストールします。



インターネットにはいつものようにドキュメントの断片がたくさんありますが、私はそれをすべてまとめようとしました。



既存のサーバー(たとえば、同じDebian Lennyがそこにインストールされます)には、dhcp3-server、tftpd-hpa、およびhttp-serverが必要です。



dhcp3-serverを構成します。

 /etc/dhcp3/dhcpd.conf

 ddns-update-style none;
オプションdomain-name "local";
 option domain-name-servers 192.168.1.1;

デフォルトのリース時間600。
最大リース時間7200;

信頼できる;

 log-facility local7;

サブネット192.168.1.0ネットマスク255.255.255.0 {
 オプションルーター192.198.1.1;
  option domain-name-servers 192.168.1.1;
 オプションdomain-name "local";
  next-server 192.168.1.1;
 ファイル名 "pxelinux.0";
 範囲192.168.1.100 192.168.1.250;
 }


next-serverオプションは、TFTPサーバーのIPアドレスをネットワークカードのPXEローダーに転送し、filenameはLinuxローダーのファイル名を提供します。



TFTPは特別な設定を必要としないため、次にpxelinuxブートローダー設定を設定する必要があります。これらは/var/lib/tftpboot/pxelinux.cfg/defaultファイルにあります。 このようなものでなければなりません:

デフォルトのlenny-ssh
プロンプト0
ラベルlenny-ssh
  カーネルLinux
   append initrd = initrd.gz locale = en_US console-keymaps-at / keymap = us netcfg / choose_interface = eth0 netcfg / get_hostname = debian netcfg / get_domain = local url = http://192.168.1.1/preseed.cfg


注意 、この設定ではインデントが重要です!

問題がある場合は、オプションDEBCONF_DEBUG = 5を追加してデバッグを有効にできます



ファイルpxelinux.0、linux、およびinitrd.gzはリポジトリから取得され、 pxelinux.0もそこにあります。



preseed.cfgファイルは次のようになります。

ディミラー/カントリーストリングマニュアル
 di mirror / http / hostname string mirror.yandex.ru
 di mirror / http /ディレクトリ文字列/ debian
 di mirror / http /プロキシ文字列

 di network-console / password password r00tme
ネットワークコンソール/パスワード再入力パスワードr00tme
 di preseed / early_command string anna-install network-console
 di anna / choose_modules文字列network-console

 tasksel tasksel /最初の複数選択none
 di pkgsel /文字列openssh-server sudo画面を含める
 di pkgsel / upgrade selectフルアップグレード


すべての人には、ロケールとネットワーク設定に関連するオプションが含まれていますが、これらのパラメーターを構成した後にpreseed.cfgファイルが接続されたため、initrdオプションとして渡す必要があるため、機能しませんでした。



実際には、新しいハードウェアをさらにオンにし、ホストが受信したIPアドレスをdhcpログで確認し、インストーラーログインとパスワードr00tmeを使用してssh経由で接続します



同様に、preseed.cfgを追加することにより、完全に自動化されたインストールを構成できます。 個人的には、このオプションは私にとって便利ではありません。サーバー上では、ディスクサブシステムの構成が異なることが多く、単一の「レシピ」がないためです。



参照資料


公式文書

2番目の公式命令

日本語で一番助けになったドック



All Articles