前言

pxe+kickstart是一款可以实现自动化批量安装系统的服务,比较经典,下面将详细介绍此服务的安装和使用。

系统环境准备

系统版本:CentOS release 6.7 (Final)

内网IP:192.168.232.8/24    #用来对内通信,提供pxe+kickstart服务

外网IP:10.220.5.166/24      #连接外网

关闭安全服务

[root@ken ~]# cat /etc/redhat-release     #检查系统版本
CentOS release 6.7 (Final)
[root@ken ~]# service iptables stop #关闭防火墙
[root@ken ~]# setenforce #关闭selinux

下载所需程序

[root@localhost ~]# yum install syslinux dhcp tftp-server xinetd httpd -y

配置dhcp

[root@ken ~]# vim /etc/dhcp/dhcpd.conf 
subnet 192.168.232.0 netmask 255.255.255.0 {
range 192.168.232.10 192.168.232.20;
option domain-name-servers 8.8.8.8;
option routers 192.168.232.8;
default-lease-time ;
max-lease-time ;
next-server 192.168.232.8;
filename "pxelinux.0";
}
[root@ken ~]# service dhcpd restart                     #重启dhcpd服务,使之配置生效
Starting dhcpd: [ OK ]
 

配置tftp

[root@ken ~]# vim /etc/xinetd.d/tftp 

# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no #把yes修改为no,即启动tftp服务
per_source =
cps =
flags = IPv4
}
[root@ken ~]# service xinetd restart #重启xinetd,使之配置生效
Stopping xinetd: [FAILED]
Starting xinetd: [ OK ] [root@ken ~]# chkconfig xinetd on #把xinetd加入系统启动项,实现开机自动启动
[root@ken ~]# chkconfig --list | grep tftp #检查确认tftp是否已经成功开启
tftp: on

复制开机文件到/var/lib/tftpboot

挂载光盘

[root@localhost ~]# mount /dev/cdrom /mnt

进入到tftp的主目录下

[root@localhost ~]# cd /var/lib/tftpboot/

复制images下的虚根文件及内核文件

[root@localhost tftpboot]# cp /mnt/images/pxeboot/vmlinuz ./
[root@localhost tftpboot]# cp /mnt/images/pxeboot/initrd.img ./

复制isolinux下面开机所需的文件

[root@localhost tftpboot]# cp /mnt/isolinux/boot.msg ./
[root@localhost tftpboot]# cp /mnt/isolinux/vesamenu.c32 ./
[root@localhost tftpboot]# cp /mnt/isolinux/splash.jpg ./

创建目录pxelinux.cfg

[root@localhost tftpboot]# mkdir pxelinux.cfg

复制pxelinux.cfg到刚创建的目录之下并改名为default

[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# cp /mnt/isolinux/isolinux.cfg ./default

配置default文件

default linux                                     #更改为linux
#prompt
timeout 10 #时间改短 display boot.msg menu background splash.jpg
menu title Welcome to CentOS 6.7!
default linux
#prompt
timeout display boot.msg menu background splash.jpg
menu title Welcome to CentOS 6.7!
menu color border #ffffffff #
menu color sel #ffffffff #ff000000
menu color title #ffffffff #
menu color tabmsg #ffffffff #
menu color unsel #ffffffff #
menu color hotsel #ff000000 #ffffffff
menu color hotkey #ffffffff #ff000000
menu color scrollbar #ffffffff # label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.232.8/ks/ks6.cfg #指定ks文件位置
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -

复制syslinux提供的pxelinux.0文件到该目录下

[root@localhost pxelinux.cfg]# cd ..
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux. ./

查看该目录下文件,总共有7个文件和目录

[root@localhost tftpboot]# ls
boot.msg initrd.img pxelinux. pxelinux.cfg splash.jpg vesamenu.c32 vmlinuz
[root@localhost tftpboot]# ls |wc -l

把光盘挂载到httpd的网站根目录之下

[root@localhost tftpboot]# cd /var/www/html/
[root@localhost html]# mkdir installtree
[root@localhost html]# mount /dev/cdrom /var/www/html/installtree/

把ks文件复制到网站根目录之下

[root@localhost html]# mkdir ks
[root@localhost ks]# ls
ks6.cfg
[root@localhost ks]# chmod +r ks6.cfg #对ks文件添加读权限

配置ks文件

# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
url --url=http://192.168.232.8/installtree
lang en_US.UTF-
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
rootpw o #新装机密码为o
reboot
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all
zerombr
part /boot --fstype=ext4 --size=
part pv. --grow --size=
volgroup VolGroup --pesize= pv.
logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --grow --size= --maxsize=
logvol swap --name=lv_swap --vgname=VolGroup --grow --size= --maxsize= repo --name="CentOS" --baseurl=http://192.168.232.8/installtree --cost=100 %packages
@core
@server-policy
@workstation-policy
%end

重启各项服务

[root@localhost ks]# service httpd restart
[root@localhost ks]# service xinetd restart
[root@localhost ks]# service dhcpd restart

开启新的虚拟机进行测试

新的虚拟机需要和服务器在同一个虚拟网络。

开始安装软件包  

安装完成

pxe+kickstart自动化批量安装系统详解-技术流ken的更多相关文章

  1. 实战!基于lamp安装wordpress详解-技术流ken

    简介 LAMP 是Linux Apache MySQL PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行动态的脚本文件.现在基于lamp搭建wor ...

  2. cobbler批量安装系统使用详解-技术流ken

    前言 cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 系统环境准备及其下载cobbler ...

  3. 【Linux】使用 PXE+Kickstart 无人值守批量安装系统

    一.PXE背景知识 通过 PXE+DHCP+TFTP+VSftpd+Kickstart 服务程序搭建出无人值守安装系统,从而批量部署客户机系统. PXE(Preboot eXecute Environ ...

  4. KVM虚拟化使用详解--技术流ken

    KVM介绍 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中. KVM的虚拟化需要硬件支持 ...

  5. MySQL系列详解三:MySQL中各类日志详解-技术流ken

    前言 日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 .下面分别对他们进行介绍. 查询日志 1.查看查询日志变 ...

  6. iptables实战案例详解-技术流ken

    简介 关于iptables的介绍网上有很多的资料,大家可以自己找一些关于iptables的工作原理,以及四表五链的简介,对于学习iptables将会事半功倍.本博文将会例举几个工作中常用的iptabl ...

  7. grafana使用详解--技术流ken

    grafana简介 Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知.它主要有以下六大特点: 1.展示方式:快速灵活的客户端图表,面板插件有 ...

  8. systemd服务详解-技术流ken

    简介 在centos5中生成和管理用户空间中的进程以及完成系统的初始化使用的是init,并且是依次启动.在centos6中则是使用的upstart,在一定程度上实现了并行启动,但是仍然存在依赖关系,到 ...

  9. linux四剑客-grep/find/sed/awk/详解-技术流ken

    四剑客简介 相信接触过linux的大家应该都学过或者听过四剑客,即sed,grep,find,awk,有人对其望而生畏,有人对其爱不释手.参数太多,变化形式太多,使用超级灵活,让一部分人难以适从继而望 ...

随机推荐

  1. 京东Alpha平台开发笔记系列(三)

    摘要:通过前面两篇文章的讲述,大致了解了JdAlpha平台前端开发的主要流程.接下来本篇文章主要讲述后台服务器端开发的主要流程.这里会涉及到后台服务器的搭建的内容,本篇文章就不以赘述,如需了解请读下面 ...

  2. unic

    在线考试 答题剩余时间0小时51分18秒 考生须知 1.本次考试结束后,剩余补考次数:2次 2.考试时间为60分钟,超时系统自动交卷 3.本次考试满分100分(5*20道),60分通过考试 1. (单 ...

  3. ADO.NET MSSSQLServer 操作简要总结

    1).数据库操作首先应该是链接,链接的方式有多种,不论怎样实现最终都是把链接字符串赋值给实现了 继承自DbConnection 类的SqlConnection类实例的ConnectionString属 ...

  4. Lucene用法示例

    整理一下 ELK 和 Grafana 中会用到的 Lucene 用法: 通配符 示例1:过滤出 url 中包含 .pw/ 的 网址 url.keyword:*.pw\/* 正则表达式 示例1:过滤出 ...

  5. ASCII记录

    符号 十进制 + 43 - 45

  6. mysql--user表

    mysql数据库 用例:mysql  mysql> show tables; +---------------------------+ | Tables_in_mysql | +------- ...

  7. Linux时间戳转换成BCD码(转载)

    #include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> / ...

  8. SSAS 后端数据库访问模块中存在错误。 为绑定指定的大小太小,导致一个或多个列值被截断。

    在处理AS的过程中报错如上,经排查发现原因为数据库 “工号” 字段长度过长导致. 因为我的字段内容基本是人名加工号:张三/1001 不曾想有用户录入非正常数据 :张三/100/1001 这样导致我截取 ...

  9. JVM指令集

    指令集,其实就是一系列指令的集合.例如我们需要给一个局部变量赋予1这个值,即这个动作:int a = 1; 在我们看来,这很简单,但对于机器来说需要很多个动作.所以Java虚拟机指令集就是将这些常用的 ...

  10. Mybatis自定义SQL拦截器

    本博客介绍的是继承Mybatis提供的Interface接口,自定义拦截器,然后将项目中的sql拦截一下,打印到控制台. 先自定义一个拦截器 package com.muses.taoshop.com ...