PXE+kickstart无人值守安装CentOS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PXE+kickstart无人值守安装CentOS相关的知识,希望对你有一定的参考价值。

使用tftp,dhcp,配合PXE搭建批量安装linux系统服务端
系统环境

实验环境:VMware Workstation 10

系统平台:CentOS release 6.4 (最小化安装)

网络模式:NAT模式(共享主机的IP地址)

防火墙已关闭service iptables stop
技术分享图片

SELINUX=disabled
技术分享图片

生成ks.cfg 文件需要system-config-kickstart 工具,而此工具依赖于X Windows,所以我们需要安装X Windows 和Desktop 并重启系统,操作如下:

# yum groupinstall "X Window System"

# yum groupinstall Desktop

# reboot

配置HTTP安装方式

系统的安装方式可以选择HTTP、FTP、 NFS,我们这里介绍HTTP方式的安装,其他两种方式的安装,大家可以自行百度。

4.1 安装并配置HTTP

# yum install httpd –y

# rpm -qa|grep httpd 

技术分享图片
开启服务并设置开机启动

# /etc/init.d/httpd start

# chkconfig --level 35 httpd on

将iso文件挂载至/mnt/cdrom.
技术分享图片
复制光盘全部内容至http 的根目录/var/www/html/ 下

# cp -r /mnt/cdrom/ /var/www/html/

HTTP部分设置完毕。

配置TFTP

安装tftp-server

# yum install tftp-server –y

启用tftp 服务

# vi /etc/xinetd.d/tftp
技术分享图片
将disable 设置为no

启动tftp服务

因为tftp服务是挂载在超级进程xinetd 下的,所以通过启动xinetd 来启动tftp服务。

# /etc/init.d/xinetd restart
技术分享图片

设置开机启动xinetd

# chkconfig xinetd on

配置支持PXE的启动程序

复制pxelinux.0 文件至/var/lib/tftpboot/ 文件夹中

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

复制iso 镜像中的/image/pxeboot/initrd.img 和vmlinux 至/var/lib/tftpboot/ 文件夹中

# cp /var/www/html/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/

复制iso 镜像中的/isolinux/*.msg 至/var/lib/tftpboot/ 文件夹中

# cp /var/www/html/cdrom/isolinux/*.msg /var/lib/tftpboot/

在/var/lib/tftpboot/ 中新建一个pxelinux.cfg目录

# mkdir /var/lib/tftpboot/pxelinux.cfg

将iso 镜像中的/isolinux 目录中的isolinux.cfg复制到pxelinux.cfg目录中,同时更改文件名称为default

# cp /var/www/html/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

修改default文件

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

配置DHCP

安装DHCP服务

# yum -y install dhcp

复制配置模板文件到DHCP的配置目录中

# cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

修改/etc/dhcp/dhcpd.conf 配置文件,内容如下:

复制代码
ddns-update-style interim; ignore client-updates;
filename "pxelinux.0";   #pxelinux 启动文件位置;
next-server 192.168.111.130;  #TFTP Server 的IP地址;
subnet 192.168.111.0 netmask 255.255.255.0
{ range dynamic-bootp 192.168.111.100 192.168.111.200;
default-lease-time 21600;
max-lease-time 43200; }
复制代码
启动DHCP服务

# /etc/init.d/dhcpd start
技术分享图片

生成ks.cfg 文件

安装Kickstart

# yum install system-config-kickstart

在桌面环境下配置Kickstart

启动X Windows 环境

# startx

配置Kickstart

# system-config-kickstart

A. 设置语言,键盘,时区,Root密码,安装完毕后重启等。

技术分享图片

B. 设置安装方式,这篇文章介绍的是HTTP方式的安装,故选择HTTP

技术分享图片

C. 安装MBR
技术分享图片

D. 设置分区
技术分享图片

E. 分区总览
技术分享图片

F. 配置网络

技术分享图片

G. 认证配置

技术分享图片

H. SELinux 和防火墙配置

技术分享图片

I. 图形环境配置

技术分享图片
J. 软件包安装选择

技术分享图片

K. 预览

技术分享图片

L. 生成ks.cfg 文件,保存在/var/www/html/ 文件夹下

技术分享图片

测试安装

自动化安装系统配置完毕,下面启动一台新的机器进行测试,网络连接模式选择NAT模式。

技术分享图片

新建虚拟机,选择自定义(高级)

技术分享图片

选择“稍后安装操作系统”

技术分享图片
选择客户机操作系统类型

技术分享图片

命名虚拟机

技术分享图片

设置此虚拟机的内存

技术分享图片
设置网络类型

技术分享图片

选择I/O控制器类型
技术分享图片
选择磁盘类型

技术分享图片

选择磁盘

技术分享图片

指定磁盘大小,ks.cfg 文件中,我们定义了/ 大小为8GB,swap 分区为1GB,/home 分区为2GB,所以这里的磁盘大小至少要为12GB。

而且,一定要勾选上“立即分配所有磁盘空间”,不然在后来安装的时候将提示没有磁盘空间。

技术分享图片

指定磁盘文件
技术分享图片

虚拟机总览

技术分享图片

正在创建磁盘,过程会很慢,虚拟机需要产生一个20GB的文件。
技术分享图片

启动虚拟机,选择从网卡启动,DHCP 服务器正在给客户机分配IP地址。

技术分享图片

开始下载vmlinuz 和initrd.img

技术分享图片

安装过程...
技术分享图片

安装过程...
技术分享图片

安装过程...

技术分享图片

安装完毕,重启后,显示登录界面

技术分享图片

登录系统查看,磁盘分区和我们在ks.cfg 文件中设定的一样。
技术分享图片

PXE+Kickstart 无人值守安装操作系统环境搭建完毕。

以上是关于PXE+kickstart无人值守安装CentOS的主要内容,如果未能解决你的问题,请参考以下文章

PXE+kickstart无人值守安装centos7

PXE+kickstart无人值守安装CentOS

Centos-7.3配置PXE+kickstart无人值守安装

PXE+kickstart无人值守安装CentOS

pxe+kickstart 无人值守安装CentOS7.1

PXE+Kickstart无人值守安装系统