在debian8.7下实验
fai服务器信息:
ip 192.168.1.20
hostname: faiserver
在 /etc/hosts 写入: 192.168.1.20 faiserver
1、配置环境
安装 isc-dhcp-server、tftp-ahp、nfs-kernel-server、nfs-common
一般安装fai-quickstart包会把上述包都装上
2、先配置dhcp
vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 { #定义作用域的子网范围
range 192.168.1.211 192.168.1.230; #DHCP提供的主机IP地址范围
option domain-name-servers 192.168.1.1;
option domain-name "example.org"; #DNS等 域名信息
option routers 192.168.1.1; #默认网关
option broadcast-address 192.168.1.255; #广播地址
default-lease-time 600; #缺省时,IP地址有效租约时间
max-lease-time 7200; #最长租约时间
next-server 192.168.1.20; #指定PXE客户端查找的服务器地址
filename "fai/pxelinux.0"; #PXE客户端查找的配置文件
}
注释:可以cp /usr/share/doc/fai-doc/example/etc/dhcpd.conf /etc/dhcp/dhcpd.conf 获得
记得覆盖前先备份
3、配置tftp
cat /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"
4、配置nfsroot.conf
cat /etc/fai/nfsroot.conf
NFSROOT=/srv/fai/nfsroot #NFS-Root目录路径
TFTPROOT=/srv/tftp/fai #指定TFTP服务根目录路径
NFSROOT_ETC_HOSTS="192.168.1.20" #指定NFS服务器地址
#使用fai-setup命令创建NFSROOT目录时下载软件包的地址
FAI_DEBOOTSTRAP="wheezy http://mirrors.sohu.com/debian"
NFSROOT_HOOKS=/etc/fai/nfsroot-hooks/
FAI_DEBOOTSTRAP_OPTS=" --exclude=dhcp-client,info"
5、配置 /etc/fai.conf
# Account for saving log files and calling fai-chboot.
LOGUSER=fai
# URL to access the fai config space
# If undefined, use default nfs://<install server>/$FAI_CONFIGDIR
FAI_CONFIG_SRC=nfs://faiserver/srv/fai/config
7、 配置pxelinux.cfg/defaut ,使用命令
fai-chboot -IBv -u nfs://192.168.1.20/srv/fai/config default ,最终,default文件内容如下:
cat default
# generated by fai-chboot for host default with IP no IP
default fai-generated
label fai-generated
kernel vmlinuz-3.16.0-5-amd64
append initrd=initrd.img-3.16.0-5-amd64 ip=dhcp root=/srv/fai/nfsroot aufs FAI_FLAGS=verbose,
sshd,reboot FAI_CONFIG_SRC=nfs://192.168.1.20/srv/fai/config FAI_ACTION=install
8、确认nfs目录是否正确在/etc/export下查看是否有
/srv/fai/config 192.168.1.20/24(async,ro,no_subtree_check)
/srv/fai/nfsroot 192.168.1.20/24(async,ro,no_subtree_check,no_root_squash)
9、定义分区及启动标志
cat /srv/fai/config/disk_config/FAIBASE
# example of new config file for setup-storage
#
# <type> <mountpoint> <size> <fs type> <mount options> <misc options>
disk_config disk1 disklabel:msdos bootable:1 fstabkey:uuid
primary / 10G ext4 rw,noatime,errors=remount-ro
logical swap 8G swap sw
logical /home 100-100% ext4 rw,noatime,nosuid,nodev createopts="-L home -m 1" tuneopts="-c 0 -i 0"
10、定义客户端需要安装的软件包
cat /srv/fai/config/package_config/FAIBASE
PACKAGES aptitude DEBIAN
cron
debconf-utils
file
hdparm
less
linuxlogo
rdate
openssh-client openssh-server
strace
time
procinfo
nullmailer
eject
locales
console-setup kbd
pciutils usbutils
lvm2
cp /srv/fai/config/class/FAIBASE.var /srv/fai/config/class/FAIBASE.var.bak
sed -i "s/TIMEZONE=.*/TIMEZONE=Asia\/Shanghai/g" /srv/fai/debian7/class/FAIBASE.var
12、重启服务
/etc/init.d/isc-shcpd-servers restart
/etc/init.d/tftp-ahp restart
/etc/init.d/nfs-common restart
/etc/init.d/nfs-kernel-server restart
注:/srv/fai/config中的文件需要到/usr/share/doc/fai-doc/example/simple/文档拷贝
cp -a /usr/share/doc/fai-doc/example/simple/* /srv/fai/config
参考:http://fai-project.org/fai-guide.html
http://blog.51cto.com/7938217/1701161
http://www.bubuko.com/infodetail_103176.html
fai服务器信息:
ip 192.168.1.20
hostname: faiserver
在 /etc/hosts 写入: 192.168.1.20 faiserver
1、配置环境
安装 isc-dhcp-server、tftp-ahp、nfs-kernel-server、nfs-common
一般安装fai-quickstart包会把上述包都装上
2、先配置dhcp
vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 { #定义作用域的子网范围
range 192.168.1.211 192.168.1.230; #DHCP提供的主机IP地址范围
option domain-name-servers 192.168.1.1;
option domain-name "example.org"; #DNS等 域名信息
option routers 192.168.1.1; #默认网关
option broadcast-address 192.168.1.255; #广播地址
default-lease-time 600; #缺省时,IP地址有效租约时间
max-lease-time 7200; #最长租约时间
next-server 192.168.1.20; #指定PXE客户端查找的服务器地址
filename "fai/pxelinux.0"; #PXE客户端查找的配置文件
}
注释:可以cp /usr/share/doc/fai-doc/example/etc/dhcpd.conf /etc/dhcp/dhcpd.conf 获得
记得覆盖前先备份
3、配置tftp
cat /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"
4、配置nfsroot.conf
cat /etc/fai/nfsroot.conf
NFSROOT=/srv/fai/nfsroot #NFS-Root目录路径
TFTPROOT=/srv/tftp/fai #指定TFTP服务根目录路径
NFSROOT_ETC_HOSTS="192.168.1.20" #指定NFS服务器地址
#使用fai-setup命令创建NFSROOT目录时下载软件包的地址
FAI_DEBOOTSTRAP="wheezy http://mirrors.sohu.com/debian"
NFSROOT_HOOKS=/etc/fai/nfsroot-hooks/
FAI_DEBOOTSTRAP_OPTS=" --exclude=dhcp-client,info"
5、配置 /etc/fai.conf
# Account for saving log files and calling fai-chboot.
LOGUSER=fai
# URL to access the fai config space
# If undefined, use default nfs://<install server>/$FAI_CONFIGDIR
FAI_CONFIG_SRC=nfs://faiserver/srv/fai/config
6、执行 fai-setup -v,创建 nfsroot ,结束的时候会提示 fai-setup finished ,这一步会配置好 nfsroot 目录,并且将pxelinu.cfg引导文件 copy到 tftp 的根目录
注:如果当前存在 /srv/fai/nfsroot 目录,则会报错,将该目录删掉即可正常执行命令。7、 配置pxelinux.cfg/defaut ,使用命令
fai-chboot -IBv -u nfs://192.168.1.20/srv/fai/config default ,最终,default文件内容如下:
cat default
# generated by fai-chboot for host default with IP no IP
default fai-generated
label fai-generated
kernel vmlinuz-3.16.0-5-amd64
append initrd=initrd.img-3.16.0-5-amd64 ip=dhcp root=/srv/fai/nfsroot aufs FAI_FLAGS=verbose,
sshd,reboot FAI_CONFIG_SRC=nfs://192.168.1.20/srv/fai/config FAI_ACTION=install
8、确认nfs目录是否正确在/etc/export下查看是否有
/srv/fai/config 192.168.1.20/24(async,ro,no_subtree_check)
/srv/fai/nfsroot 192.168.1.20/24(async,ro,no_subtree_check,no_root_squash)
9、定义分区及启动标志
cat /srv/fai/config/disk_config/FAIBASE
# example of new config file for setup-storage
#
# <type> <mountpoint> <size> <fs type> <mount options> <misc options>
disk_config disk1 disklabel:msdos bootable:1 fstabkey:uuid
primary / 10G ext4 rw,noatime,errors=remount-ro
logical swap 8G swap sw
logical /home 100-100% ext4 rw,noatime,nosuid,nodev createopts="-L home -m 1" tuneopts="-c 0 -i 0"
10、定义客户端需要安装的软件包
cat /srv/fai/config/package_config/FAIBASE
PACKAGES aptitude DEBIAN
cron
debconf-utils
file
hdparm
less
linuxlogo
rdate
openssh-client openssh-server
strace
time
procinfo
nullmailer
eject
locales
console-setup kbd
pciutils usbutils
lvm2
vim
cp /srv/fai/config/class/FAIBASE.var /srv/fai/config/class/FAIBASE.var.bak
sed -i "s/TIMEZONE=.*/TIMEZONE=Asia\/Shanghai/g" /srv/fai/debian7/class/FAIBASE.var
12、重启服务
/etc/init.d/isc-shcpd-servers restart
/etc/init.d/tftp-ahp restart
/etc/init.d/nfs-common restart
/etc/init.d/nfs-kernel-server restart
注:/srv/fai/config中的文件需要到/usr/share/doc/fai-doc/example/simple/文档拷贝
cp -a /usr/share/doc/fai-doc/example/simple/* /srv/fai/config
参考:http://fai-project.org/fai-guide.html
http://blog.51cto.com/7938217/1701161
http://www.bubuko.com/infodetail_103176.html