centos7自动化安装

1、pxe简介

PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,

由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

2、pxe工作流程

1. PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;

2. DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上)

3. PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件;

4. PXE Client 取得pxelinux.0 文件后之执行该文件;

5. 根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统 ;

6. 进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装;

3、实验环境

实验环境:VMware Workstation 10

系统平台:CentOS7

网络模式:桥接

DHCP / TFTP /FTP IP:172.16.15.10

搭建本地yum源

[[email protected] ~]# cat /etc/yum.repos.d/CentOS7-Base.repo

[base]

name=base

baseurl=file:///mnt

enabled=1

gpcheck=0

gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7

安装相关的软件

ftp  tftp  dhcp

4、配置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

per_source              = 11

cps                     = 100 2

flags                   = IPv4

}

[[email protected] ~]# ln -s /var/lib/tftpboot/  /

[[email protected] ~]# systemctl start tftp.socket

[[email protected] ~]# systemctl start tftp.service   启动tftp

[[email protected] localhost tftpboot]#cd  /tftpboot

[[email protected] localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 .

[[email protected] localhost tftpboot]# cp /mnt/cdrom/images/pxeboot/* .

[[email protected] localhost tftpboot]# mkdir pxelinux.cfg

[[email protected] localhost tftpboot]# cp /mnt/cdrom/isolinux/isolinux.cfg pxelinux.cfg/defult

注意如果没有pxelinux.0文件  安装syslinux即可

[[email protected] tftpboot]# vi pxelinux.cfg/default

default 7.0

prompt 1

timeout 60000

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

label 7.0    自定义标签

kernel vmlinuz

append ks=ftp://172.16.15.10/ks.cfg initrd=initrd.img   采用ftp引导,也可以是http,nfs等

label text

kernel vmlinuz

append initrd=initrd.img text

label ks

kernel vmlinuz

append ks initrd=initrd.img

label local

localboot 1

label memtest86

kernel memtest

append

5、ftp相关

[[email protected] tftpboot]# cd /var/ftp/

[[email protected] ftp]# cp -ar /mnt/* .  将镜像内容全部复制到ftp根目录下面

6、配置dhcp

[[email protected] ftp]# cat /etc/dhcp/dhcpd.conf

#   see /usr/share/doc/dhcp*/dhcpd.conf.example

next-server 172.16.15.10;

filename "pxelinux.0";

allow booting;

allow bootp;

subnet 172.16.15.0 netmask 255.255.255.0{

option routers 172.16.15.254;

range dynamic-bootp 172.16.15.100 172.16.15.200;

}

7、编辑ks.cfg文件如下

[[email protected] ftp]# cat ks.cfg

# platform=x86, AMD64, or Intel EM64T

# Use text mode install

text

# Use graphical install

#graphical

# Install OS instead of upgrade

install

# Use CDROM media

#cdrom

# Use NFS installation media

#nfs --server=172.16.15.10 --dir=/centosinstall

# Use HTTP installation media

# url --url http://192.168.0.100:7000/tftpboot

# Use FTP installation media

#url --url ftp://<username>:<password>@<server>/<dir>

url --url ftp://172.16.15.10/

# System language

lang en_US.UTF-8

# System keyboard

keyboard us

# Network information

#network --bootproto=dhcp --device=eth0 --hostname example.sz.com --onboot=on

#network --bootproto=dhcp --device=eth0 --hostname vmserver1.sz.com --onboot=on

#network --bootproto=dhcp --device=enp130s0f0 --hostname martin --onboot=on

network --bootproto=dhcp  --hostname martin --onboot=on

#Root password

rootpw  123456

#firewall --enabled --ssh

firewall --disable

# System authorization information

authconfig --useshadow  --enablemd5

# SELinux configuration

selinux --disabled

# System timezone

timezone Asia/Shanghai

# System bootloader configuration

bootloader --location=mbr

# Partition clearing information

#clearpart --all --initlabel --drives=sda

#part /boot --fstype ext3 --size=100 --ondisk=sda

#part pv.01 --size=4096 --grow --ondisk=sda

#volgroup VolGroup00 --pesize=32768 pv.01

#logvol / --fstype=ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow

#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=512

# Partition clearing information

clearpart --all --initlabel

# Soft RAID1 partitioning information

part swap --fstype="swap" --ondisk=sda --size=4096

part raid.01 --fstype="raid" --grow --ondisk=sda --size=1

part swap --fstype="swap" --ondisk=sdb --size=4096

part raid.02 --fstype="raid" --grow --ondisk=sdb --size=1

raid / --device=md0 --fstype="ext4" --level=1 raid.01 raid.02

# Reboot after installation

reboot

# Do not configure the X Window System; if to configure it, uncomment following line

skipx

# X Window System configuration information

#xconfig  --defaultdesktop=GNOME --depth=32 --resolution=1024x768

%packages

@ additional-devel

@ base

@ core

@ debugging

@ gnome-desktop

@ development

@ mariadb

@ emacs

@ web-server

@ network-file-system-client

@ java-platform

@ platform-devel

@ php

expect

iptraf-ng

libaio-devel

libpcap-devel

lksctp-tools

lrzsz

nasm

net-snmp-utils

php-mysql

php-pear

php-soap

system-config-kickstart

# Add these system perfomance enhanced tools

vsftpd

logwatch

postfix

nmap-ncat

nmap

ftp

lsscsi

# Update the sysstat version from 9.0.4 to 10.1.6

sysstat

%end

8、开启客户端安装,进入pxe引导模式

可以看到给客户端分配的IP地址是 172.16.15.118,输入7.0开始自动化安装

下次有机会我们在介绍cobbler自动化安装操作系统

时间: 2024-10-23 20:09:06

centos7自动化安装的相关文章

PXE自动化安装centos7系统

Kickstart+PXE安装系统的需求 1) 网卡必须支持PXE引导: 2) 客户端需要有与Kickstart 通信的IP地址,这里一般都是通过DHCP自动分配IP地址来实现: 3) 提供引导所需的文件,内核文件,内核镜像文件等,此时一般通过tftp-server等实现: 4) kickstart文件,它主要实现自动化安装的过程,比如配置主机名.添加用户.安装系统后相关操作: 5) 提供安装源,一般就是NFS/ftp/httpd等: 总结:通过如上需求,我们就知道需要安装的相关服务,如DHCP

基于pxe+cobbler的全自动化安装centos系统

前言: 基于上篇的内容,我们就已经可以搭建一个全自动化安装centos的服务了.不过如果我们想让它同时支持各种系统的安装,实现起来就比较复杂了.不同的系统,要用不同的引导启动 文件来安装,且还有不同的安装源以及kickstart文件等等.既然是复杂得事情,肯定能通过某种工具简化,而此次我们用到的就是传说中的cobbler来管理各个不同的源,pxe加载的内核文件等等.Let's do it! 正文: 老规矩,先描述一下加入cobbler以后整体的工作流程,已经cobbler能实现的功能.当一个需要

pxe结合kickstart文件实现全自动化安装

PXE是什么? PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用tftp(trivial file transfer protocol)或mtftpmulticast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由

无人值守自动化安装linux系统

linux自动安装系统工作过程介绍: PXE client 主要和3个不同类型的服务器交互并获取到相关信息,最后才能够自动安装系统. 第一步 PXE Client 与 DHCP Server 如果是物理机,将计算器在BIOS设置中以PXE方式启动.此时计算机会在网络中发送一个广播请求,请求通过DHCP服务器分配一个IP地址等相关信息.DHCP服务器收到客户端的请求并且验证后,它会返回给客户端请求,将IP地址.tftp服务器信息.以及一些配置文件信息告诉客户端以便让客户端继续操作. 第二步 PXE

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

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

自动化安装linux

个人使用的linux的安装没有太多难度,但是一旦到生产环境内,那种随性而装系统的,将会给服务器管理员带来极大的麻烦,这里需要对生产系统进行一定的定制,定制取决于公司的计算机的类型,公司的计算机往往都是一个类型一个型号.这里定制就很方便了,把分区都设置一样,这样可以批量部署大批的机器. 一 linux安装原理 回忆一下手动安装一个系统的步骤:1选择语言,2选择键盘布局,3分配分区,4选择安装类型,5选择额外的包,6选择时区,7设置root密码.安装时候的主观感受是配置一步系统执行一步,其实不然,等

CentOS6.9上安装cobbler2.6实现自动化安装Linux系统

CentOS6.9上安装cobbler2.6实现自动化安装Linux系统 cobbler可以批量部署Linux系统,并实现无人值守安装. cobbler依赖的服务:dhcp,tftp,http,pxe,kickstart 服务对应的端口号为dhcp--67,68;tftp--69;http--80;cobbler--25151 1.环境准备:最小化安装centos6.9mini,配置固定IP和本地yum源,关闭防火墙和selinux iptables -F setenforce 0 chkcon

利用DHCP,http,tftp,pxe实现纯自动化安装系统

一.实现原理所需要的服务简单介绍1.DHCP:动态主机配置协议,用于内部网络自动分配IP地址2.tfpt:简单的网络共享服务,类似于ftp3.pxe:支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统4.http:超文本传输协议,通过网络共享文本(这里也可以使用ftp服务)实现过程1.客户端(没有装系统的计算机)通过在局域网内寻找DHCP服务器2.DHCP服务器回应,发送IP地址给该客户端并且告诉该客户端下一步寻找哪一个服务器,也就是TFTP3.客户端向TFTP要BootL

centos7中安装mongodb3.6

centos7中安装mongodb3.6 首先更新系统 yum -y update 1.安装Mongodb 编辑Mongodb安装源 vim /etc/yum.repos.d/mongodb-org-3.6.repo 编辑内容如下: [mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1