{{category 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