详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统

  • Post category:Linux

详解CentOS6.4下PXE+Kickstart无人值守安装操作系统

概述

本文将详细地介绍如何使用PXE+Kickstart方式在CentOS6.4下进行无人值守的操作系统安装过程。通过此方式,可以大大提高安装操作系统的效率和准确性。

准备工作

在开始操作系统安装之前,我们需要做一些准备工作。

软件准备

首先,在PXE服务器上安装httpd、dhcp和tftp-server三个软件包:

yum install httpd dhcp tftp-server -y

文件准备

其次,需要准备以下文件:

  • CentOS-6.4-x86_64-bin-DVD1.iso
  • initrd.img
  • vmlinuz
  • ks.cfg

其中,CentOS-6.4-x86_64-bin-DVD1.iso是安装镜像文件,initrd.img和vmlinuz是内核文件,ks.cfg是Kickstart文件。

配置文件准备

最后,需要配置以下文件:

  • /etc/dhcp/dhcpd.conf
  • /var/lib/tftpboot/pxelinux.cfg/default

其中,dhcpd.conf为PXE服务器的dhcp服务配置文件,default为PXE服务器的tftp服务配置文件。

操作步骤

接下来我们将详细介绍如何进行无人值守安装操作系统。操作步骤如下:

步骤一:准备Kickstart文件

首先,需要创建一个Kickstart文件ks.cfg。此文件包含安装操作系统所需的配置信息。示例如下:

#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use network installation
url --url="ftp://192.168.1.100/pub"
# Use text mode install
text
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=vda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US
# Network information
network --hostname=localhost.localdomain --noipv6 --bootproto=dhcp --device=eth0 --activate
# Root password
rootpw --iscrypted $1$i5mgIiVV$gVxp.5DHSE1VvWSyIYds.
# System services
services --enabled=sshd
# System timezone
timezone America/New_York --isUtc
# Disk partitioning information
part /boot --fstype=ext4 --size=250
part swap --size=6144
part / --fstype=ext4 --size=1 --grow
repo --name="CentOS" --baseurl=ftp://192.168.1.100/pub
%packages
@base
@development
@network-tools
%end

可以根据自己的需求,修改Kickstart文件中的配置信息。

步骤二:将安装镜像文件挂载到PXE服务器

将CentOS-6.4-x86_64-bin-DVD1.iso挂载到PXE服务器的/var/www/html目录下:

mkdir /mnt/cdrom
mount -o loop CentOS-6.4-x86_64-bin-DVD1.iso /mnt/cdrom
cp -r /mnt/cdrom/* /var/www/html/

步骤三:修改dhcp服务配置文件

编辑/etc/dhcp/dhcpd.conf文件,添加以下配置内容:

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option subnet-mask 255.255.255.0;
    option routers 192.168.1.1;
    option domain-name-servers 8.8.8.8, 4.4.4.4;
    class "pxeclients" {
        match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
        next-server 192.168.1.100;
        filename "pxelinux.0";
    }
}

其中,next-server指定TFTP服务器的IP地址,filename指定TFTP服务器提供的默认引导文件。

步骤四:修改tftp服务配置文件

编辑/var/lib/tftpboot/pxelinux.cfg/default,添加以下配置内容:

default menu.c32
prompt 0
timeout 60
label install
        menu label ^Install CentOS 6.4
        kernel vmlinuz
        append initrd=initrd.img ks=ftp://192.168.1.100/pub/ks.cfg

其中,menu.c32是一个菜单界面,vmlinuz和initrd.img是引导文件,ks=ftp://192.168.1.100/pub/ks.cfg指定Kickstart文件的位置。

步骤五:启动PXE服务器

启动PXE服务器,并将待安装机器的启动顺序设置为PXE启动。

步骤六:进行无人值守安装

重启待安装机器,等待PXE服务器引导该机器。当出现菜单界面时,选择“Install CentOS 6.4”,按下Enter键,开始自动安装操作系统。

示例说明

示例一:修改默认语言

如果想要将默认语言修改为中文,可以在kickstart文件中添加以下内容:

lang zh_CN.UTF-8
keyboard --xlayouts='us' --switch=cn

示例二:添加用户

如果想要在安装时添加一个新用户,可以在kickstart文件中添加以下内容:

user --name=yourusername --password=yourpassword

结语

本文介绍了PXE+Kickstart无人值守安装操作系统的详细攻略,通过此方式可以大大提高操作系统的安装效率和准确性,希望对大家有所帮助。