超详细PXE批量部署Linux推荐

原理:

1、客户机可以通过服务端dhcp在获取IP地址,并且dhcpd服务器会告诉客户端tftp服务器IP地址。

2、pxe客户端会从tftp服务器上下载pxelinux.0操作系统和这个操作系统对应的配置文件(default)至本机,在本机上运行pxelinux.0这个操作系统,这个操作系统会加载自己的配置文件:default.

default加载后会弹出一个安装系统选择界面,让用户去选择要安装哪个操作系统

tftp的作用是实现安装文件UDP快速传输

3、启动第三个临时系统(vmlinuz/initrd.img),构造安装之前一个临时系统环境,在这里会重新

获取IP地址,并且会读取ks.cfg这个配置文件

4、nfs/http/ftp用来导出红帽系统安装目录树

5、根据ks.cfg来自动完成操作系统的安装

1)部署nfs/ftp/http用于导出红帽的光盘目录树

# iptables -F

# service iptables save

# setenforce 0

vsftpd配置:

# yum -y install vsftpd httpd

# mkdir /var/ftp/pub/rhel6.3

# mount -o loop /root/Desktop/rhel6.iso /var/ftp/pub/rhel6.3/ –rhel6.iso是指rhel6.3镜像

# echo /bin/mount -o loop /root/root/Desktop/rhel6.iso /var/ftp/pub/rhel6.3 /etc/rc.local

# service vsftpd start

# chkconfig vsftpd on

httpd的配置:

# ln -s /var/ftp/pub/ /var/www/html/pub

# service httpd start

# chkconfig httpd on

nfs的配置:

# vim /etc/exports

/var/ftp/ *(ro)

# service nfs restart

# service portmap restart

# chkconfig nfs on

# chkconfig rpcbind on

验证以上三个服务是否能正常提供服务

2. Configure the files on the tftp server necessary for PXE booting.

1)安装并启动tftp服务器

# yum -y install tftp-server

# chkconfig tftp on

# service xinetd restart

# netstat -unlp |grep :69

udp 0 0 0.0.0.0:69 0.0.0.0:* 11007/xinetd

2)拷贝PXE系统启动时所需要的文件至tftp发布目录(/tftpboot)

# mkdir /var/lib/tftpboot/rhel6.3

# mkdir /var/lib/tftpboot/pxelinux.cfg

# cd /var/ftp/pub/rhel6.3/isolinux/

# cp vmlinuz initrd.img /var/lib/tftpboot/rhel6.3–从光盘中复制临时操作系统至tftp的共享目录中

# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default–从光盘中复制pxe操作系统的配置文件及相关文件

# cp boot.msg splash.jpg /var/lib/tftpboot/pxelinux.cfg/

# yum -y install syslinux –这里要先安装syslinux

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/–把PXE的操作系统存放至tftp共享目录

3)生成ks.cfg

# yum -y install system-config-kickstart

# system-config-kickstart

***********************************************************

下面我只是很简单给大家演示一下,大家根据具体的要求来部署。

***********************************************************

#大家根据自己需要选择要安装的软件包。

#上图是在安装完成之后的执行命令操作,在这里我就添加一个普通用户。然后就保存。(如下图)

# mkdir /var/ftp/pub/scripts

# mv /root/Desktop/ks.cfg /var/ftp/pub/scripts/

# vim /var/lib/tftpboot/pxelinux.cfg/default

default local

prompt 1

timeout 600

display boot.msg

menu background splash.jpg

menu title Welcome to Red Hat Enterprise Linux 6.3!

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 rhel6.3/vmlinuz

append initrd=rhel6.3/initrd.img ks=ftp://192.168.254.178/pub/scripts/ks.cfg

#打开浏览器看看是否可以访问ftp://192.168.254.178/pub/scripts/ks.cfg。还有就是确保红色箭头所指的路径可以访问到rhel6.3的镜像。

3. Configure DHCP.

# yum -y install dhcp

# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

# vim /etc/dhcp/dhcpd.conf

option domain-name example.org

option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;

max-lease-time 7200;

log-facility local7;

option domain-name-servers 192.168.254.178;

option domain-name gupt12.com

subnet 192.168.254.0 netmask 255.255.255.0 {

range 192.168.254.10 192.168.254.200;

option routers 192.168.254.178;

next-server 192.168.254.178;

filename pxelinux.0

}

# yum -y install bind

# vim /etc/named.conf

options {

listen-on port 53 { 127.0.0.1;any; };

listen-on-v6 port 53 { ::1; };

directory /var/named

dump-file /var/named/data/cache_dump.db

statistics-file /var/named/data/named_stats.txt

memstatistics-file /var/named/data/named_mem_stats.txt

allow-query { localhost; any; };

recursion yes;

后面内容省略

vim /etc/named.rfc1912.zones

zone gupt12.com IN {

type master;

file gupt12.com.zone

allow-update { none; }

};

zone 254.168.192.in-addr.arpa IN {

type master;

file 192.168.254.rev

allow-update { none; };

};

# cd /var/named/

# cp -a named.localhost gupt12.com.zone

# vim gupt12.com.zone

$TTL 1D

@ IN SOA dns.gupt12.com. root.gupt12.com. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

@ IN NS dns.gupt12.com.

dns IN A 192.168.254.178

# cp -a gupt12.com.zone 192.168.254.rev

# for i in {1..254}; do echo station$i IN A 192.168.254.$i /var/named/gupt12.com.zone ; done

# for i in {1..254}; do echo $i IN PTR station$i.gupt12.com. /var/named/192.168.254.rev ; done

#确保所以服务都已经启动。客户端都改为桥接方式。

#有必要说明一下,在下面还要手动输入auto,因为我是想通过多种方式来安装。大家可以参考 /var/lib/tftpboot/pxelinux.cfg/default里面的内容,可以自己修改的。

#出现上面的画面证明安装已经成功。用户名gupt12 密码redhat 。

你在会议中吵架时,尼泊尔的背包客一起端起酒杯坐在火堆旁。

超详细PXE批量部署Linux推荐

相关文章:

你感兴趣的文章:

标签云: