トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

NFSROOTによるディスクレスブート環境の構築

[PCクラスタ]

NFSROOTによるディスクレスブート環境の構築

 Debian squeeze上にネットワーク経由のディスクレスブート用環境を構築する。

master node側ファイル

 /etc/hosts

127.0.0.1       localhost
外向きNICのIP   hostname.hogehoge.com       hostname
192.168.99.1    hostname.mycluster.home     hostname
192.168.99.5    ssi5.mycluster.home         ssi5
192.168.99.6    ssi6.mycluster.home         ssi6
192.168.99.7    ssi7.mycluster.home         ssi7
192.168.99.8    ssi8.mycluster.home         ssi8
192.168.99.9    ssi9.mycluster.home         ssi9
192.168.99.10   ssi10.mycluster.home         ssi10
192.168.99.11   ssi11.mycluster.home         ssi11
192.168.99.12   ssi12.mycluster.home         ssi12

 /etc/fstab

proc          /proc               proc  defaults          0 0
UUID=hogehoge /                   ext4  errors=remount-ro 0 1
/boot         /srv/tftp/boot      none  bind              0 0
LABEL=OCFS2   /work               ocfs2 _netdev           0 0
/bin          /NFSROOT/slave/bin  none  bind              0 0
/usr          /NFSROOT/slave/usr  none  bind              0 0
/sbin         /NFSROOT/slave/sbin none  bind              0 0
/home         /NFSROOT/slave/home none  bind              0 0
/lib          /NFSROOT/slave/lib  none  bind              0 0
/opt          /NFSROOT/slave/opt  none  bind              0 0
/root         /NFSROOT/slave/root none  bind              0 0

 /etc/initramfs-tools/initramfs.conf

MODULES=netboot
BUSYBOX=y
KEYMAP=n
COMPRESS=gzip
BOOT=nfs
DEVICE=
NFSROOT=auto

 /srv/tftp/pxelinux.cfg/default

DEFAULT wheezy
LABEL wheezy
    kernel boot/vmlinuz-3.1.0-1-amd64
    append initrd=boot/initrd.img-3.1.0-1-slave ip=dhcp root=/dev/nfs nfsroot=192.168.99.1:/NFSROOT/slave rw

 /etc/default/atftpd

USE_INETD=false
OPTIONS="--daemon --port 69 --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 192.168.99.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /srv/tftp"

 /etc/ntp.conf

driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst
server ntp3.jst.mfeed.ad.jp iburst
server ntp.ring.gr.jp iburst
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

 /etc/default/isc-dhcp-server

INTERFACES="bond0"

 /etc/dhcp/dhcpd.conf

option dhcp-max-message-size 2048;
use-host-decl-names on;
update-static-leases on;
allow booting;
allow bootp;
ddns-update-style none;
log-facility local7;
subnet 192.168.99.0 netmask 255.255.255.0 {
    option routers 192.168.99.1;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.99.255;
    option domain-name "mycluster.home";
    option domain-name-servers DNSサーバIP1, DNSサーバIP2;
    option ntp-servers ntp1.jst.mfeed.ad.jp, ntp2.jst.mfeed.ad.jp, ntp3.jst.mfeed.ad.jp;
    range 192.168.99.5 192.168.99.250;
    default-lease-time 600;
    max-lease-time 7200;
    option nis-domain "blackthunder.nis";
    option nis-servers 192.168.99.254;
    filename "/srv/tftp/pxelinux.0";
    option root-path "/NFSROOT/slave";
    next-server 192.168.99.1;
    host ssi5 {
        hardware ethernet MACアドレス1;
        fixed-address 192.168.99.5;
        option host-name "ssi5";
    }
    host ssi6 {
        hardware ethernet MACアドレス2;
        fixed-address 192.168.99.6;
        option host-name "ssi6";
    }
    host ssi7 {
        hardware ethernet MACアドレス3;
        fixed-address 192.168.99.7;
        option host-name "ssi7";
    }
    host ssi8 {
        hardware ethernet MACアドレス4;
        fixed-address 192.168.99.8;
        option host-name "ssi8";
    }
}
group {
    filename "/srv/tftp/pxelinux.0";
    server-name "192.168.99.1";
    option root-path "/NFSROOT/slave";
    next-server 192.168.99.1;
}

 /etc/sysctl.conf

net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.ip_forward=1
net.ipv4.conf.all.accept_redirects = 0

 /etc/exports

/NFSROOT/slave 192.168.99.0/24(rw,sync,no_root_squash,no_subtree_check,fsid=0)

 /etc/yp.conf

ypserver 127.0.0.1

 /etc/ypserv.conf

192.168.99. : * : shadow.byname         : port
192.168.99. : * : passwd.adjunct.byname : port
*           : * : *                     : none

 /etc/defaults/nis

NISSERVER=master
NISCLIENT=true
YPPWDDIR=/etc
YPCHANGEOK=chsh
NISMASTER=
YPSERVARGS=
YPBINDARGS=-no-dbus
YPPASSWDDARGS=
YPXFRDARGS=

 /var/yp/Makefile

+ ALL = passwd shadow group hosts rpc services netid protocols netgrp

slave node側ファイル

 /etc/fstab

proc        /proc     proc  defaults 0 0
/dev/nfs    /         nfs   defaults 0 1
none        /tmp      tmpfs defaults 0 0
none        /var/run  tmpfs defaults 0 0
none        /var/lock tmpfs defaults 0 0
none        /var/tmp  tmpfs defaults 0 0
LABEL=OCFS2 /work     ocfs2 _netdev  0 0

 /etc/hosts

127.0.0.1       localhost
192.168.99.5    ssi5.mycluster.home         ssi5
192.168.99.6    ssi6.mycluster.home         ssi6
192.168.99.7    ssi7.mycluster.home         ssi7
192.168.99.8    ssi8.mycluster.home         ssi8
192.168.99.9    ssi9.mycluster.home         ssi9
192.168.99.10   ssi10.mycluster.home         ssi10
192.168.99.11   ssi11.mycluster.home         ssi11
192.168.99.12   ssi12.mycluster.home         ssi12

 /etc/resolv.conf

nameserver DNSサーバIP1
nameserver DNSサーバIP2

 /etc/hostname

空にする

 /etc/ntp.conf

driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 192.168.99.1 iburst
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

 /etc/default/o2cb

master nodeからコピー

 /etc/iscsi/iscsid.conf

master nodeからコピー

 /etc/ocfs2/cluster.conf

master nodeからコピー

コマンド

sudo apt-get install \
dhcp3-server atftpd nfs-kernel-server \
syslinux debootstrap ntp nis
sudo ne /var/yp/Makefile
sudo ne /etc/default/nis
sudo /usr/lib/yp/ypinit -m
sudo make -C /var/yp
sudo /etc/init.d/nis restart
sudo mkdir -p /NFSROOT
sudo sudo debootstrap wheezy \
/NFSROOT/slave \
http://ftp.jp.debian.org/debian/
sudo chroot /NFSROOT/slave
apt-get install open-iscsi ocfs2-tools ntp ne
sudo rm -rf bin/* usr/* sbin/* home/* lib/* opt/* root/* var/run/* var/lock/* var/tmp/*
sudo ne etc/fstab
sudo ne /etc/fstab
sudo cp /usr/lib/syslinux/pxelinux.0 /srv/tftp/
cd /srv/tftp
sudo mkdir boot
sudo mount --bind /boot /srv/tftp/boot
sudo ne /etc/initramfs-tools/initramfs.conf
sudo mkinitramfs -o boot/initrd.img-3.1.0-1-slave
sudo mkdir pxelinux.cfg
sudo ne pxelinux.cfg/default
sudo ne /etc/default/atftpd
sudo /etc/init.d/atftpd start
sudo ne /etc/default/ntpdate
sudo ne /etc/default/isc-dhcp-server
sudo ne /etc/dhcp/dhcpd.conf
sudo ne /etc/sysctl.conf
sudo ne /etc/exports
ypinit -s hostname.mycluster.home

最終更新時間:2012年01月12日 03時29分57秒