运维工具pxe环境的实现(一)


PXE and Cobbler 

1,pxe



PEX全称:预引导执行环境(Preboot  execute  environment

PXE依赖ftp,http,tftp,dhcp

 

搭建dhcpdynamin host configuration protocol

www.Isc.org

[root@Pxe ~]# yum -y install dhcp

[root@Pex ~]# ifconfig eth2 10.5.5.1/24 up

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

cp: overwrite `/etc/dhcp/dhcpd.conf'? y

[root@Pex ~]#vim /etc/dhcp/dhcpd.conf

option domain-name "example.org";    搜索域域名

option domain-name-servers ns1.example.org, ns2.example.org;  dns服务器

 

default-lease-time 600;   默认租约期限

max-lease-time 7200;        最大租约期限

log-facility local7;                记录日志使用的那个facility

subnet 10.152.187.0 netmask 255.255.255.0 { }             定义一个为其分配地址的网络

 

subnet 10.5.5.0  netmask 255.255.255.0 {

  range 10.5.5.20  10.5.5.50; 地址池

#  option domain-name-servers ns1.internal.example.org;

#  option domain-name "internal.example.org";

  option routers 10.5.5.1;  网关

 

 

[root@Pex ~]# service dhcpd restart

Shutting down dhcpd:                                       [  OK  ]

Starting dhcpd:

[root@Pex ~]# ss -unl |grep :67

UNCONN     0      0                         *:67                       *:*    

[root@Pex ~]#

确保iptables没有阻止

[root@Pex ~]# iptables -L -n

 

在第二台机器进行获取,正常获取到10.5.5.x

PXE查看IP地址租约日志

[root@Pex ~]# tail /var/lib/dhcpd/dhcpd.leases

server-duid "\000\001\000\001\035\034J\206\000\014)`b#";

 

lease 10.5.5.20 {

  starts 2 2015/06/23 16:53:51;

  ends 2 2015/06/23 17:53:51;

  cltt 2 2015/06/23 16:53:51;

  binding state active;

  next binding state free;

  hardware ethernet 00:0c:29:b5:3c:7d;

}

[root@Pex ~]#

 

DHCP在分配地址时,也可以绑定MAC地址,假设我们绑定MAC地址00:0C:29:B5:3C:7Dip10.5.5.30

注意:这里的地址肯定不能使用地址池的地址,使用地址池之外的预留地址

host ftpserver {

        hardware ethernet 00:0C:29:B5:3C:7D

        fixed-address 10.0.10.60

}

 

[root@Pex ~]# vim /etc/dhcp/dhcpd.conf

option routers 10.0.10.1;添加以下两项

 next-server 10.0.10.1;  告诉dhcptftp是谁

 filename "pxelinux.0";  这个文件由syslinux提供,这个文件的存放位置在tftp目录下

 

PXE机器上安装tftp服务器

[root@Pex ~]#yum  -y install  tftp-server tftp

复制文件测试

[root@Pex ~]# cp /etc/fstab /var/lib/tftpboot/

[root@Pex ~]# tftp 10.5.5.1

[root@Pex dhcp]# cd /var/lib/ tftpboot/

[root@Pex tftpboot]# ls

fstab

这种方式基于UDP,文件传输有可能发生错误!

 

安装syslinux复制pxelinux.0文件

[root@Pex tftpboot]# yum -y install syslinux

pxelinux.0复制到tftpboot目录下

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

复制完成后,仅仅只是把PXE环境配置好,还需要挂载光盘把基于PXE启动的文件复制过来

 

如果互联网有安装树的源,也可以使用。这里演示使用挂载本地光盘

[root@Pex ~]# mount -r /dev/cdrom /mnt/

[root@Pex ~]# cd /mnt/

[root@Pex mnt]# cd isolinux/

[root@Pex isolinux]# cd ..

[root@Pex mnt]# cd images/pxeboot/

而后复制文件vmlinuz  initrd.img到/var/lib/tftpboot/

复制vesamenu.c32 splash.jpg boot.msg /var/lib/tftpboot/

 

[root@Pex pxeboot]# cp /mnt/images/pxeboot/ vmlinuz initrd.img      /var/lib/tftpboot/

[root@Pex pxeboot]# cd ../../isolinux/

[root@Pex isolinux]# cp vesamenu.c32 splash.jpg boot.msg  /var/lib/tftpboot/

创建pxelinux.cfg目录

[root@Pex isolinux]# mkdir /var/lib/tftpboot/pxelinux.cfg

复制光盘中isolinux.cfg到/var/lib/tftpboot/pexlinux.cfg中命名为default

[root@Pex isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

我们编辑default,在menu title Welcome to CentOS 6.6添加LinuxEA字段标识

[root@Pex pxelinux.cfg]# vim default

menu title Welcome to CentOS 6.6 LinuxEA!

我们开始测试。从网卡启动!测试下能否读取到pxetftp

 

而后在/var/www/html/下创建centos6.6目录,将本地光盘绑定至centos6.6

[root@Pex isolinux]#Mkdir /var/www/html/centos6.6

[root@Pex isolinux]#Mount –bind /mnt /var/www/html/centos6.6

在启动httpd

[root@Pex isolinux]#Service httpd start

通过浏览器http://172.16.249.108/centos6.6/访问

 

而后我们就开始复制Kickstart文件了,这个文件在/root/目录下,叫anaconda-ks.cfg、我们把他复制到/var/www/html/下,改名为ks.cfg
[root@Pex isolinux]#  cp /root/anaconda-ks.cfg  /var/www/html/ks.cfg

回头编辑/var/lib/tftpboot/pxelinux.cfg/default文件,添加ks.cfg文件

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

label linux

  menu label ^Install or upgrade an existing system

  menu default

  kernel vmlinuz

  append initrd=initrd.img  ks=http://10.5.5.1/ks.cfg







 

0 分享

您可以选择一种方式赞助本站

支付宝扫码赞助

支付宝扫码赞助

日期: 2015-06-24分类: 自动化

标签: ops_tool

发表评论