DHCP+HTTP+KICKSTART自动化光盘启动部署服务器

自动化光盘启动部署服务器

这里是通过虚拟机进行实际部署前的测试,完全可用于实际的部署工作,完成后可实现一张自制启动光盘和一台可装有HTTP和DHCP服务的linux系统服务器自动化安装操作系统。

虚拟环境:

操作系统  rhel-server-5.4-x86    IP:192.168.1.3

客户端需要安装的系统:rhel-server-5.4-x86

NOTICE:网络自动化安装操作系统,需要客户端支持网卡启动和PXE功能。

实施步骤:


一、配置DHCP服务器:

1)安装DHCP服务器

[[email protected] ~]#yum install -y dhcp*

2)编辑DHCP服务器配置文件/etc/dhcp/dhcpd.conf

因目的是安装操作系统,而不是将其作为专门的DHCP服务器,所以只需配置几项简单的参数

ddns-update-style interim;
     
    allow booting;
    allow bootp;
    ignore client-updates;
    set vendorclass = option vendor-class-identifier;
    subnet 192.168.1.0 netmask 255.255.255.0 {
         option routers             192.168.1.1;
    #    option domain-name         "ns.rrl.com";
    #    option domain-name-servers 192.168.1.1;
         option subnet-mask         255.255.255.0;
         range dynamic-bootp        192.168.1.100 192.168.1.199;
         filename                   "/pxelinux.0";
         default-lease-time         21600;
         max-lease-time             43200;
         next-server                192.168.1.3;
    }

简单介绍:  
     Option routers指定网关;     
     Option domain-name-server指定DNS服务器;      
     Option subnet-mask指定掩码;      
     range dynamic-bootp指定分配给客户端的IP地址段;      
     Filename 指定启动镜像;      
     Next-server 指定TFTP服务器。

将DNS配置注释掉,因在安装某些版本的红帽系统时,会需要指定的DNS服务器进行解析,从而导致自动化安装失败。

3)启动DHCP服务


[[email protected] ~]#service dhcpd start

[[email protected] ~]#chkconfig --add dhcpd           #设置dhcp服务开机自动启动

4)查看已分配的DHCP地址

[[email protected] ~]#cat /var/lib/dhcp/dhcpd.leases
lease 192.168.1.199 {
  starts 4 2016/12/08 08:13:17;
  ends 4 2016/12/08 14:13:17;
  binding state active;
  next binding state free;
  hardware ethernet 00:50:56:9c:7b:a5;
  client-hostname "jacktest";
}

二、配置WEB服务器


1)安装httpd服务器

[[email protected]~]#yum install –y httpd*

2)配置Web服务器

通过yum安装的httpd服务器网页文件放置的位置在/var/www/html目录中。我们在这个目录中创建rhel5.4镜像的挂载目录。然后将镜像重新挂载到这个目录下。

[[email protected]~]#mkdir /var/www/html/rhel5.4
[[email protected]~]#umount /media/iso 
[[email protected]~]#mount –o loop,ro rhel-server-5.4-i386-dvd.iso /var/www/html/rhel5.4

3)启动httpd服务器

[[email protected]~]#service httpd start 
[[email protected]~]#chkconfig --add httpd  #设置httpd服务开机自动启动

在这个阶段我们也可以使用NFS或者FTP的方式进行部署,配置过程同样很简单。只需要执行几个命令并且修改对应的kickstart文件中的如何指定安装树的指向的配置选项。在下面kickstart文件中我会给出nfs和ftp的指向配置,可以参考一下。

三、配置kickstart文件

三种方式创建kickstart文件

1.1.System-config-kickstart方式:这需要我们事先安装好syste-config-kickstart软件包,使用yum安装即可。然后使用这个软件定制我们的kickstart文件;

[[email protected]test ~]# yum install system-config-kickstart.noarch

[[email protected] ~]# ksvalidator /root/anaconda-ks.cfg   #检查文件错误

[[email protected] ~]# timeconfig
[[email protected] ~]# system-config-kickstart  &  #图形化生成/root/class.cfg文件

  1.2复制/root/anaconda-ks.cfg文件方式:

因Red Hat操作系统,在系统安装完成后,会自动在root家目录下创建一个anaconda-ks.cfg文件,这个文件真实的记录了系统安装过程中的配置。我们可以复制这个文件,然后在其基础上进行配置。

[[email protected] ~]# mount /dev/cdrom  /media  # 将安装光盘mount到/media

[[email protected] images]# ls /media/images
README  TRANS.TBL  boot.iso  diskboot.img  minstg2.img  pxeboot  stage2.img  xen
[[email protected] images]# cp /media/images/boot.iso   /root/
[[email protected] ~]# ls /root/
boot.iso

[[email protected] ~]# mount -o loop boot.iso  /mnt/cdrom/   # 将该文件mount到/mnt/cdrom/
[[email protected] ~]# cd /mnt/cdrom/
[[email protected] cdrom]# ls
TRANS.TBL  isolinux
[[email protected] isolinux]# ls /mnt/cdrom/isolinux/
TRANS.TBL  boot.msg     initrd.img    isolinux.cfg  options.msg  rescue.msg  vmlinuz
boot.cat   general.msg  isolinux.bin  memtest       param.msg    splash.lss

[[email protected] ~]# mv class.cfg  ks.cfg  #更改后的ks.cfg文件如附件

[[email protected] tmp]# mkdir iso
[[email protected] tmp]# cd iso/
[[email protected] iso]# cp /mnt/cdrom/*  ./ -r #将/mnt/cdrom内容复制到当前目录中
[[email protected] iso]# ls
TRANS.TBL  isolinux
[[email protected] iso]# cd isolinux/
[[email protected] isolinux]# ls
TRANS.TBL  boot.msg     initrd.img    isolinux.cfg  options.msg  rescue.msg  vmlinuz
boot.cat   general.msg  isolinux.bin  memtest       param.msg    splash.lss

[[email protected] iso]# cp /root/class.cfg  ./ks.cfg
[[email protected] iso]# ls
TRANS.TBL  isolinux  ks.cfg

[[email protected] iso]# chmod +r  /root/ks.cfg

[[email protected] iso]# ll /root/ks.cfg

-rw-r--r-- 1 root root 2064 Dec  7 09:51 /root/ks.cfg
[[email protected] isolinux]# vim isolinux.cfg

default linux ks=cdrom:/ks.cfg     #红色为新增部分,表示光盘启动

[[email protected] isolinux]#  vi /tmp/iso/isolinux/boot.msg   #编辑此文件后显示如下图

^L
^Xsplash.lss

-  To install or upgrade in graphical mode, press the ^O01<ENTER>^O07 key.
XXX
 -  To install or upgrade in text mode, type: ^O01linux text <ENTER>^O07.
XXX
 -  Use the function keys listed below for more information.
XXX
^O0f[F1-Main] [F2-Options] [F3-General] [F4-Kernel] [F5-Rescue]^O07

[[email protected] isolinux]# ls
TRANS.TBL  boot.msg     initrd.img    isolinux.cfg  options.msg  rescue.msg  vmlinuz
boot.cat   general.msg  isolinux.bin  memtest       param.msg    splash.lss

[[email protected] ~]# vi /tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 30     #红色部分为已更改

...

append initrd=initrd.img text     #因使用光盘访问方式,此处不改

#若此文件通过HTTP访问红色部分改为:ks=http://192.168.1.3/ks.cfg

[[email protected] isolinux]# cd /tmp    #切换到非iso目录
[[email protected] tmp]#mkisofs -R -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o boot.iso iso/

1.3.文件ks.cfg纯手工打造方式,就是自己使用文本工具(如:vi)直接进行编辑配置;

[[email protected] iso]# cat ks.cfg   
# Kickstart file automatically generated by anaconda.      
#version=DEVEL     
Install      
#nfs --server=192.168.1.3 --dir=/media/cdrom   
#url --url=ftp://root:[email protected]/var/ftp

url --url=ftp://192.168.1.3/rhel5.4 
lang en_US
langsupport --default en_US en_US
keyboard us   
text   
key –skip    
network –bootproto=dhcp --device=eth0   --onboot=on     
rootpw  root    
# Reboot after installation      
reboot   
firewall --disabled      
authconfig --useshadow  --passalgo=sha512      
selinux --disabled   
timezone Asia/Shanghai      
bootloader --location=mbr --driveorder=sda  
   
# 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 --initlabel   
       
#part /boot --fstype=ext4 --size=500      
#part swap  --size=2048      
#part /     --fstype=ext4 --grow --size=2     # --grow表示剩余的所有空间分配于此

part /boot --bytes-per-inode=4096 --fstype="ext3" --size=1024
part /home --bytes-per-inode=4096 --fstype="ext3" --size=4096
part /tmp --bytes-per-inode=4096 --fstype="ext3" --size=4096
part /usr --bytes-per-inode=4096 --fstype="ext3" --size=4096
part swap --bytes-per-inode=4096 --fstype="swap" --size=2048
part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1

# X Window System configuration information
xconfig  --defaultdesktop=GNOME --depth=16 --resolution=1024x768 --startxonboot

%packages    
@Base   
@Core    
@base    
@client-mgmt-tools   
@debugging    
@emacs   
@ftp-server    
@hardware-monitoring   
@large-systems   
@network-file-system-client   
openssh
openssh-server
openssh-clients
vim-enhanced
firefox
mutt
screen

NOTICE:红帽5系列与红帽6系列的kickstart文件有点区别,在红帽5系列中如果有%end选项的话,在安装过程中会报错,红帽6.0以后的系统支持该选项。红帽5系列的最高支持ext3文件系统,红帽6系列的最高支持ext4文件系统,所以在kickstart文件中要根据系统的版本进行相应的修改。

---end---

时间: 2024-10-08 22:08:39

DHCP+HTTP+KICKSTART自动化光盘启动部署服务器的相关文章

kickstart自动化安装--tftp+nfs+dhcp

使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: (1)流线自动化的安装 (2)快速大量的裸机部署 (3)强制建立的一致性(软件包,分区,配置,监控,安全性) (4)减少人为的部署失误 使用Kickstart方法安装的过程: (1). 创建一个kickstart文件 (2). 创建有kickstart文件的引导介质或者使这个文件在网络上可用: (3)

Kickstart自动化安装部署Centos系统平台的搭建

先上拓扑图吧 0.使用虚拟机做实验的规划 1.ip地址的规划,模板练习机器1对应10.0.0.11,依次类推 2.所有的服务器配置好epel源 3.所有的服务器都要做内核优化(基本) 4.每个实验都要有详细的文档 5.模拟实验故障,并做记录 6.所用系统均为centos6.5for 64bit 内核版本号为2.6.32-431 一.部署Kickstart自动化安装系统平台 第一部分:基本准备篇 实验环境为centos6.5for 64bit 经验:建议安装kickstart-server为min

使用PXE+DHCP+TFTP+kickstart搭建无人执守系统安装服务器

原理和概念:  1. 什么是PXE  严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client.PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动. 协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE cli

Redhat 7 配置Kickstart自动化部署多种系统

使用kickstart自动化部署多种系统,我想到的有两种场景,一种适合于日常运维,当机房上架个别新增的服务器时,根据不同的用途需求,通过一个多系统的启动菜单,输入相应的操作系统名称,即可自动化部署对应的操作系统.例如我在网上看到如下图这样的方案: 但是在第二种场景即系统集成项目中,如果同时要安装50台.100台的话,每台都要去输入,那也真是令人蛋疼了.系统集成项目通常会遇到服务器数量较多.且不同的项目对操作系统的需求不同的情况,如果准备一台Kickstart一次只是推送一种操作系统的自动化部署,

运维自动化之系统部署(kickstart、PXE)

anaconda anaconda负责安装系统向导,默认为GUI界面,如果我们使用ks自动应答安装的话建议使用TUI界面来安装 在安装启动界面我们可以按esc键来自己手动指定安装启动选项 anaconda选项: 1)linux askmethod 在稍后的安装中手动选择安装源 本地光盘.硬盘.NFS.FTP.HTTP 2)linux dd 加载驱动盘 3)linux ks=xxx   指定安装ks文件 DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE Har

自动化之cobbler部署

运维自动化之cobbler部署 cobbler介绍 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP,DNS,以及yum包镜像. Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用. 优点: 和Kickstart不同的是,使用cobbler不会因为在局域网中启动了dhcp而导致有些机器因为默认从pxe启动

linux网络安装(PXE + DHCP+TFTP+ Kickstart+ FTP)

需要使用到的服务:PXE + DHCP+TFTP+ Kickstart+ FTP 运行原理如下图: 原理和概念:  1.前言        首先,简单谈谈为什么要采用无人值守网络安装linux操作系统.一方面是运维管理的需要,因各种需要,安装操作系统在实验室内时有发生,有时候更出现批量安装某一型号操作系统的情形,这时候如果用光盘挨个安装将变得异常繁琐,并且需要人工值守.此外,因操作系统种类较多(主要是针对linux),内部人员使用频繁,也会带来管理上的问题.另一方面是当前MPX项目开发的需要,为

kickstart自动化安装过程(搜索整理)

Kickstart自动安装配置文档(NFS+http版本) 一.什么是PXE?PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术, 工作于Client/Server的网络模式.严格来说,PXE 并不是一种安装方式,而是一种引导方式.进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client.PXE (Pre-boot Execution Environment)协

PXE项目实战,通过编写脚本自动安装系统时批量部署服务器所需要的所有服务

由于上一篇是有关PXE的基础配置,所以有些过程省略,有不便的还请谅解. 案例需求:    1. 在局域网 192.168.1.0/24 内部署一台 PXE 装机服务器(CentOS 6.5系统)        操作系统:CentOS 6.5      ==> 关闭 iptables 防火墙.关闭SELinux机制,进图形桌面        网卡连接:VMnet1    ==> 关闭 NetworkManager 服务 2. 提供带图片背景.可选择的PXE启动菜单,支持为客户机裸机装配64位的