遇到好多坑,这么简单的东西,花了2天时间,真是折腾。先讲下需要安装的东西。我的网络是两个网卡(虚拟机),其中一个是可以上外网的,连接在vmware的 nat网段。还有一个是192.168.231.0/24这个网段,这个网段是不需要上外网的,属于内部网络,实验中需要新装操作系统的机器就在这个网段。
apt-get install isc-dhcp-server
安装完成后,修改下/etc/dhcp/dhcpd.conf (我还修改了/etc/hosts 加入了 faiserver 对应的为192.168.231.2,也就是这个机器在第二个网段的ip )
subnet 192.168.231.0 netmask 255.255.255.0 { range 192.168.231.211 192.168.231.230; option domain-name-servers 223.5.5.5; option routers faiserver; option time-servers faiserver; option ntp-servers faiserver; server-name faiserver; next-server faiserver; filename "fai/pxelinux.0"; }
网络这一步就遇到了很多坑。
由于有两个网卡,其中一个我设置为了dhcp获取ip(也就是可以接入在nat网段的网卡eth0,而eth1是static的),导致eth1的网卡ip会变成192.168.231.212,原因是eth0是 发了一个dhcp请求。然后eth1的网卡ip就被分配。 (貌似也不是这个原因。后来受不了,卸载了isc-dhcp-client)
还有就是本来eth0连接的是vmware的桥接模式,但是实体机的无线网卡,似乎不能实现这个功能,试了很久,用有线网卡就可以实现这个功能(为什么需要?因为到时候机器要扔到真实的物理环境中去实际使用的,有了桥接我就可以用这个虚拟机server完成自动部署)
最后的网络配置是:
auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 192.168.232.129 netmask 255.255.255.0 gateway 192.168.232.2 auto eth1 iface eth1 inet static address 192.168.231.2 netmask 255.255.255.0
apt-get install tftpd-hpa
修改配置文件/etc/default/tftpd-hpa
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure"
忘记了,这个过程好像也会一起安装了nfs-commom和nfs-kernel-server(没有的话就自己装下)
apt-get intall fai-quickstart
安装好FAI以后,我们需要修改下配置/etc/fai/fai.conf
LOGUSER=fai FAI_CONFIG_SRC=nfs://192.168.231.2/srv/fai/config
修改nfsroot.conf
#FAI_DEBOOTSTRAP="wheezy http://mirrors.163.com/debian/" FAI_DEBOOTSTRAP="wheezy http://mirrors.zju.edu.cn/debian/" FAI_ROOTPW='$1$kBnWcO.E$djxB128U7dMkrltJHPf6d1' NFSROOT_ETC_HOSTS="192.168.231.2" NFSROOT=/srv/fai/nfsroot TFTPROOT=/srv/tftp/fai NFSROOT_HOOKS=/etc/fai/nfsroot-hooks/ FAI_DEBOOTSTRAP_OPTS="--arch amd64 --exclude=dhcp-client,info" # Configuration space FAI_CONFIGDIR=/srv/fai/config
修改/etc/fai/apt/sources.list,加入你自己需要的源,我这直接cp了 /etc/apt/sources.list
执行 fai-setup -v,创建NFSROOT和FAICONFIG等基础内容
执行 fai-chboot -IBv -u nfs://192.168.231.2/srv/fai/config default ,-u这个参数本来应该是不需要的,应该可以从fai.conf中获取,不过貌似失败了,强制加上。在/srv/tftp/fai/pxelinux.cfg中,default的内容为
default fai-generated label fai-generated kernel vmlinuz-3.2.0-4-amd64 append initrd=initrd.img-3.2.0-4-amd64 ip=dhcp root=/dev/nfs nfsroot=/srv/fai/nfsroot aufs FAI_FLAGS=verbose,sshd,reboot FAI_CONFIG_SRC=nfs://192.168.231.2/srv/fai/config FAI_ACTION=install
最后nfs的配置,会修改为以下内容,目录为/etc/exports
/srv/nfs4 134.95.9.128/25(fsid=0,ro,no_subtree_check) /srv/fai/config 10.10.82.121/24(async,ro,no_subtree_check) /srv/fai/nfsroot 10.10.82.121/24(async,ro,no_subtree_check,no_root_squash)
如果没有第一条配置,请加上!此处有巨大的坑,看连接
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676883#10