pxe自动安装linux

配置自动安装操作系统

1.网卡应支持pxe技术,由网卡作为dhcp的客户端向dhcp服务器请求一个IP地址,dhcp会将ip,网关等信息和的tftp服务器的地址应加载的文件名提供给客户端

2.根据dhcp服务器提供的信息网卡上内置的tftp客户端向tftp服务器发出请求,将文件下载至内存,包括bootloader(可能有选单),initrd,内核等(内核和initrd应该是专用于pxe的版本,就是具有相应功能的没有过度裁剪的内核)

3.加载完内核会读取kickstart文件,该文件会指明仓库的位置和要安装的程序包 

anaconda是红帽系列的安装系统,不同系统的安装系统不同,anaconda可以通过读取kickstart实现自动安装

要通过ftp,http等提供系统安装的仓库,注意版本

tftp是一个非独立进程,监听udp的69端口 tftp的程序的服务端由tftp-server提供,客户端有tftp提供

tftp的启动

CentOS 7:

systemctl start tftp.socket

CentOS 6:

chkconfig tftp on

service xinetd restart

默认的文件根目录:/var/lib/tftpboot/

注意:有些系统的tftp后会有不能下载大文件的问题造成不能通过tftp下载内核和initrd文件导致自动安装失败,建议布置好tftp服务后先验证能否通过tftp下载对应文件

注意,安装完程序后要记得开启,防止出现问题

syslinux是一个提供多种引导程序的安装包,pxelinux.0是此处需要使用的文件,在centos6上使用rpm -ql不能查看所有

1.安装dhcp并提供配置文件并开启

yum install dhcp -y

配置文件

option domain-name "hehehe.com";

option domain-name-servers 10.1.1.1, 8.8.8.8;

default-lease-time 3600;

max-lease-time 7200;

subnet 10.1.0.0 netmask 255.255.0.0 {

range 10.1.5.5 10.1.5.10;

filename ”pxelinux.0“;(文件名必须写在双引号内,必须以;结尾)

next—server 10.1.1.1;

}

service dhcpd start

2.安装tftp并开启

systemctl start tftp.socket

3.安装syslinux,并将pxelinux.0,menu.c32(提供选单),mboot.c32(能够通过内存引导),memdisk(将内存模拟为磁盘),chain.c32(基于bootloader引导系统)复制到/var/lib/tftpboot/下

yum install syslinux  -y 

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

cp /usr/share/syslinux/{chain.c32,memdisk,menu.c32,mboot.c32} /var/lib/tftpboot/

4.从安装光盘复制vmlinuz和initrd.img到tftp的根目录下

cp vmlinuz initrd.img /var/lib/tftpboot/

5.创建菜单加载的配置文件信息,在tftp的根目录下创建pxelinux.cfg目录,在pxelinux.cfg目录下创建default

mkdir pxelinux.cfg

default配置文件

default menu.c32

        prompt 5 (此处为选单出现后几秒内没有动作选择默认选项)

        timeout 30(设定选单超时时间)

        MENU LABEL THIS IS CENTOS(选单的大标题)

        LABEL linuxzidong (在命令行下直接输入此处定义字符能启动该选项)

        MENU LABEL install(选单的选项)

        KERNEL vmlinuz 

        APPEND initrd=initrd.img inst.repo=ftp://10.1.1.1/pub/centos (安装文件路径)ks=ftp://10.1.1.1/pub/centos7.cfg (应答文件路径)

6.在ftp的共享目录创建上面定义的目录,并将光盘挂载

mkdir centos

mount /dev/sr0 /var/ftp/pub/centos/                                                                                                                                         

7.在/root下的anaconda-ks.cfg是保存了本机安装系统时选择的应答文件

本次采用的应答文件centos7.cfg,只包含了最基础的安装包

# Keyboard layouts

# old format: keyboard us

# new format:

keyboard –vckeymap=cn –xlayouts='cn'

# Reboot after installation

reboot

# Root password

rootpw –iscrypted $1$HDHf2v4i$LMo.xGHfxQDOf8e043C.g/

# System timezone

timezone Asia/Shanghai

# Use network installation

url –url="ftp://10.1.1.1/pub/centos"

# System language

lang zh_CN

user –groups=wheel –name=mageedu –password=$6$1eWrOetY$DfLZgquGiOaNkwpEF4ItMipz.1kpn7Q.s6oXyoW2bALkWesRWHCCACICkJ.2zBXDbwEw0ibR.wxSt

LI41ZhfF1 –iscrypted –gecos="MageEdu"

# Firewall configuration

firewall –disabled

# Network information

network  –bootproto=dhcp –device=eth0

# System authorization information

auth  –useshadow  –passalgo=sha512

# Use text mode install

text

firstboot –disable

# SELinux configuration

selinux –permissive

ignoredisk –only-use=sda

# System bootloader configuration

bootloader –location=mbr –boot-drive=sda

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart –all –initlabel

# Disk partitioning information

part /boot –asprimary –fstype="xfs" –size=512

part swap –fstype="swap" –size=2048

part /usr –fstype="xfs" –size=20480

part / –fstype="xfs" –size=20480

%packages

@base

@core

8.将应答文件复制到ftp的根所在的目录

mv centos7.cfg  /var/ftp/pub/

9.将服务器和要安装系统的机器配置在同一个网络内通过网卡启动要安装系统的机器就可以完成自动安装

原创文章,作者:zzzzz1357x1,如若转载,请注明出处:http://www.178linux.com/57869

(0)
上一篇 2016-11-11 08:41
下一篇 2016-11-11 08:41

相关推荐

  •  编译安装步骤     大致过程:(源代码–预处理–编译–汇编–链接–执行)   第一步 下载安装开发工具“Development toos” 第二步 下载解压源代码包 仔细阅读“Install和 Read me” 第三步 使用./conf…

    Linux干货 2017-04-24
  • 磁盘管理作业

    创建一个2G的文件系统,块大小为2048byte, 预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/testdir目录,且默认有acl挂载选项 [root@English6 ~]# fdisk /dev/sdc Device contains neither a&nb…

    Linux干货 2016-09-01
  • 8.5作业

    找出ifconfig命令结果中本机的所有ipv4地址 [root@English6 wang]# ifconfig |grep -o "[1-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" 192.168.1.113 192.168…

    Linux干货 2016-08-09
  • date命令常见用法。

    date是一个非常实用的小工具,可以查看时间,并且也可以添加选项去完成自己想完成的东西。

    Linux干货 2017-11-13
  • MHA+keepalived 高可用MYSQL集群

    一、MHA简介 二、试验环境及要求 三、部署MHA 四、测试MHA集群功能 一、MHA简介     MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案。在MySQL故障切换过程中,MHA能做到在0~30秒之内手动或自动(结合脚本)完成数据库的故障切换操作,并且在…

    2017-02-25
  • 通络通信

    网络详解: 网络的osi层次结构: 物理层: 以太网规定,连入网络的所有设备,都必须具有”网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。 网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。 每块网卡出厂的时候,都有一个全世界独一无二的MAC地址,长度是48个二进制位,通常用12个十六进制数表示。 前6个十六进制数是厂商编号,后6个是该厂商…

    Linux干货 2016-09-02