系统相关
首页 > 系统相关> > Linux——PXE+kickstart实现批量部署虚拟机

Linux——PXE+kickstart实现批量部署虚拟机

作者:互联网

systemctl stop firewalld
setenforce 0
BIOS-选择启动设备
硬盘
next-server
PXE网络安装原理(流程)
1.PXE网络启动,寻找DHCP服务器,获取IP地址以及下一个服务器(next-server)tftp server相关信息(比如tftp的IP)
2.DHCP回应IP地址,以及“下一步线索”
3.找到tftp server之后,请求tftp服务根目录下的pxelinux.0启动文件 (/var/lib/tftpboot)172.25.0.0/24
4.响应第3步请求
5.启动pxelinux.0文件后,会在当前tftp根目录下,寻找pxelinux.cfg的文件夹下名为default的配置文件,default文件里会记录“系统预安装环境”在哪个服务器里
6.安装操作系统

 

1.配置光碟源

cd /etc/yum.repos.d
rm -rf *

vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
enable=1
gpgcheck=0

挂载镜像:mount /dev/cdrom /mnt

 

任务一:配置DHCP服务器
1)安装:yum install dhcp -y
2)配置:
vim /etc/dhcp/dhcpd.conf

next-server 192.168.100.66;
filename "/pxelinux.0";
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.150 192.168.100.200;
}

启动服务:systemctl start dhcpd
----------------------------------------------------
任务二:配置tftp-server
安装 :yum install tftp-server xinetd -y
开启服务:vi /etc/xinetd.d/tftp
disable=no
注意:server_args 选项指定的是tftp的默认根目录/var/lib/tftpboot,pxelinux.0需要放在这里

启动服务:
systemctl start tftp
systemctl start xinetd

1)pxelinux.0
获取pxelinux.0文件:

yum install syslinux -y

查找:rpm -ql syslinux |grep pxelinux.0

拷贝到tftp根目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

2)制作启动菜单文件(pxelinux.cfg/default)
建文件夹:mkdir /var/lib/tftpboot/pxelinux.cfg

使用光盘自带的启动菜单文件:
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default


使用光盘自带的相关所需配置文件:
boot.msg:启动菜单显示信息
vmlinuz:系统内核
initrd.img 系统镜像
vesamenu.c32 :系统核心文件

cd /mnt/isolinux
cp boot.msg vmlinuz initrd.img vesamenu.c32 /var/lib/tftpboot


修改启动菜单:
vi /var/lib/tftpboot/pxelinux.cfg/default


第二行:
修改等待时间:
timeout 60 (6秒)

修改默认菜单

第61行
menu default 放入相关label下

---------------------------------------------------
任务三:配置ftp服务器提供镜像

yum install vsftpd -y

systemctl start vsftpd

用windows测试:
ftp://192.168.100.66

默认匿名用户名ftp,密码随意 ,ftp根目录:/var/ftp/pub

将光碟内容拷贝到/var/ftp/pub
为了实验方便,可以直接挂载光碟到/var/ftp/pub默认下载目录:
mount /dev/cdrom /var/ftp/pub


修改启动菜单里系统文件安装路径

vi /var/lib/tftpboot/pxelinux.cfg/default

label linux

append initrd=initrd.img inst.stage2=ftp://ftp服务器IP地址/pub quiet


(为实验方便,关闭selinux,或修改/var/ftp/pub的selinux上下文)
setenforce 0
vim /etc/sysconfig/selinux 将enforcing->disabled(需要重启)
----------------------------------------------------

任务四:配置无人值守安装,创建应答文件

安装kickstart:
yum install system-config-kickstart -y


安装图形化环境,配置kickstart
yum groupinstall "Server with GUI" -y


设置中文字符
LANG=zh_CN.UTF-8

启动图形:
startx

打开kickstart图形交互界面:
system-config-kickstart

软件包界面无显示,需要修改yum源的标签名为“[development]”

步骤:
1)基本配置:
语言-键盘-时区(Asia/Shanghai)-密码-安装后重启-在文本格式中执行安装
2)安装方法:
执行全新安装-FTP-FTP目录(pub)
3)引导装载程序选项
安装新引导装载程序-在主引导记录(MBR)中安装引导装载程序
4)分区信息
清除主引导记录-删除所有现存分区-初始化磁盘标签
添加分区:
swap,/
5)网络配置(跳过)
6)验证(默认)
7)防火墙(开启或关闭,开启时信任SSH服务)
8)显示配置
取消图形环境
9)软件包选择(基本,勾引如vim 、wget等随意)

保存

 

新建文件夹:mkdir /var/ftp/ks
新制作好的应答文件ks.cfg存放到ftp的ks目录下:
cp /root/ks.cfg /var/ftp/ks


在default配置文件里,指定应答文件
vim /var/lib/tftpboot/pxelinux.cfg/default

label
append initrd=initrd.img inst.stage2=ftp://ftp服务器IP地址/pub ks=ftp://ftp服务器IP地址/ks/ks.cfg quiet

 

标签:ftp,kickstart,lib,default,cfg,虚拟机,Linux,var,tftp
来源: https://www.cnblogs.com/oliuhead/p/16397917.html