Debianディスクレスクライアントの構築(クライアント編)

サーバの設定がほぼ終わったら、クライアントのインストールを進めていきます。クライアント側ではDebian live CDを起動し、作業を進めていきます。

  1. Debian live DVDの入手
    DVDのisoイメージはここからダウンロードしました。書き込みソフトを使ってブートDVDを作成します。
  2. 起動と初期設定
    DVDを作成したらlive環境を起動します。user, live でログイン後、”sudo bash”でrootになって作業します。設定をssh経由で他のPCから行いたかったので、ssh-serverとdebootconfigをインストールします。
    もちろんGUI環境でも同様の設定は可能です。

    # apt-get update
    # apt-get install nfs-common
    # apt-get install openssh-server
    # apt-get install debootconfig
    

    sshサーバを設定し、起動します。
    sshdの設定ファイルは2行変更しました。
    /etc/ssh/sshd_config

    PermitRootLogin yes
    PasswordAuthentication yes

    sshサーバを起動します。

    # service ssh start
  3. nfsサーバに最小限のDebian環境を構築する
    nfsでReadyNASの共有をマウントしてDebianの必要なファイルを配置します。
    まずnfs rootディレクトリをマウントします。さらにnfsでbootに必要なファイルをtftpboot共有にコピーするためにtftpboot共有もマウントしておきます。

    # mount -t nfs 192.168.1.3:/data/nfsroot64 /mnt
    # mount -t nfs 192.168.1.3:/data/tftpboot /mnt/boot

    マウントできたらdebootstrapを使って環境を構築します。(時間のかかる作業です)

    # /usr/sbin/debootstrap --arch amd64 jessie /mnt http://ftp.jp.debian.org/debian

    構築が終わったら必要な設定をしていきます。まずnfsroot環境に構築に必要なパッケージをインストールします。(カーネルのバージョンはupdateすると変わることがあるので注意)

    # chroot /mnt /usr/bin/apt-get update
    # chroot /mnt /usr/bin/apt-get install nfs-common
    # chroot /mnt /usr/bin/apt-get install linux-image-3.16.0-4-amd64
    # chroot /mnt /usr/bin/apt-get install initramfs-tools
    # chroot /mnt /usr/bin/apt-get install syslinux
    

    ネットワークの設定とrootfsのマウントはDHCPで設定されるので、その他の設定をしていきます。
    この先の作業はchrootして/mntをルートディレクトリとして作業します。

    # chroot /mnt /bin/bash

    pxebootに必要なファイルのコピー

    # cd /boot
    # wget http://ftp.jp.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/pxelinux.0
    # mkdir /boot/pxelinux.cfg

    pxebootの設定ファイルを/boot/pxelinux.cfg内に作成します。
    クライアントのMACアドレスごとに設定できます。MACアドレスに対応するファイルが存在しない場合は”default”が使われます。ネットブートするクライアントのMACアドレスは”98:4b:e1:08:86:90″なので、設定ファイル名は”01-98-4b-e1-08-86-90″です。先頭に01-をつけてMACアドレスをハイフンで結んだものになります。このとき16進数のアルファベットは小文字でなければなりません。(大文字にしてしまい、しばらくはまった)設定は以下の通りです。
    /boot/pxelinux.cfg/01-98-4b-e1-08-86-90

    default Debian
    prompt 1
    timeout 10
    label Debian
    kernel vmlinuz-3.16.0-4-amd64
    append rw initrd=initrd.img-3.16.0-4-amd64 root=/dev/nfs ip=dhcp nfsroot=192.168.1.3:/data/nfsroot64

    ここまででネットブート環境は整いました。

  4. 細かな設定
    リブートしpxeでの起動を確認します。この後は通常のインストールと同様に設定をしていきます。(手順は省略)
    ・ホスト名
    ・タイムゾーン
    ・ロケール
    など...