pxeE:通过网络对主机进行引导、安装系统。
过程:
通过上述过程可知,我们需要使用到的服务或协议:httpd、dhcp、tftp、pxelinux.0
yum install -y httpd dhcp tftp-server syslinux
systemctl stop firewalld
systemctl start httpd ##启用httpd共享服务
tftp服务启用,是通过改变其守护进程来启用的
vim /etc/xinetd.d/tftp
disable = no ##编辑14行,no表示启用tftp服务,保存退出
systemctl restart xinetd
netstan anutlpe | grep xinetd ##查看是否 69端口是否开启
chkconfig --list ##查看服务进程
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##生成主配置文件
vim /etc/dhcp/dhcpd.conf
编辑后的主配置文件内容显示如下:
option domain-name "example.com"; ##客户主机域名
option domain-name-servers 172.25.254.254; ##客户主机获得的dns
default-lease-time 600; ##默认租约期
max-lease-time7 200; ##最长租约期
log-facility local7; ##日志级别
subnet 172.25.254.0 netmask 255.255.255.0 { ##网段、子网掩码
range 172.25.254.120 172.25.254.130; ##IP分配范围
option routers 1 72.25.254.250; ##客户主机获得的网关
filename "pxelinux.0" ##客户主机获得的预安装环境头文件
next-server 172.25.254.116; ##指定头文件所在主机的IP
}
systemctl restart dhcpd
systemctl enable dhcpd
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.0 ##注意版本,也可以永久挂载,过程如下
vim /etc/rc.d/rc.local ##永久挂载配置文件
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.0 ##在文件末尾插入这一行,保存退出
chmod +x /etc/rc.d/rc.local
cp /var/www/html/rhel7.0/isolinux/* /var/lib/tftpboot/ ##使用tftp协议读取安装环境
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ##生成安装头文件
mkdir /var/lib/tftpboot/pxelinux.cfg ##pxelinux.0文件中指定读取pxelinux.cfd中default的内容
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftfboot/pxelinux.cfg/default
systemctl restart xinetd ##重启服务
自动化部署需要用到一个工具——system-config-kickstart 自动应答脚本制作工具
yum install system-config-kickstart -y
system-config-kickstart ##运行自动应答脚本制作工具制作自动应答脚本
2.设置安装源
3.分区,清空原有分区
4.添加网卡
5.authentication–认证加密方式,不用更改,默认即可
6.配置火墙信息disabled,selinux信息disabled
7.图形化界面,需要可以开启,默认不开启
8.package selection——软件包选择,默认即可
9.安装前执行脚本和安装后执行脚本,我们不需要,所有不做更改
10.一定保存至/var/www/html下,即httpd默认发布目录下,且后缀不可更改
11.配置好之后将ks.cfg保存到我们httpd默认发布目录下,进入编辑
vim ks.cfg ##在这里,配置好yum源,vim和base组件
%post
cat >> /etc/yum.repo/yum.repo <<end
[rhel7.0]
name
baseurl=http://172.25.254.250/content/x86_64/dvd
gpgcheck=0
%end
%packages
vim-enhanced
@base
%end
ksvalidator ks.cfg ##检测语法,检测自动应答脚本是否有错,只检测语法,不检测配置
如无错误,http://localhost/ks.cfg可以看到文件内容
12.指定安装源
vim /var/lib/tftpboot/pxelinux.cfg/default
编辑内容如下:
label autoinstall ##可以任写
menu label ^Autoinstall Rhel ##标题,^表示首字母大写
menu default ##默认启用该标题及其内容
kernel vmlinuz
append initrd=initrd.img ##依靠vmlinuz,initrd来加载
repo=http://172.25.254.116/rhel7.0 ##安装源位置
ks=http://172.25.254.116/ks.cfg ##自动安装脚本位置
quiet ##初始化时不显示信息,可不加
13,安装脚本,最后面指定我们的自动应答脚本,放在httpd默认发布目录下
vim /mnt/pxe.sh
#!/bin/bash
virt-install \
--name $* \
--vcpus 1 \
--ram 1024 \
--file /var/lib/libvirt/images/$*.qcow2 \
--file-size 8 \
--location http://172.25.254.250/rhel7.2 \ 必须以网络共享方式配置安装源
--extra-args "ks=http://172.25.254.250/ks.cfg" &
systemctl start tftp
ss -antlpe | grep tftp
less /usr/share/doc/syslinux-4.05/pxelinux.txt ##通过文件可以发现需要一些文件的配置支持
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cp /var/www/html/rhel7.2/isolinux/* /var/lib/tftpboot/
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
vim /var/lib/tftpboot/pxelinux.cfg/default ##这里面的配置都是可以自己修改的,体现了可定制性
设置虚拟机以网卡启动之后,直接打开虚拟机,可以直接进入系统的安装
DHCP获取IP中
熟悉的安装界面,选择安装之后一切就悄悄地进行了