ラベル wol の投稿を表示しています。 すべての投稿を表示
ラベル wol の投稿を表示しています。 すべての投稿を表示

水曜日, 5月 08, 2013

Debianのネットワークインストール環境の構築

[概要]
Debianのネットワークインストール・サーバの構築方法を説明します。
[詳細]
前回はUbuntuネットワークインストール・サーバの構築をしました。今回はDebianのネットワークインストール環境の構築について説明します。ネットワークインストールには、ネットワークブート・サーバが必要でです。ネットワークブート・サーバの構築方法はこちらを参照してください。
[ネットワークインストール・イメージのダウンロード]
ネットワークインストール・イメージをDebianのミラーサイトからダウンロードします。
ミラーリストから日本のサイトを選んでダウンロードしてください。

下記にダウンロード方法の例を示します。
安定版のダウンロード:
amd64版(x86_64版)
root@linux00:~# wget http://ftp.nl.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/netboot.tar.gz
i386版
root@linux00:~# wget http://ftp.nl.debian.org/debian/dists/stable/main/installer-i386/current/images/netboot/netboot.tar.gz
明示的に7.0 (wheezy)をダウンロード:
amd64版(x86_64版)
root@linux00:~# wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/netboot.tar.gz
i386版
root@linux00:~# wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-i386/current/images/netboot/netboot.tar.gz

[ネットワークインストール・イメージの展開]
注意:ここでの説明は複数のOSネットワークインストールがない環境であることが前提です。
ダウンロードしたネットワークインストール・イメージを、tftpのディレクトリに展開します。
root@linux00:~# tar xfz -C netboot.tar.gz -C /var/tftpboot/
"/var/tftpboot"はtftpのルートディレクトリです。環境に合わせて適宜変更してください。
以上でサーバー側の設定は終了です。
[クライアントのブートの順序の変更]
ネットワークブートするようにBISOの設定を変更します。
[インストールの実施]
クライアントの電源を入れます。PXEのプログラムが起動し、その後インストーラ起動すれば、正しく動作していますので、インストーラーの指示に従って、インストールを行ってください。


以上で、Debianのネットワークインストールの環境の構築方法についての説明は終了です。

火曜日, 5月 07, 2013

Ubuntuのネットワークインストール環境の構築

[概要]
Ubuntuのネットワークインストール・サーバの構築方法を説明します。
[詳細]
前回はネットワークブート・サーバの構築をしました。今回はUbuntuのネットワークインストール環境の構築について説明します。
Ubuntuのネットワークインストールには2種類あり、サーバ版に同梱されているネットワークインストール・イメージを使用する方法と、デスクトップ版のLive イメージを使用する方法があります。
まず、今回はネットワークインストール・イメージを使用した方法について説明ます。Liveイメージを使った方法については回を改めて説明します。
[ISOイメージのダウンロード]
必要なISOイメージをダウンロードします。ネットワークインストールのイメージは、12.10以降はserverのisoイメージ、12.04以前ではalternateのisoイメージに含まれます。念のために、ファイル名は次のように構成さています。"ubuntu-バージョン-用途-アーキテクチャ.iso"。例:"ubuntu-13.04-server-amd64.iso"
[ネットワークインストール・イメージのコピー]
ダウンロードしたisoイメージから、ネットワークインストール・イメージをtftpのディレクトリをコピーします。
注意:ここでの説明は複数のOSネットワークインストールがない環境であることが前提です。
root@linux00:~# mount -o loop,ro ubuntu-13.04-server-amd64.iso /mnt/loop
root@linux00:~# rsync -av /mnt/loop/install/netboot/ /var/tftpboot/
"ubuntu-13.04-server-amd64.iso"はisoイメージ、"/mnt/loop"はisoイメージのマウント・ポイント、"/var/tftpboot"はtftpのルートディレクトリですので、環境に合わせて適宜変更してください。
以上でサーバー側の設定は終了です。
[クライアントのブートの順序の変更]
ネットワークブートするようにBISOの設定を変更します。
[インストールの実施]
クライアントの電源を入れます。PXEのプログラムが起動し、その後インストーラ起動すれば、正しく動作していますので、インストーラーの指示に従って、インストールを行ってください。



以上で、Ubuntuのネットワークインストールの環境の構築方法についての説明は終了です。

水曜日, 5月 01, 2013

PXEネットワークブート・サーバの構築

[概要]
ネットワークブート・サーバの構築方法を説明します。
[詳細]
ネットワーク・インストールやサーバのメンテナンスを行う際に、ネットワーク上からOSのイメージを自動でダウン・ロードして、作業を行うと非常に便利です。これを可能にするのがネットワークブートです。ネットワークブートにはPreboot eXecution Environment(PXE)という方式が一般的によく使われています。
そこで、PEXのネットワークブート・サーバの構築をtftpサーバを利用した方法について4回に分けて説明します。
第1回目の今回はサーバ・ソフトのセットアップについて説明します。
[PXEブートの仕組み]
PXEを実装したNICがブロードキャストで、DHCPサーバへIPアドレスなどのネットワークの設定とともに、bootサーバのIPアドレスとNBP(NetworkBootProgram)のパスと要求します。
IntelのPXEのスペック資料によると、左の図のようにNBTのパスを教えるをbootサービスはDHCPサーバではなくbootサーバの役目です。しかし、一般的にlinuxで利用されているiscのDHCPサーバでは、右の図のようにこの役割も兼ねていますので、DHCPサーバとbootサーバを分けることが出来ます。



  1. [前提条件]
    DHCPサーバとNFSサーバを使用します。それぞれのインストール、初期セットアップが終わっていることを前提に話を進めます。
  2. [tftp, syslinuxパッケージのインストール]
    tftpサーバ, syslinux, xinetdをインストールします。(tftpサーバとxinetdは依存関係があるの指定しなくともインストールされます。)
    • Debian系(Ubuntuなど)の場合
      root@linux00:~# apt-get install tftpd syslinux xinetd
    • Red Hat系 (CentOS, Fedoraなど)の場合
      root@linux00:~# yum install tftpd-server syslinux xinetd
  3. [ブートファイルの準備]
    PXE bootに必要なファイルをtftpサーバの管理下のディレクトリに配置します。
    1. [ディレクトリの作成]
      デフォルトのディレクトリは"/tftproot"になりますが、今回は"/var/tftpboot"を作成し使用します。
      root@linux00:~# mkdir /vat/tftpboot
      設定ファイルを置くディレクトリを作成します。
      root@linux00:~# mkdir /vat/tftpboot/pxelinux.cfg/
    2. [NBPのコピー]
      "pxelinux.0"をtftpのディレクトにコピーします。
      root@linux00:~# cp /usr/lib/syslinux/pxelinux.0 /vat/tftpboot
  4. [xinetdの設定]
    "tftpdapt-get"をインストールすると、tftpの設定ファイルが"/etc/xinetd.d/tftp"に作成されます。これを環境に合わせてカスタマイズします。
    下記の斜体になっている部分を必要に応じて変更または追記します。
    root@linux00:~# vi /etc/xinetd.d/tftp
    service tftp{
    disable = no # noからyesに変更
    socket_type = dgram
    protocol = udp
    port = 69
    user = nobody
    group = nogroup
    wait = yes
    server = /usr/sbin/in.tftpd
    server_args = /var/tftpboot # tftpdのルートディレクトリを指定します。defaultでよければ/tftpboot
    only_from = 192.168.1.0/24 # アクセスを許可するマシン、ネットワークを指定します。
    }
    編集が完了したらxinetdを設定ファイルを再読み込みします。
    [Debian系, RHEL 6.x系 (initで管理されているシステム)]
    root@linux00:~# /etc/init.d/xinetd reload
    [Fedora16以降 (systemdで管理されているシステム)]
    root@linux00:~# systemctl reload xinetd.service
  5. [DHCPサーバの設定]
    PXEbootを有効にするためには"/etc/dhcpd/dhcpd.conf"に下の4行を追加します。
    allow booting;
    allow bootp;
    next-server 192.168.1.2; #tftpサーバのホスト名、もしくはIPアドレス
    filename "/var/tftpboot/pxelinux.0"; #NBPのファイル・パス
  6. [NFSサーバの設定]
    "/etc/exports"にNFSの共有設定を行います。下記の例では、"/var/www/images"を共有し、"192.168.1.0"のネットワークからのmountを許可しています。
    /var/www/images 192.168.1.0/24(ro,no_root_squash,subtree_check)
    NFSの共有設定を有効にします。
    root@linux00:~# exportfs -r
以上でネットワークブートの準備が整いました。この環境にOS個々のインストール・イメージを登録することで、ネットワークインストールが可能になります。 次にネットワークインストール・イメージの登録を行います。 ディストリビューション毎に下のリンクをたどってください。
[参考文献] Intel Corporation (1999), 'Preboot Execution Environment (PXE) Specification Version 2.1'