Linux PXE

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

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

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

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

サーバ:

システムプラットフォーム:CentOS 6.5 x64

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

系统服务:DHCP , TFTP ,HTTPkickstart

配置步骤

1. iptables放通 TCP 80 , UDP 67 ,68,69端口 ,次のコンテンツを追加します

-A INPUT -m statestate NEW -m tcp -p tcpdport 80 -j ACCEPT

-A INPUT -m statestate NEW -m udp -p udpdport 67 -j ACCEPT

-A INPUT -m statestate NEW -m udp -p udpdport 68 -j ACCEPT

-A INPUT -m statestate NEW -m udp -p udpdport 69 -j ACCEPT

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

2. 安装并配置httpd服务

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

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

mount /dev/cdrom /mnt

マウント

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

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

5. 启动httpd服务

service httpd start

httpd

6.安装并配置TFTP服务

yum install tftp-server

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

vim /etc/xinetd.d/tftp

tftp

修改完成后,保存して終了

7.启动tftp服务

/etc / init.d / xinetd restart

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/{initrd.img,vmlinuz} /var/lib/tftpboot/

vmlinuz

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

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

msg

/var/lib/tftpboot/ 中新建一个pxelinux.cfgコンテンツ

mkdir /var/lib/tftpboot/pxelinux.cfg

意志iso 镜像中的/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 ,x64

  1. default ks
  2. 促す 1
  3. タイムアウト 6
  4. display boot.msg
  5. F1 boot.msg
  6. F2 options.msg
  7. F3 general.msg
  8. F4 param.msg
  9. F5 rescue.msg
  10. label linux
  11. kernel vmlinuz
  12. append initrd=initrd.img
  13. label test
  14. kernel vmlinuz
  15. append initrd=initrd.img test
  16. label ks
  17. kernel vmlinuz
  18. append ks=http://192.168.137.6/ks.cfg initrd=initrd.img
  19. label local
  20. localboot 1
  21. label memtest86
  22. kernel memtest
  23. append

9.安装并配置DHCP服务

yum -y install 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 interim;
  2. ignore client-updates;
  3. ファイル名 “pxelinux.0”;
  4. next-server 192.168.137.6;
  5. subnet 192.168.137.0 ネットマスク 255.255.255.0 {
  6. range dynamic-bootp 192.168.137.201 192.168.137.210;
  7. # option broadcast-address 10.254.239.31;
  8. # option routers rtr-239-32-1.example.org;
  9. option routers 192.168.137.1;
  10. option subnet-mask 255.255.255.0;
  11. default-lease-time 600;
  12. max-lease-time 7200;
  13. }

 

10.启动dhcp服务

/etc/init.d/dhcpd start

dhcp_start

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

yum install system-config-kickstart

system-config-kickstart

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

config1

設定HTTP方式的安装

config2

设置引导方式

config3

设置好分区

config4

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

config5

 

生成ks.cfg 資料,保存在/var/www/html/ 文件夹下

config6

 

クライアント:

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

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

config7

config8

 

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

客户端获取的IP为192.168.137.202

config9

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

config10

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

返信を残します