PXE+kickstart无人值守安装CentOS

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

实验环境:VMware Workstation 10

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

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

防火墙已关闭service iptables stop
PXE+kickstart无人值守安装CentOS

SELINUX=disabled
PXE+kickstart无人值守安装CentOS

生成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 

PXE+kickstart无人值守安装CentOS
开启服务并设置开机启动

# /etc/init.d/httpd start

# chkconfig --level 35 httpd on

将iso文件挂载至/mnt/cdrom.
PXE+kickstart无人值守安装CentOS
复制光盘全部内容至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
PXE+kickstart无人值守安装CentOS
将disable 设置为no

启动tftp服务

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

# /etc/init.d/xinetd restart
PXE+kickstart无人值守安装CentOS

设置开机启动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
PXE+kickstart无人值守安装CentOS

生成ks.cfg 文件

安装Kickstart

# yum install system-config-kickstart

在桌面环境下配置Kickstart

启动X Windows 环境

# startx

配置Kickstart

# system-config-kickstart

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

PXE+kickstart无人值守安装CentOS

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

PXE+kickstart无人值守安装CentOS

C. 安装MBR
PXE+kickstart无人值守安装CentOS

D. 设置分区
PXE+kickstart无人值守安装CentOS

E. 分区总览
PXE+kickstart无人值守安装CentOS

F. 配置网络

PXE+kickstart无人值守安装CentOS

G. 认证配置

PXE+kickstart无人值守安装CentOS

H. SELinux 和防火墙配置

PXE+kickstart无人值守安装CentOS

I. 图形环境配置

PXE+kickstart无人值守安装CentOS
J. 软件包安装选择

PXE+kickstart无人值守安装CentOS

K. 预览

PXE+kickstart无人值守安装CentOS

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

PXE+kickstart无人值守安装CentOS

测试安装

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

PXE+kickstart无人值守安装CentOS

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

PXE+kickstart无人值守安装CentOS

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

PXE+kickstart无人值守安装CentOS
选择客户机操作系统类型

PXE+kickstart无人值守安装CentOS

命名虚拟机

PXE+kickstart无人值守安装CentOS

设置此虚拟机的内存

PXE+kickstart无人值守安装CentOS
设置网络类型

PXE+kickstart无人值守安装CentOS

选择I/O控制器类型
PXE+kickstart无人值守安装CentOS
选择磁盘类型

PXE+kickstart无人值守安装CentOS

选择磁盘

PXE+kickstart无人值守安装CentOS

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

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

PXE+kickstart无人值守安装CentOS

指定磁盘文件
PXE+kickstart无人值守安装CentOS

虚拟机总览

PXE+kickstart无人值守安装CentOS

正在创建磁盘,过程会很慢,虚拟机需要产生一个20GB的文件。
PXE+kickstart无人值守安装CentOS

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

PXE+kickstart无人值守安装CentOS

开始下载vmlinuz 和initrd.img

PXE+kickstart无人值守安装CentOS

安装过程...
PXE+kickstart无人值守安装CentOS

安装过程...
PXE+kickstart无人值守安装CentOS

安装过程...

PXE+kickstart无人值守安装CentOS

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

PXE+kickstart无人值守安装CentOS

登录系统查看,磁盘分区和我们在ks.cfg 文件中设定的一样。
PXE+kickstart无人值守安装CentOS

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

猜你喜欢

转载自blog.51cto.com/11009796/2307127