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)
zzzzz1357x1zzzzz1357x1
上一篇 2016-11-11 08:41
下一篇 2016-11-11 08:41

相关推荐

  • linux进程管理及计划任务

    进程管理: 什么是进程?   在Linux系统当中:触法任何一个事件时,系统都会将它定义成为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设置。 进程与程序: 程序(program):通常为二进制程序放置在存储媒介中,以物理文件的形式存在。 进程(process):程序被触发后…

    Linux干货 2016-09-13
  • SSH——安全的通信

    SSH ·ssh:secure shell, protocol, 22/tcp,  安全的远程登录 ·OpenSSH:ssh协议的开源实现 ·dropbear:另一个开源实现 ·SSH协议版本:          v1:基于CRC-32做MAC,不安全;man-in-m…

    Linux干货 2016-09-25
  • vim文本编辑器

    vim简介: vi: Visual Interface,文本编辑器 文本:ASCII, Unicode 文本编辑种类: 行编辑器: sed 全屏编辑器:nano, vi vim – Vi Improved 其他编辑器: gedit一个简单的图形编辑器 gvim一个Vim 编辑器的图形版本   vim使用: 三种主要模式: 命令(Norm…

    Linux干货 2017-06-17
  • 用户和组管理 第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d' ' -f1 | sort -u who:查看当前已经登陆的所有用户的详细信息 cut -d ' ' -f1:以空格为界显示每行第一列 sort -u :在输出行中去除重复行。 2、取出最后登录到当前系…

    Linux干货 2017-02-13
  • 一周学会shell编程之小结1

    一周学会shell编程之小结1 内容: shell脚本创建与执行 变量 条件测试 if,case判断语句 练习   检查错误: bash -n path 调试执行: bash -x path   创建shell脚本步骤: 1 添加第一行 #!/bin/bash 2 给予…

    Linux干货 2016-08-15
  • 12.http学习与应用实现

    1、请描述一次完整的http请求处理过程; 1)建立或处理连接:客户端发送http请求报文,服务器端接收或拒绝请求; 2)接收请求:服务器端接收来自客户端对某些资源的请求; 3)处理请求:服务器端解析客户端请求报文,获取客户端请求的资源及请求方法等信息; 4)访问资源:服务器端获取客户端请求的资源; 5)构建响应报文; 6)发送响应报文; 7)日志记录; 2…

    2017-09-20