Linux PXE

对于多台服务器部署Linux,传统的安装方法既费时费力,效率低下, 现在简要说明如何通过PXE方式实现Linux批量部署.

请在操作前确定同一网络中没有其他DHCP服务器 , 没有其他行为控制设备, 以免对演示造成干扰 ;

请确保网络线路速度在1000Mbps以上,否则部署时间可能太长.

这次演示以CentOS 为例, 其他版本linux过程类似.

服务端:

系统平台:CentOS的 6.5 x64

网络配置: IP 地 址192.168.137.6 ,关闭SElinux

系统服务:DHCP服务器 , TFTP ,HTTP ,启动

配置步骤:

1. iptables放通 TCP 80 , UDP 67 ,68,69端口 ,添加如下内容

-输入 -m 状态 –状态新 -m tcp -p tcp –dport 80 -j接受

-输入 -m 状态 –状态新 -m udp -p udp –dport 67 -j接受

-输入 -m 状态 –状态新 -m udp -p udp –dport 68 -j接受

-输入 -m 状态 –状态新 -m udp -p udp –dport 69 -j接受

接着/etc/init.d/iptables restart即可

2. 安装并配置httpd服务

可以参考https://www.roamway.com/123.html 中Apache的安装.

3. 将原装系统光盘放入光驱,并挂载到/mnt下

挂载 /dev/cdrom /mnt

山

4. 复制光盘全部内容至http 的根目录/var / www / html /

cp -r / mnt // var / www / html /

5. 启动httpd服务

服务 httpd 启动

httpd

6.安装并配置TFTP服务

yum 安装 tftp 服务器

编辑tftp配置文件 ,将其中的disable选项改为no

vim /etc/xinetd.d/tftp

文件传输协议

修改完成后,保存退出

7.启动tftp服务

/etc/init.d/xinetd 重启

8.配置支持PXE的启动程序

复制pxelinux.0 文件至/var/lib/tftpboot/ 目录

cp /usr/share/syslinux/pxelinux.0 /var / lib / tftpboot /

复制iso 镜像中的/image/pxeboot/initrd.img 和vmlinux 至/var/lib/tftpboot/ 文件夹中

cp/var/www/html/cdrom/images/pxeboot/{初始化文件,vmlinuz} /var / lib / tftpboot /

vmlinuz

复制镜像中的/isolinux/*.msg /var / lib / tftpboot / 文件夹中

cp /var/www/html/cdrom/isolinux/*.msg /var/lib/tftpboot/

味精

/var / lib / tftpboot / 中新建一个pxelinux.cfg目录

mkdir /var/lib/tftpboot/pxelinux.cfg

镜像中的/isolinux 目录中的isolinux.cfg复制到pxelinux.cfg目录中,同时更改文件名称为默认

cp /var/www/html/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

vim /var/lib/tftpboot/pxelinux.cfg/default ,填写如下内容

  1. 默认值
  2. 提示 1
  3. 暂停 6
  4. 显示引导.msg
  5. F1 启动.msg
  6. F2 选项.msg
  7. F3 通用.msg
  8. F4 参数.msg
  9. F5 救援.msg
  10. 标签 linux
  11. 内核 vmlinuz
  12. 追加initrd=initrd.img
  13. 标签测试
  14. 内核 vmlinuz
  15. 追加 initrd=initrd.img 测试
  16. 标签 ks
  17. 内核 vmlinuz
  18. 附加 ks=http://192.168.137.6/ks.cfg initrd=initrd.img
  19. 标签本地
  20. 本地引导 1
  21. 标签 memtest86
  22. 内核内存测试
  23. 附加 –

9.安装并配置DHCP服务

yum -y 安装 dhcp

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

vim /etc/dhcp/dhcpd.conf 填写如下内容

编辑如下内容,然后保存退出:

  1. ddns-update-style 临时;
  2. 忽略客户端更新;
  3. 文档名称 “pxelinux.0”;
  4. 下一个服务器 192.168.137.6;
  5. 子网 192.168.137.0 网络掩码 255.255.255.0 {
  6. 范围动态引导 192.168.137.201 192.168.137.210;
  7. # 选项广播地址 10.254.239.31;
  8. # 选项路由器 rtr-239-32-1.example.org;
  9. 可选路由器 192.168.137.1;
  10. 选项子网掩码 255.255.255.0;
  11. 默认租赁时间 600;
  12. 最大租用时间 7200;
  13. }

 

10.启动dhcp服务

/etc/init.d/dhcpd 启动

dhcp_start

11 .桌面环境安装并配置kickstart

yum 安装系统配置启动

系统配置启动

设置语言,键盘,时区,密码,安装完毕后重启等。

配置1

设置HTTP方式的安装

配置2

设置引导方式

配置3

设置好分区

配置4

软件包选择,根据自己的需要勾选

配置5

 

一代配置文件 文件,保存在/var / www / html / 文件夹下

配置6

 

客户端:

网络配置: IP自动获取 ,并保证和服务端物理连接正常。

启动方式:PXE为首选项,以下是大概过程.

配置7

配置8

 

安装过程中可以使用tcpdump看到客户端和服务端通信情况,其中服务器IP为192.168.137.6;

客户端获取的IP为192.168.137.202

配置9

客户端安装完成后,会自动重新启动,以下是重启后的登录界面.

配置10

如果多台服务器同时部署linux ,请将第一启动项设置为PXE . 然后启动,即可批量部署.

发表评论