码迷,mamicode.com
首页 > 系统相关 > 详细

Linux6.4通过PXE网络装机

时间:2015-07-07 19:50:06      阅读:348      评论:0      收藏:0      [点我收藏+]

标签:linux配置网络自动装机

  • 搭建PXE远程安装服务器

  • 准备RHEL6安装源

[root@localhost ~]# mkdir/var/ftp/rhel6

[root@localhost ~]# cp -rf/media/* /var/ftp/rhel6/

[root@localhost ~]# service vsftpdrestart

  安装并启用TFTP服务

TFTP服务由tftp-server软件包提供,默认xinetd超级服务机型管理,。

配置文件:/etc/xinetd.d/tftp。配置时只要将" disable= yes "改为" disable= no ",

启动xinetd服务即可

service tftp

{

        socket_type             = dgram

        protocol                = udp       //tftp采用UDP传输协议

        wait                    = yes

        user                    = root

        server                 =/usr/sbin/in.tftpd

        server_args             = -s /var/lib/tftpboot   //指定TFTP根目录

        disable                 = no

        per_source              = 11

        cps                     = 100 2

        flags                   = IPv4

}

[root@localhost ~]# chkconfigxinetd on

[root@localhost ~]# service xinetdrestart

   准备Linux内核、初始化镜像文件

RHEL6系统光盘中获取vmlinuzinitrd.img,位于文件夹images/pxeboot/中,将这两个文件复制到tftp根目录下。

[root@localhost ~]# mkdir/var/lib/tftpboot

[root@localhost ~]# cd/var/ftp/rhel6/images/pxeboot/

[root@localhost pxeboot]# cp */var/lib/tftpboot/

[root@localhost pxeboot]# ls/var/lib/tftpboot/

initrd.img  pxelinux.0 README  TRANS.TBL  vmlinuz

  准备PXE引导程序,启动菜单文件

用于PXE网络安装的引导程序pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,将文件pxelinux.0也复制到tftp服务的根目录下。

[root@localhost ~]# yum -y installsyslinux

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0/var/lib/tftpboot/

 

默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录中

[root@localhost ~]# mkdir/var/lib/tftpboot/pxelinux.cfg

[root@localhost ~]# cp/var/ftp/rhel6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

[root@localhost ~]# vi/var/lib/tftpboot/pxelinux.cfg/default

default linux

#prompt 1

timeout 600

 

display boot.msg

 

menu background splash.jpg

menu title Welcome to Red HatEnterprise Linux 6.4!

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 auto

 menu label ^Install or upgrade an existing system

 menu default

 kernel vmlinuz

 append initrd=initrd.img

label linux text

 menu label Install system with ^text

 kernel vmlinuz

 append text initrd=initrd.img devfs=nomount ramdisk_size=8192

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 –

prompt用来设置是否等待用户选择,label用来定义并分隔启动项,kernelapend用来定音引导参数。引导入口的个数既内容根据需要自定义。

   安装并启用DHCP服务

[root@localhost ~]# yum -y installdhcp

[root@localhost ~]# cp/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/

[root@localhost ~]# mv/etc/dhcpd.conf /etc/dhcpd.conf.bak

[root@localhost ~]# mv/etc/dhcpd.conf.sample /etc/dhcpd.conf

[root@localhost ~]# vi/etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

subnet 192.168.2.0 netmask255.255.255.0 {

# --- default gateway

        option routers                  192.168.2.100;

        option subnet-mask              255.255.255.0;

        option nis-domain               "domain.org";

        option domain-name              "domain.org";

        option domain-name-servers      202.106.0.20;

        option time-offset              -18000; # Eastern Standard Time

#       option ntp-servers              192.168.2.1;

#       option netbios-name-servers     192.168.2.1;

# --- Selects point-to-point node(default is hybrid). Don‘t change this unless

# -- you understand Netbios verywell

#      option netbios-node-type 2;

        range dynamic-bootp 192.168.2.128192.168.2.254;

        default-lease-time 21600;

        max-lease-time 43200;

        next-server 192.168.2.100;           //指定TFTP服务器地址

        filename "pxelinux.0";             //指定PXE引导程序

# we want the nameserver to appearat a fixed address

        host ns {

                next-server marvin.redhat.com;

                hardware ethernet12:34:56:78:AB:CD;

                fixed-address 207.175.42.254;

        }

}

 

[root@localhost ~]# service dhcpdstart    启动dhcpd 服务

netx-server用来指定TFTP服务器的地址。

filename用来指定引导文件的文件名。

  • 验证PXE网络安装

在提示字符串“boot:”后直接按Enter键(或执行auto),将会进入默认的图形安装口;若执行“linux text”则进入文本安装入口;若执行“linux rescue”则进入授权模式。

技术分享

依次选择语言:

技术分享

键盘类型:

技术分享

用户指定的安装介质(URL

技术分享

提示TCP/IP协议时,IPv4设置可以接受默认的DHCP获取方式,二IPv6支持应该取消如下图:

技术分享

指定的对话框中指定RHEL6安装源的URL路径,如下图:

技术分享

技术分享

之后进入正常的安装界面技术分享

  • 实现Kickstart无人值守安装

准备应答文件

RHEL6系统中安装system-config-kickstart工具以后,即可通过图形化自动想到工具来配置安装应答文件。RHEL6安装后自动创建应答文件(/root/anaconda-kscfg),根据需要适当修订后使用。

  1. 配置安装文件应答参数

[root@localhost ~]# yum -y installsystem-config-kickstart //安装system-config-kickstart服务

[root@localhost ~]# system-config-kickstart         //通过system-config-kickstart打开配置

或者

通过桌面菜单“应用程序”è“系统管理”èKickstart”即可打开Kickstart配置

基本信息

设置语言为“中文简体”,时区设置为“Asia/Shanghai”,将根口令设置为“redhat”,并“安装后重新引导系统”

技术分享

安装方法:正确指定RHEL6安装源技术分享

引导装在程序选项不做选择,默认设置即可。

分区信息:

设置500M/boot分区、2G/home分区、1G的交换分区、剩下所有设置为根分区。

技术分享

网络配置:添加一个设备“eth0”,将网络类型设置为“DHCP”。技术分享

防火墙设置:禁用防火墙和SELinux

技术分享

软件包选择

根据实际需要选择安装的软件包分组。例如可选“基本”、“万维网服务器”、“X窗口服务器”“字体”,“桌面”及“开发工具”、“中文支持”等。如下图所示:技术分享

技术分享

技术分享

技术分享

技术分享

安装脚本

在“预安装脚本”、“安装后脚本”对话框周,可以分别添加在安装前、安装后自动运行的可执行语句。此项设置服务器的自动化变得更加容易,例如可以使客户及完成安装后自动设置YUM服务:如下图所示:

技术分享其它信息

若没有特殊需求,在“引导装在程序”、“验证”、“显示配置”、“预安装脚本”、“安装后脚本”等对话框周,只要保持默认设置即可。

  1. 保存自动应答文件

单机Kickstart配置程序的“文件”è“保存”菜单,指定目标文件夹、文件名,将配置好的应答参数保存为文本文件,例如/root/ks.cfg。以后若要修改此应答配置可以在Kickstart配置程序中打开进行调整,或者直接用vi等文本工具修改。

[root@localhost ~]# cp /root/ks.cfg/var/ftp/rhel6/ks.cfg

[root@localhost ~]# grep -v "^#"ks.cfg

#platform=x86, AMD64, or Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --disabled

# Install OS instead of upgrade

install

# Use network installation

url--url="ftp://192.168.2.100/rhel6"

key --skip

# Root password

rootpw --iscrypted$1$yh2v.jkn$MkuI3hFzGDQz5p5rnfAT9/

# System authorization information

auth --useshadow  --passalgo=sha512

# Use graphical install

graphical

firstboot --disable

# System keyboard

keyboard us

# System language

lang en_US

# SELinux configuration

selinux --disabled

# Installation logging level

logging --level=info

 

# System timezone

timezone Asia/Shanghai

# Network information

network --bootproto=dhcp --device=eth0 --onboot=on

# System bootloader configuration

bootloader --append="crashkernel=autorhgb quiet" --location=mbr --driveorder="sda"

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart --all

# Disk partitioning information

part /boot --fstype="ext4"--size=500

part /home --fstype="ext4"--size=2048

part swap --fstype="swap"--size=1024

part / --fstype="ext4" --grow--size=1

%post --interpreter=/bin/bash

rm -rf /etc/yum.repos.d/*

echo ‘[rhel6]

name=rhel6

baseurl=ftp://192.168.2.100/rhel6

#baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

‘ > /etc/yum.repos.d/rhel6.repo

%end

 

%packages

@base

@basic-desktop

@chinese-support

@client-mgmt-tools

@core

@debugging

@desktop-debugging

@desktop-platform

@directory-client

@fonts

@general-desktop

@graphical-admin-tools

@input-methods

@internet-browser

@java-platform

@legacy-x

@network-file-system-client

@perl-runtime

@print-client

@remote-desktop-clients

@server-platform

@server-policy

@x11

abrt-gui

certmonger

device-mapper-persistent-data

genisoimage

krb5-workstation

libXmu

mtools

oddjob

 

pam_krb5

pax

perl-DBD-SQLite

python-dmidecode

samba-winbind

sgpio

wodim

 

%end

  • 实现批量自动装机

有了自动安装应答文件,只需要放置在PXE安装服务器的FTP目录下,并适当修改引导修改引导菜单,就可以实现给予网络的批量自动装机了。

技术分享

  启动自动应答文件

PXE远程服务器中,将上一节建立的应答文件复制到/var/ftp/rhel6/目录下,使客户能通过ftp://192.168.2.1/rhel6/ks.cfg访问。然后编辑引导配置文件default,添加ks引导参数以指定ks.cfg应答文件的URL路径。

[root@localhost ~]# cp /root/ks.cfg/var/ftp/rhel6/ks.cfg

[root@localhost ~]# vi/var/lib/tftpboot/pxelinux.cfg/default

default auto

prompt 0

label auto

 kernel vmlinuz

append ks=ftp://192.168.2.100/rhel6/ks.cfginitrd=initrd.img devfs=nomount ramdisk_size=8192验证无人值守安装

启动自动应答文件后,每次客户机以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中设置安装RHEL6系统,而无需手工干预,这样可以同时为多台客户机安装系统。

客户机安装完成后,检查yum仓库配置,可以发现已经按照“安装后脚本”的设置自动建立了/etc/yum.repos.d/rhel6.repo



本文出自 “I want to be with you” 博客,请务必保留此出处http://songxun.blog.51cto.com/5902716/1671668

Linux6.4通过PXE网络装机

标签:linux配置网络自动装机

原文地址:http://songxun.blog.51cto.com/5902716/1671668

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!