Centos通过PXE自动化安装

Centos的安装管理程序是anaconda,系统安装完成之后会在root的家目录下自动生成一个kickstart配置文件:anaconda_ks.cfg。这个文件主要是由命令段,软件包段和脚本段构成。

命令段:包含安装系统是的各种操作命令

软件包段:包含指定安装或者不安装的软件包和包组

%packages表示此段是软件包段,以%end结束段

PKG_NAME:指定要安装的软件包

@GROUP_NAME: 指定要按装的包组

-PKG_NAME:表示不安装此包,如果此包被依赖,也会被安装

脚本段:

%pre: 安装前脚本,安装环境的准备工作,以%end结束此段

%post:安装后脚本,安装完成后要执行的操作,以%end结束此段

kickstart文件可以通过system-config-kickstart图形化界面来配置,然后生成配置文件,可以以指定的文件名保存在指定目录。也可以打开一个已有的kickstart配置文件来导入配置在原来的基础上做修改。

安装system-config-kickstart

# yum install system-config-kickstart

还有个命令ksvalidator可以检查kickstart文件的语法

# kickstart ks.cfg

PXE自动安装:

1、配置DHCP

安装DHCP

# yum install dhcp

配置DHCP,编辑配置文件/etc/dhcp/dhcpd.conf

option domain-name "example.org"; # 指定网域的域名
option domain-name-servers 172.16.142.1; # DNS 多个可用逗号隔开

default-lease-time 86400; # 默认租约期限
max-lease-time 100000; # 最大租约期限
 
log-facility local7; # 日志设备类型为local7

subnet 172.16.0.0 netmask 255.255.0.0 {  # 指定网段的分配ip 和子网掩码
   range 172.16.142.2 172.16.142.254; # 可使用的地址池范围
   option routers 172.16.142.1; # 指定网关
   next-server 172.16.142.1; # 指定下一个Server为tftp服务器地址
   filename "pxelinux.0 "; # 指定到tftp服务器上下载pxelinux.0文件
}

检查配置文件是否有语法错误

# service dhcpd configtest
Syntax:OK

重新装载dhcp服务配置文件

# service dhcpd force-reload

设置开机启动服务

# chkconfig dhcpd on

查看开机启动情况

# chkconfig --list dhcpd
dhcpd           0:off 1:off 2:on 3:on 4:on 5:on 6:off # 在2,3,4,5运行级别开机启动服务

租约信息库查看ip的分配信息:

# cat /var/lib/dhcpd/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.1.1-P1
lease 172.16.142.4 {
  starts 2 2014/07/29 10:53:30;
  ends 2 2014/07/29 10:55:30;
  tstp 2 2014/07/29 10:55:30;
  cltt 2 2014/07/29 10:53:30;
  binding state free;
  hardware ethernet c4:6a:b7:d8:78:b0;
  client-hostname "android-ef3831713d10353c";
}
lease 172.16.142.6 {
  starts 2 2014/07/29 11:02:12;
  ends 2 2014/07/29 11:04:12;
  tstp 2 2014/07/29 11:04:12;
  cltt 2 2014/07/29 11:02:12;
  binding state free;
  hardware ethernet 20:1a:06:bf:dc:43;
  uid "\001 \032\006\277\334C";
  client-hostname "PC201406062256";
}

2、配置tftp Server

安装tftp & tftp-server

# yum install tftp tftp-server

开启tftp服务

# chkconfig tftp on
# service xinetd restart

查看tftp服务是否启动

# ss -unl |grep :69
UNCONN     0      0                         *:69                       *:*

3、提供PXE工作环境

安装syslinux

# yum install syslinux

复制pxelinux.0文件到tftp上

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

4、提供引导内核等所需文件

挂载系统光盘至/media/cdrom

# mount /dev/cdrom /media/cdrom

复制文件到tftpboot目录中

# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot
# cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32,boot.msg}  /var/lib/tftpboot

vesamenu.c32启动菜单所需文件,在tftpboot目录下创建pxelinux配置文件目录pxelinux.cfg目录

然后复制/media/cdrom/isolinux/isolinux.cfg启动菜单文件到pxelinux.cfg目录中,并且重命名为default文件

# mkdir /var/lib/tftpboot/pxelinux.cfg 
# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

# 配置文件的内容
default vesamenu.c32  # 使用vesamenu.c32文本界面程序
#prompt 1
timeout 600  # 设定超时60秒,单位为0.1秒

display boot.msg

menu background splash.jpg   # 设置背景图片
menu title Welcome to CentOS 6.5! # 设置标题
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux    # 设置标签,启动时按tab键进入命令行界面是,可以使用标签代替命令和参数
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz # 内核位置
  append initrd=initrd.img ks= # 内核后带的参数,指定了ks文件位置 
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img xdriver=vesa 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 -

5、提供安装源

安装httpd

# yum install httpd
# 创建光盘挂载目录
# mkdir /var/www/html/centos

# 挂载光盘到目录
# mount /dev/cdrom /var/www/html/centos

# 或者把光盘挂载至/media/cdrom,再将/var/www/html/centos绑定挂载至/media/cdrom
# mount /dev/cdrom /media/cdrom
# mount /media/cdrom /var/www/html/centos

6、提供ks.cfg文件

注意:ks.cfg 文件other用户要拥有可读权限

将ks.cfg文件复制到http默认目录下

# cp ~/anaconda_ks.cfg /var/www/html/ks.cfg

# Kickstart file automatically generated by anaconda.
#version=DEVEL
install

# 兼容Centos5的安装源,不可省略,会报错
url --url=http://172.16.142.1/centos 
....

# 分区格式化
clearpart --all
part /boot --fstype=ext4 --size=200
part pv.008002 --size=61440
volgroup vg0 --pesize=8192 pv.008002
logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480
logvol swap --name=swap --vgname=vg0 --size=2048
logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240
logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480

# 指定安装源
repo --name="CentOS"  --baseurl=http://172.16.142.1/centos --cost=100

# 配置安装的包和包组
%packages
@Base
@Core
@base
@basic-desktop
...
ibus-table-cangjie
ibus-table-erbi
ibus-table-wubi
lftp
%end

# 安装后脚本
%post
...

%end

Centos通过PXE自动化安装,布布扣,bubuko.com

时间: 2024-10-12 21:34:17

Centos通过PXE自动化安装的相关文章

PXE自动化安装centos系统

PXE自动化安装centos系统 ①安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP iptables -vnL #查看防火墙状态 systemctl stop firewall #关闭防火墙 getenforce #查看SELinux状态 setenforce 0 #禁用SELinux cat > /etc/sysconfig/network-scripts/ifcfg-ens37 <<EOF DEVICE=ens37 #网卡名称 ONBOOT=yes #开启网卡 BOO

Centos6.5 PXE自动化安装

Centos6.5 PXE自动化安装 首先我们将根据此图说明PXE自动安装的过程: 主机1开机以网卡方式启动,发现自己没有IP地址, 那么网卡rom中的dhcp客户端会发起discovery的广播请求,dhcp服务器发现请求后会给网卡分配一个ip地址告诉客户端TFTP服务器的地址及pxelinux.0所在的路径(相对路径).于是客户端启动网络卡rom中的tftp客户端到TFTP服务器下载pxelinux.0及其配置文件pxelinux.cfg/default 和相关文件[此配置文件会告诉pxel

初步使用pxe自动化安装系统

1.安装dhcp服务 #yum install dhcpd 修改配置文件 /etc/dhcp/dhcpd.conf # This is a very basic subnet declaration. subnet 172.16.249.0 netmask 255.255.255.0 {  range 172.16.249.111 172.16.249.115;  option routers 172.16.0.1;  next-server 172.16.249.161;  filename

PXE自动化安装系统

如何配置PXE: 一.dhcp安装 1.安装程序 2.修改配置脚本 配置dhcp服务 subnet ... netmask ... { ... next-server TFTP-SERVER-IP; filename "pxelinux.0"; } 提示脚本示例文档  cat /etc/dhcp/dhcpd.conf 二.tftp安装 1.程序安装 2.默认文件目录 3.基本演示操作 4.服务启动 三.提供PXE的工作环境 1.程序安装  yum install syslinux 2.

配置pxe 自动化安装centos6.7

dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y install dhcp,  rpm -ql dhcp查看安装了哪些包,less /etc/dhcp/dhcpd.conf  打开dhcp的主配置文件,如下图: 没有任何配置,但提示了去哪找主配置文件,cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcp.conf  覆盖主配置文件,vim /etc/dhcp/dhcpd.conf 再次打开,d

在windows下使用gpxelinux进行ESXi 5.x的PXE自动化安装

在windows下使用gpxelinux进行ESXi 5.x的PXE自动化安装.网上许多的教程都是使用Linux作为PXE服务器,对于不怎么熟悉Linux的孩纸这着实是件头疼的事情,like me.所以我通过收集资料,尝试出一个在windows下就可以搭建PXE服务器并用其批量安装ESXi 5.x. 首先自我总结下服务器使用PXE启动的过程.1.ESXi服务器以PXE方式启动后,首先从DHCP服务器拿到IP地址.网关.DNS服务器.TFTP服务器地址.指定的pxelinux.0或者gpxelin

PXE自动化安装CentOS 7

PXE介绍 Preboot Excution Environment 预启动执行环境,基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统. PXE可以引导和安装Windows,linux等多种操作系统 PXE工作原理 Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的

Centos系统半自动化安装

很多朋友也都使用光盘安装过操作Centos操作系统,光盘启动之后也就会给一个选择界面一步一步的选择好之后就开始正式安装了,如果是安装一台服务器的操作系统,这样也倒好说,如果等着我们安装的是成百上千的时候,还能这样一台的去手动选择第一个台的配置选项吗,很显然这样操作是很愚蠢的,所以我们能否让它按着一个标准划的模板自动化去配置后进行安装了.Centos系列的操作系统的光盘安装管理器anaconda已经给我们提供了这一功能,只是大家没有去做过多的研究罢了,那么今天就带大家来了解一下如何使用anacon

Linux PXE自动化安装centos6系统

1.PXE是什么? pxe是Preboot Excution Environment的缩写,是intel公司研发,基于client/server的网络模式,支持远程主机通过网络从远端服务器下载镜,并由此支持通过网络启动操作系统的预启动执行环境. 2.PXE的工作原理 它的工作流程是这样的: 1.客户端向PXE 服务器上的DHCP发送ip地址请求消息,DHCP检测到客户端是否合法(主要是检测客户端的网卡MAC地址)如果合法则返回客户端的ip地址,同时将启动文件pxelinx.0位置信息一并传给客户