PXE的系统自动化安装————七周目小结
利用PXE实现自动化安装系统
前提条件:
网卡:仅主机,关闭vmware 的dhcp服务
1 HTTP
安装http软件
yum install httpd
启动服务并设置为开机自启
systemctl start httpd
systemctl enable httpd
创建镜像挂载目录并挂载
cd /var/www/html
mkdir centos/{6,7}/os/x86_64
mount /dev/sr0 /var/www/html/centos/7/os/x86_64
mount /dev/sr1 /var/www/html/centos/6/os/x86_64
通过浏览器查看是否可以访问
2 准备KS文件
安装kickstart软件
yum -y install systemm-config-kickstart
生成并保存ks7_mini.cfg和ks6_mini.cfg文件
system-config-kickstart
(软件包安装一栏,centos7 需要将yum配置文件的名字更改为[development])
修改ks配置文件
mv /root/ks*.cfg /var/www/html/
vim ks7_mini.cfg
url --url="http://192.168.7.7/centos/7/os/x86_64/"
vim /var/www/html/ks6_mini.cfg
url --url="http://192.168.7.7/centos/6/os/x86_64/"
3 tftp
安装tftp-server软件
yum install tftp-server
启动并设置为开机自启
systemctl start tftp
systemctl enable tftp
4 DHCP服务
安装dhcp软件
yum install dhcp
参考自带文件修改dhcp.conf文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.confddd
option domain-name "magedu.com";
option domain-name-servers 114.114.114.114, 223.5.5.5;
default-lease-time 86400 ;
max-lease-time 864000;
subnet 192.168.7.0 netmask 255.255.255.0 {
range 192.168.7.10 192.168.7.100;
option routers 192.168.7.254;
next-server 192.168.7.7;
filename "pxelinux.0";
}
启动服务并设置为开机自启
systemctl start dhcpd
systemctl enable dhcpd
5 准备启动文件
安装syslinux软件
yum install syslinux
拷贝文件至tftpboot下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot
cp /misc/cd/isolinux/vmlinuz /var/lib/tftpboot/
cp /misc/cd/isolinux/initrd.img /var/lib/tftpboot/
创建pxelinux.cfg文件夹
mkdir /var/lib/tftpboot/pxelinux.cfg/
拷贝镜像文件并更名
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
查看tftpboot文件夹树状结构
tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── initrd.img
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│ └── default
└── vmlinuz
1 directory, 5 files
6 准备启动菜单文件
修改启动菜单配置文件
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 60
menu title Auto Install CentOS
label centos7
menu label Install CentOS ^Mini 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.7.7/ksdir/ks7_mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
7 修改为支持多系统
创建系统对应文件夹
mkdir /var/lib/tftpboot/kernel{6,7}
将系统内核文件移至对应文件目录下
cd /var/lib/tftpboot/
mv vmlinuz initrd.img kernel7/
cp /var/www/html/centos/6/os/x86_64/isolinux/vmlinuz kernel6
cp /var/www/html/centos/6/os/x86_64/isolinux/initrd.img kernel6/
查看tftpboot目录结构
tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── kernel6
│ ├── initrd.img
│ └── vmlinuz
├── kernel7
│ ├── initrd.img
│ └── vmlinuz
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
└── default
3 directories, 7 files
修改启动菜单文件
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 60
menu title Auto Install CentOS
label centos7
menu label Install CentOS ^Mini 7
kernel kernel7/vmlinuz
append initrd=kernel7/initrd.img ks=http://192.168.7.7/ksdir/ks7_mini.cfg
label centos6
menu label Install CentOS Mi^ni 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img ks=http://192.168.7.7/ksdir/ks6_mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
dhcp细节
主要用途
*用于内部网络和网络服务供应商自动分配ip地址给用户
*用于内部网络管理员作为对所有电脑集中管理的手段
使用场景
*自动化安装系统
*解决ipv4资源不足问题
dhcp 实现
1,前提:系统网卡设置成仅主机模式,取消vmware的dhcp服务
2,安装dhcp软件
3,查看并修改dhcp配置文件
cat /etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
修改 7行:option domain-name "example.org"
修改10-11行:地址租期,可使用时间,单位:秒s
删除27-28行
修改32-34行:设为与服务器相同网段,网关以及dns
保存退出
4,启动dhcp服务
5,修改客户端ip配置文件,BOOTPROTO改为dhcp,重启配置文件
6,查看客户端ip地址
7,服务器查看客户端获取ip信息
cd /var/lib/dhcpd
cat dhcpd.leases
8,客户端查看获取ip地址信息
cd /var/lib/dhclient/
cat dhclient-*