Kickstart+PXE网络自动化Centos系统安装

注:服务端需要安装配置DHCP+HTTP+TFTP+Kickstart(重点创建ks.cfg文件)程序。

服务端软件安装配置:

1、DHCP服务

yum -y install dhcp                            #安装

rpm -ql dhcp |grep "dhcpd.conf"                  #检查

vim /etc/dhcp/dhcpd.conf                        #配置

ddns-update-style none;    # 不进行DDNS的更新

ignore client-updates;     # 不允许客户机更新DNS记录

subnet 172.16.1.0 netmask 255.255.255.0    # 与下面的range配合声明可分配IP的范围

{

option routers 172.16.1.20 ;        # 设置网关

range 172.16.1.30 172.16.1.50;   # 可分配的起始IP 结束IP

option subnet-mask 255.255.255.0;      # 设定netmask

default-lease-time 21600;              # 设置默认的IP租用期限

max-lease-time 43200;                 # 设置最大的IP租用期限

next-server 172.16.1.20 ;           # 用来告知主机TFTP服务器的ip

filename "/pxelinux.0";      # tftp服务器根目录下面的文件名(pxelinux.0是PXE专用的一个boot loader 文件)

}

service dhcpd start                                 #启动

chkconfig dhcpd on                                #设置开机启动

netstat -nlptu |grep dhcp                             #检查服务

sed -i ‘s/DHCPDARGS= /DHCPDARGS=eth0/g‘ /etc/sysconfig/dhcpd     #仅在eth0上提供dhcp服务

sed -i ‘s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g‘ /etc/sysctl.conf&&sysctl -p  #开启路由功能

2、HTTP服务

yum -y install httpd                               #安装

chkconfig httpd on                               #开机自启动

service httpd start                                #启动服务

mkdir -p /var/www/html/os                        #创建挂载目录

mount /dev/cdrom /var/www/html/os/               #挂载系统镜像

3、TFTP服务

yum -y install tftp-server                             #安装

vim /etc/xinetd.d/tftp                                #配置

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

per_source              = 11

cps                     = 100 2

flags                   = IPv4

}

yum -y install syslinux                                    #安装引导程序(提供pxelinux.0文件)

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/              #复制引导文件到TFTP的根目录

cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/

cp /var/www/html/os/images/pxeboot/vmlinuz /var/lib/tftpboot

cp /var/www/html/os/images/pxeboot/initrd.img /var/lib/tftpboot/

mkdir -p /var/lib/tftpboot/pxelinux.cfg

cp /var/www/html/os/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default    #拷贝启动菜单

vim /var/lib/tftpboot/pxelinux.cfg/default                                     #配置文件

default vesamenu.c32

prompt 0

timeout 600

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

menu label ^Install or upgrade an existing system

menu default

kernel vmlinuz

append initrd=initrd.img ks=http://172.16.1.20/ks.cfg ksdevice=eth0 ip=dhcp

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 -

chmod 644 /var/lib/tftpboot/pxelinux.cfg/default                    #设置文件权限

ls /var/lib/tftpboot                                            #检查

initrd.img  pxelinux.0  pxelinux.cfg  vesamenu.c32  vmlinuz

4、配置kickstart自动安装文件

yum -y install system-config-kickstart         #建议在图形化界面内安装配置

vim /var/www/html/ks.cfg                       #配置

#by lrj 2016-3-29

# Kickstart file automatically generated by anaconda.

install                                     #告知安装程序,这是一次全新安装,而不是升级

url --url=http://172.16.1.20/os/        #告知安装程序,这是一个网络安装,使用HTTP来提供安装所需的资源

text                                        #使用文本模式安装

lang en_US.UTF-8                            #默认语言是英语

keyboard us                                 #使用美式键盘

zerombr                                     #清空mbr

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"  #指定bootloader的安装位置及参数

network --device eth0 --bootproto dhcp --onboot on --hostname=CentOS6 --noipv6     #设置安装完成后的主机名和网络

timezone  Asia/Shanghai                     #设置时区

auth --useshadow --passalgo=sha512          #设置密码加密方式为sha512 启用shadow文件

rootpw --iscrypted $6$QHOksakPohOoVUL9$CNCHfAMYDZZZzZixAGGKCWdPkK8qVvpRk9DkaDOJtrRXlJkzk5GHMZ9zqCTdr8Qiozl9qHOVT5XnbGaZKt06d0                                        #设定root的密码

clearpart --all --initlabel                 #清空所有分区

part /boot --fstype=ext4 --size=200         #新建/boot分区

part swap  --fstype=swap --size=1000        #新建swap分区

part /     --fstype=ext4 --size=10000       #新建/分区

part /data --fstype=ext4 --grow --size=1    #新建/data分区

#part pv.008002 --size=5120                  #新建2个pv,每个pv大小为5G

#part pv.008003 --size=5120

#volgroup vg_root --pesize=4096 pv.008002 pv.008003  #新建一个VG,名为vg_root 包含了刚才创建的2个PV

#创建LV

#logvol / --fstype=ext4 --name=lv_root --vgname=vg_root --size=5120

#logvol swap --name=lv_swap --vgname=vg_root --size=2048

#logvol /data --fstype=ext4 --name=lv_data --vgname=vg_root --grow --size=1   #余下部分

firstboot --disable                          #禁止firstboot,firstboot就是我们使用图形化安装完系统,重启后有一个初始设置

selinux --disabled                           #禁止selinux

firewall --disabled                          #禁止防火墙

logging --level=info                         #设定安装过程中的日志级别

reboot                                       #设定安装完成后重启

#安装包我选择的是Basic模式,添加了中文支持

%packages

@base

@development

#中文支持

@chinese-support

@console-internet

@core

@debugging

@directory-client

@hardware-monitoring

@java-platform

@large-systems

@network-file-system-client

@performance

@perl-runtime

@server-platform

@server-policy

#加上优化脚本

%post

cd /root

/usr/bin/wget http://172.16.1.20/shell.tar.gz

/bin/tar -zxf shell.tar.gz

/bin/sh ` find ./ -name ‘*.sh‘ `

%end

注意:

grub-crypt                            #密方式为sha512生成的密码

Password: rhce

Retype password: rhce

$6$QHOksakPohOoVUL9$CNCHfAMYDZZZzZixAGGKCWdPkK8qVvpRk9DkaDOJtrRXlJkzk5GHMZ9zqCTdr8Qiozl9qHOVT5XnbGaZKt06d0

特别注意分区方面,大小要以机器硬盘大小为主修改编写(否则出错),后续还可以加上一些自动化脚本做优化。

时间: 2024-09-30 05:09:16

Kickstart+PXE网络自动化Centos系统安装的相关文章

PXE网络自动化安装Linux

在工作环境中,批量安装.无键盘鼠标.无显示器.无光驱安装操作系统都需要采用非交互式安装. PXE安装就是可以通过网络自动加载系统内核,并启动安装程序,再配合kickstart配置文件,完成无交互式安装的方式. 一.基本概念 DHCP 动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作在67号端口,主要用途是给网络中的设备自动分配IP地址. TFTP TFTP(Trivial File Transfer

KickStart+PXE实现自动化部署安装

前言 ??在日常的生产环境中,需要批量的部署大量相同的操作系统,如果我们去逐台安装无疑会花费大量的时间,通过Kictstart+PXE可以快速的部署安装,可以有效的节省人工和时间. ???什么是PXE? PXE(预启动执行环境),工作在Client/Server的工作模式,通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统:由Intel和Systemsoft公司于1999年9月20日公布的技术: ?PXE工作原理:???实验环境 操作系统:centos6.5server:

CentOS 7.1 PXE网络自动化安装

CentOS 7.1.1503 X64位PXE安装说明 1.使用香港中文大学安装源.安装源可以去http://www.centos.org/download/mirrors/里面找,有很多.暂时列出国内常用的安装源. 安徽省合肥市 中国科学技术大学 http://centos.ustc.edu.cn/centos/7.1.1503/os/x86_64/ 山东省青岛市 阿里云计算有限公司 http://mirrors.aliyun.com/centos/7.1.1503/os/x86_64/ 浙江

关于linux - Centos 7 系统下使用PXE网络的方式(pxe+dhcpd+tftp+httpd)安装操作系统

PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘.光驱等设备启动. 现代的网卡,一般都内嵌支持PXE的ROM芯片.当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单, 经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行. >>>>>>这里笔者将PXE网络安装Centos 7的方法记录如下,首先服务端(Centos 7)的需要准备的环

PXE+HTTP+tftp+kickstart 网络自动化安装centos6.5

基本流程: 1.网卡作为可引导的启动设备 2.BIOS找到引导设置网卡,激活网卡的PXE功能 3.客户端通过PXE的内置dhcp客户端尝试DHCP广播请求,从DHCP服务器获取IP地址.掩码.网关.网络属性 4.DHCP服务器告知客户端tftp服务器地址(next-server),将 "filename "pxelinux.0";" 参数中指定的文件(pxelinux.0)推送给客户端: 5.PXE的内置tftp客户端到指定tftp服务器下载启动镜像文件pxelin

基于PXE网络启动的Linux系统自动化安装

基于PXE网络启动的Linux系统自动化安装 ??在实际工作中,传统纯手动安装操作系统的方式是有一定的局限性的,例如:现在大多数的服务器都不自带光驱,若要安装系统需要外接光驱插入光盘,整个安装过程中需要人工交互确认,手动设置每一个安装设置项,人必须要在机器前值守,时间大多花费在安装的等待过程中.假如有一大批服务器需要安装操作系统,这种传统手动的方式去逐台安装系统的方式,效率是极其低下的,而且由于需要人工交互式配置系统的安装设置项,无法确保每一台机器的系统安装配置都是完全一致的,即无法做到完全的统

自动化无人值守网络装机(PXE网络装机)

自动化无人值守网络装机(PXE网络装机) 在IP地址为192.168.4.5主机上配置pxe机,实现对客户端的自动化网络装机,并在给客户端装机后自动分配IP地址.主机名,并自动创建一个管理员的账户:admin和对应密码:123456. 在192.168.4.5主机上配置: [[email protected]桌面]# mkdir  /nfsdir [[email protected]/]# mount  /dev/cdrom  /nfsdir //光盘挂载目录,也可是其他目录,但要和生成ks文件

CentOS系统安装(下):无人值守安装--kickstart文件及引导镜像的制作

1. 什么是kickstart安装? kickstart是RedHat/CentOS/Fedora等系统实现无人值守自动化安装的一种安装方式,系统管理员可将安装过程中需要配置的所有参数集成于一个kickstart文件中,而后在系统安装时,安装程序通过读取事先给定的这个kickstart文件自动化地完成配置并安装完成. anaconda的配置方式有以下两种: (1)交互式配置: (2)通过读取事先给定的配置文件事先自动完成配置,这个配置文件就是kickstart文件,它遵循特定的语法格式. 在前面

PXE网络引导自动化安装系统详解

一.PXE:预引导加载环境 1.PXE Preboot ExecuteEnvironment:支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicasttrivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成Client端自动化基本软件设置,从而引导预先安装在服务器中的