linux启动cfg服务,超详细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来自动完成操作系统的安装

be486b6b89c368d4c559e199736e5ed7.png

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

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

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

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

9914a867f74c1dc0c424aa9771545502.png

8c39db846f76fea77081fcfe1b9d15dc.png

79699ce0787749a8dd4d149427298b1f.png

e55b3f996f04aaf7760cd5863263dc35.png

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

c43d1681a6f95c486a595900680403ac.png

3308a0df803695e84e9574b896c07fd9.png

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

5b3f6e16c187809a446f05fc4190ad2c.png

# 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的镜像。

29dc215d0c102267728e89046dad32d2.png

1559194fca0fb89dee9d3f349d6815c1.png

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里面的内容,可以自己修改的。

050138766b01346cae837f42f5963920.png

ff57420cd4ea3a5415ecd825c39d5d73.png

5b671bff82c4cf994315cae5ef2479da.png

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值