Debian Fully Automatic Installation PXE自动安装FAI
安装软件包:自动安装DHCP、TFTP、NFS
wget -O - https://fai-project.org/download/074BCDE4.asc | apt-key add -
echo "deb http://fai-project.org/download stretch koeln" > /etc/apt/sources.list.d/fai.list
apt-get update
aptitude install fai-quickstart -yapt-get install qemu-user-static -y
开启内网NAT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 172.16.1.1 #开启端口转发
echo 1 > /proc/sys/net/ipv4/ip_forward
配置DHCP服务:安装DHCP服务是为了给需要安装操作系统的客户端分配IP地址。
vi /etc/dhcp/dhcpd.confddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0 {interface eth1;range 192.168.1.100 192.168.1.250;next-server 192.168.1.1; #指定PXE客户端查找的服务器filename "fai/pxelinux.0"; #指定启动文件/srv/tftp/option routers 192.168.1.1;option domain-name-servers 114.114.114.114;
}
debian9中需要设置ipv4端口
vi /etc/default/isc-dhcp-server
INTERFACESv4="eth1"
配置TFTP服务:安装TFTP服务是为了让需要安装操作系统的客户端可以下载支持PXE的启动文件。
vi /etc/default/tftpd-hpaTFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="192.168.1.1:69" #更改为tftp的ip
TFTP_OPTIONS="--secure"
配置FAI源列表
直接使用/etc/apt/sources.list覆盖/etc/fai/apt/sources.list文件
cat /etc/apt/sources.list > /etc/fai/apt/sources.list
配置FAI主配置文件
修改/etc/fai/fai.conf文件如下内容
LOGUSER=fai
FAI_CONFIG_SRC=nfs://192.168.1.1/srv/fai/config #FAI配置文件的存放路径
配置FAI-NFS服务
修改/etc/fai/nfsroot.conf
# For a detailed description see nfsroot.conf(5)# "<suite> <mirror>" for debootstrap
FAI_DEBOOTSTRAP="stretch http://mirrors.163.com/debian"
FAI_ROOTPW='$1$kBnWcO.E$djxB128U7dMkrltJHPf6d1'NFSROOT=/srv/fai/debian9
TFTPROOT=/srv/tftp/faiNFSROOT_HOOKS=/etc/fai/nfsroot-hooks/
NFSROOT_ETC_HOSTS="192.168.1.1"
#FAI_DEBOOTSTRAP_OPTS="--exclude=wget"
FAI_DEBOOTSTRAP_OPTS="--arch amd64 --exclude=info --include=aptitude"# Configuration space
FAI_CONFIGDIR=/srv/fai/config
创建FAI所需内容
fai-setup -v
生成默认配置模版
#新版无需在复制
cp -a /usr/share/doc/fai-doc/examples/simple/* /srv/fai/config
创建支持PXE服务器所需的启动、配置文件
fai-chboot -IBv -u nfs://192.168.1.1/srv/fai/config default
配置文件分区软件包修改
修改default配置文件
vi /srv/tftp/fai/pxelinux.cfg/default
default 0
prompt 1
timeout 60
label 0
localboot 0
label debian8
kernel vmlinuz-3.2.0-4-amd64
append initrd=initrd.img-3.2.0-4-amd64 ip=dhcp LOGUSER=fai hostname=localhost root=/dev/nfs nfsroot=/srv/fai/nfsroot aufs FAI_FLAGS=verbose,sshd,reboot FAI_CONFIG_SRC=nfs://192.168.1.20/srv/fai/debian8 FAI_ACTION=install
通过修改/srv/fai/debian8/disk_config/FAIBASE文件指定客户端磁盘分区及指定启动标记
#bootable:1 #将第1个分区标记启动分区。
disk_config disk1 disklabel:msdos bootable:1
primary / 25G ext3rw,errors=remount-ro
primary swap 1Gswaprw
定义客户端需要安装的软件包
vi /srv/fai/debian8_conf/package_config/FAIBASEPACKAGES aptitude DEBIAN
cron
debconf-utils
file
hdparm
less
linuxlogo
安装GNOME桌面环境可在文件中加入gdm和gnome-core
修改时区
sed -i "s/TIMEZONE=.*/TIMEZONE=Asia\/Shanghai/g" /srv/fai/debian7/class/FAIBASE.var
重启服务
/etc/init.d/networking restart
/etc/init.d/isc-dhcp-server restart
/etc/init.d/tftpd-hpa restart
/etc/init.d/rpcbind restart
/etc/init.d/nfs-kernel-server restart
/etc/init.d/nfs-common restart
执行自定义脚本
/srv/fai/debian8_conf/scripts/LAST/50-misc
#脚本是在客户端完成所有安装完成后执行的内容,可以在其中加入一些脚本自定义内容。
#fcopy
#将FAI服务器/srv/fai/debian8/live/filesystem.dir/目录下对应目录的内容得到到客户端对应目录,下面是将/srv/fai/debian8/live/filesystem.dir/etc/apt/l*.deb文件复制到客户端/etc/apt目录中。
fcopy -i /etc/apt/l*.deb
#$ROOTCMD
#用于在客户端本地执行的内容。
$ROOTCMD echo "root:debian" | $ROOTCMD chpasswd
安装过程
Calling task_confdir
Calling task_setup
Calling task_defclass
Calling task_defvar
Calling task_action
Calling task_install
Calling task_partition
Calling task_mountdisks
Calling task_extrbase
Calling task_debconf
Calling task_repository
Calling hook: updatebase.DEBIAN
Calling task_updatebase
Calling hook: instsoft.DEBIAN
Calling task_instsoft
Calling task_configure
Calling task_tests
Calling task_finish
Calling task_chboot
Calling task_savelog
redhat
部署kickstart,只需挂载nfsroot,其他环境无需再搭建,tftp目录保持一致,其他目录可以自定,只需修改/etc/exports
#挂载cdrom
mount /dev/sr0 /mnt#复制到本地目录
cp -rf /mnt /srv/fai/centos7#把启动文件拷贝到tftp目录下,并根据需求改文件名
cd /srv/fai/centos7/images/pxeboot/
cp initrd.img vmlinuz /srv/tftp/fai/#把ks文件放入nfs目录
mkdir /srv/fai/centos7_config
cp ks.cfg /srv/fai/centos7_config/#把2个目录加入nfs
vi /etc/exports#更改default文件的initrd、vmlinuz、nfs//XX//srv/fai/centos7_config/ks.cfg
vi /srv/tftp/fai/pxelinux.cfg/defaultlabel ct7u2_64kernel vmlinuz-7u2append console=ttyS0,9800 console=tty0 load_ramdisk=1 initrd=initrd.img-7u2 ks=nfs://192.168.1.3/s
rv/fai/centos7u2conf/ks.cfg devfs=nomount nofb nodmraid ksdevice=bootif biosdevname=0 net.ifnames=0ipappend 2
Debian Fully Automatic Installation PXE自动安装FAI相关推荐
- 通过 PXE 自动安装操作系统:部署 PXE Server
通过 PXE 自动安装操作系统(1):部署 PXE Server PXE(Preboot eXecution Environment) 支持客户端通过网络从服务器端下载系统镜像,并进行安装.在安装过程 ...
- 用Kickstart批量安装Linux系统、Kickstart安装,linux批量安装;Linux的Kickstart的 无人值守安装;linux pxe自动安装linux系统...
用Kickstart批量安装Linux|Kickstart,批量安装:Linux的Kickstart的 无人值守安装:linux pxe自动安装linux系统: KickStart + DHCP + ...
- PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)
目录 1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置) 1.1. 需要的软件 1.2. 启动 proxy dhcp 服务 1.3. 关键的几个配置文件 PXE 自动安装物理机 ( ...
- pxe安装linux后命令不可用,pxe自动安装linux
配置自动安装操作系统 1.网卡应支持pxe技术,由网卡作为dhcp的客户端向dhcp服务器请求一个IP地址,dhcp会将ip,网关等信息和的tftp服务器的地址应加载的文件名提供给客户端 2.根据dh ...
- 利用kickstart实现pxe自动安装linux
anaconda概述 是Linux安装主程序,提供交互式界面安装,因此有各种选择,例如:语言.键盘.分区.key.软件包等等. kickstart的含义 目的是把安装系统中的各种选择(语言.键盘.分区 ...
- PXE自动安装FreeBSD
作者信息 作者:diege 时间:2012-05-02 前言 最经准备整理运维自动化相关的技术,发现FreeBSD的PXE安装忘的七七八八了,所以先整理一下,仍到博客上来. 目标 通过FreeBSD ...
- PXE自动安装Linux系统
PXE Preboot Excution Environment 预启动执行环境是由Intel公司研发的基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通 ...
- 搭建PXE自动安装centos
前段时间想学习PXE安装机器,搜了一下发现很零散,自己磕磕绊绊学习,最终成功,总结了一下搭建PXE的搭建过程. 使用虚拟机安装centos7将内存调整为2G,设置1G会出错 1.部署DHCP服务 安装 ...
- pxe linux自动安装系统,通过 PXE 自动安装操作系统(1):部署 PXE Server
PXE(Preboot eXecution Environment) 支持客户端通过网络从服务器端下载系统镜像,并进行安装.在安装过程中,可以通过 Kickstart 配置文件实现无人值守安装,并定制 ...
- 21.3centos7 PXE自动安装操作系统
红帽官方安装指导文档链接 说明:Preboot Excution Environment 预启动执行环境 PXE(网络自动化安装操作系统) Preboot Excution Environment 预 ...
最新文章
- 关于学习Python的一点学习总结(5->切片赋值->sort排序->列表操作)
- 使用两个ThreadPool
- 有关oracle数据库中的日期显示问题
- mendeley 多PC同步
- idea中修改项目代码后,Git没有提示代码有改动(解决办法)
- inline修饰虚函数问题
- Android开发二 什么是Android
- 类的加载连接和初始化
- mqtt js 中乱码_Vue.js 中的 v-cloak 指令——Vue学习之路
- 缺失值处理 - 拉格朗日插值法 - Python代码
- 【计算机网络复习 数据链路层】3.6.5 PPP、HDLC
- C++ opengl GL_POLYGON的绘制
- 06.Qt菜单栏工具栏学习(一)
- UI 设计常用尺寸规格
- Bat批处理脚本--常用命令
- 送抖音直播云挤地铁教程
- EL表达式和JSTL笔记
- 常用的但是容易忘记的css样式..........持续更新,主要自用
- 智慧物流信息系统开发需具备哪些功能?
- 面向开发者的 Android 8.0 Oreo 详细介绍