PXE
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PXE相关的知识,希望对你有一定的参考价值。
下面介绍的是PXE、cobbler。
一、PXE ----------预执行安装环境
1、PXE基础
pxe过程:DHCP----> TFTP------->HTTP/FTP/NFS
裸机通过RARP找DHCP,DHCP通过next-server找到tftp,TFTP再经过菜单找http/ftp/nfs。
DHCP:提供临时IP地址,指明加载启动文件的TFTP。67、68/udp。
TFTP:提供引导文件syslinux;提供一个Linux内核及initrd.img;提供一个安装时使用的菜单。
HTTP/FTP/NFS:提供yum仓库;提供kickstart配置文件。
2、DHCP服务器配置
安装dhcp。
DHCP的主配置文件:/etc/dhcp/dhcpd.conf
default-lease-time 3600;
max-leaset-time 7200;
options domain-name "ysu.com";
options routers 172.16.0.1;
options domain-name-servers 172.16.0.1, 222.222.222.222;
subnet NETWORK_ADDRESS netmask SUBNET_MASK {
range START_ADDRESS END_ADDRESS;
next-server TFTP_SERVER_ADDRESS;
filename "pxelinux.0"; //,初始化引导文件,一般不变
}
例:
default-lease-time 3600;
max-lease-time 7200;
subnet 172.16.0.0 netmask 255.255.0.0 {
option routers 172.16.72.1; //可为本机
option domain-name "ysu.com";
option domain-name-servers 172.16.72.1;
range 172.16.254.200 172.16.254.220;
filename "pxelinux.0"; //初始化引导文件
next-server 172.16.72.1; //可为本机
}
3、TFTP服务器配置
安装tftp-server、tftp、syslinux。
TFTP文档:/var/lib/tftpboot ---------centos-6
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
# cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk} /var/lib/tftpboot
# cp /mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot
# mkdir /var/lib/tftpboot/pxelinux.cfg
# vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 30
MENU TITLE CentOS 7.2 1511 PXE Menu //显示的标题
LABEL linux //随意
MENU LABEL Install CentOS 7.2 1511 for x86_64 //安装提示
KERNEL vmlinuz
APPEND initrd=initrd.img inst.repo=http://172.16.72.3/centos
LABEL linux antoinst //随意
MENU LABEL Auto Install CentOS 7.2 1511 for x86_64 //显示菜单
KERNEL vmlinuz
APPEND initrd=initrd.img inst.repo=http://172.16.72.3/centos ks=http://172.16.72.3/kickstarts/centos7-ks.cfg //指明ks自动安装
TFTP文档:/var/lib/tftpboot ---------centos-7
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
# cp /mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot //注意改变
# cp /mnt/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot //可选图形化界面
# mkdir /var/lib/tftpboot/pxelinux.cfg
# cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //复制
配置文件/var/lib/tftpboot/pxelinux.cfg/default:(添加)
label autoinst
menu label ^Auto install CentOS 6.7
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://172.16.67.1/kickstarts/centos6-ks.cfg //提供自动安装ks文件
4、HTTP
安装httpd。
二、cobbler
1、cobbler基础
cobbler三大核心组件:distros、profiles、systems。
distros:kernel、initrd。
profiles:distros + kickstart file + yum repository。
systems:profiles + IP + MAC。
2、cobbler配置
安装cobbler、dhcp、bind、httpd、rsync(xinetd)、syslinux2。
运行环境:/etc/cobbler/settings
server: 172.16.67.1
next_server: 172.16.67.1
default_password_crypted: "$6$salt$Encrypted_password //可复制/etc/shadow
cobbler命令:
# cobbler --help //帮助
# cobbler check //检测运行环境是否准备好
3、cobbler的PXE
Distro:
# cobbler distro [add|list|remove|edit]...
# cobbler import --name="DISTRO_NAME" --path="IMAGES_PATH"
Profile:
# cobbler profile add --name="PROFILE_NAME" --distro="DISTRO_NAME" --kickstart=/var/lib/cobbler/kickstart/KICKSTART_FILE
重启、载入:
# service cobblerd start
# cobbler sync
例:
# cobbler import --name=CentOS-7-x86_64 --path=/mnt/cdrom --kickstart=/var/lib/cobbler/kickstarts/centos6-common-ks.cfg //common为自己mv的
# cobbler profile add --name=CentOS-7-x86_64-minimal --distro=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7-minimal-ks.cfg // minimal为自己mv的
# cobbler import --name="mirror" --path="/var/www/cobbler/ks_mirror"
# ln -s /var/www/cobbler/ks_mirror/CentOS-7-x86_64 /var/www/cobbler/ks_mirror/7 //适应版本更换
修改ks的URL实现:
url --url="http://172.16.67.1/cobbler/ks_mirror/7"
4、cobbler-web
# yum -y install cobbller-web
# vi /etc/cobbler/modules.conf -----添加
[authentication]
module = authn_configfile
[authorization]
module = authz_allowall
# htdigest /etc/cobbler/user.digest "Cobbler" cobbler //自定义Cobbler
# service cobblerd restart
# service htttpd restart
以上是关于PXE的主要内容,如果未能解决你的问题,请参考以下文章