linux系统下搭建pxe (linux云计算运维工程师系统安装)

案例目标

了解CentosOS 6.5操作系统安装

了解PXE主机配置管理

了解PXE批量安装工作原理

1. PXE介绍

1.1 什么是PXE

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作Client/Serve的网络模式,支持工作站通过网络从远端服务器*载下**映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议*载下**一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。

1.2原理

PXE是在没有软驱、硬盘、CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网络引导。

整个安装的过程是这样的:

PXE网卡启动 => DHCP获得IP地址 => 从TFTP上*载下** pxelinux.0、vmlinuz、initr.img 等 => 引导系统进入安装步骤 => 通过PXE linux *载下**ks.cfg文件并跟据ks.cfg自动化安装系统 => 完成。

2. 如何安装Centos6.5操作系统

非小白可直接跳过此章节,至第三章

2.1 基础准备

使用VMWare Workstation软件(该软件需要预先安装,很简单,这里不作赘述),最小化安装CentOS 6.5操作系统,镜像使用提供的CentOS-6.5-x86_64-bin.iso,此虚拟机作为PXE的母机。使用该母机进行批量安装服务器系统的操作。

2.2 安装步骤

在主页上点击创建新的虚拟机,选择“典型”,然后下一步

linux实现pxe自动装机,linux运维pxe

选择稍后安装操作系统,可以自定义安装位置,以及设置安装属性等,见以下操作

linux实现pxe自动装机,linux运维pxe

选择客户机操作系统

linux实现pxe自动装机,linux运维pxe

给虚拟机命名以及确定安装位置,建议不要放置在C盘

linux实现pxe自动装机,linux运维pxe

下一步

linux实现pxe自动装机,linux运维pxe

调整内存

linux实现pxe自动装机,linux运维pxe

linux实现pxe自动装机,linux运维pxe

至此,虚拟机硬件设置完毕,点击开启虚拟机,完成Centos系统的安装

linux实现pxe自动装机,linux运维pxe

鼠标点击进入虚拟机,回车即可

linux实现pxe自动装机,linux运维pxe

利用上下左右键选中skip,然后回车,这里是询问是否确认镜像文件是完整的,*载下**的镜像文件没问题,这里直接跳过即可,进入系统安装界面

linux实现pxe自动装机,linux运维pxe

next

linux实现pxe自动装机,linux运维pxe

建议选择英文

linux实现pxe自动装机,linux运维pxe

linux实现pxe自动装机,linux运维pxe

选中“Basic Storage Devices”单选按钮,选择基础存储设备,然后单击“Next”按钮

linux实现pxe自动装机,linux运维pxe

单击“Yes,discard any data”按钮

linux实现pxe自动装机,linux运维pxe

修改主机名,单击右下角“Next”按钮确定修改

linux实现pxe自动装机,linux运维pxe

设定时区,根据实际地区设定时区,此处选择“Asia/Shanghai”,单击右下角“Next”按钮保存修改

linux实现pxe自动装机,linux运维pxe

设置root密码,单击右下角“Next”按钮确认修改

linux实现pxe自动装机,linux运维pxe

linux实现pxe自动装机,linux运维pxe

选择“Create Custom Layout”自定义分区,单击右下角“Next”按钮确认修改

linux实现pxe自动装机,linux运维pxe

在自定义分区中我们首先点击创建

linux实现pxe自动装机,linux运维pxe

首先点击标准分区,然后点击创建

linux实现pxe自动装机,linux运维pxe

挂载点选择“/boot”,先划分boot分区文件,系统类型使用默认的==ext4==,boot分区大小为200M

/boot——如果你的硬盘不支持LBA模式(不太可能),最好挂载它,如果挂载,将它挂载在硬盘的第一个分区,应该比较稳妥。一般来说,挂载的分区只要200M大小就足够了

linux实现pxe自动装机,linux运维pxe

创建swap分区,swap分区没有挂载点所以挂载点一项不需选择

swap——交换分区,可能不是必须的,不过按照传统,并且照顾到您的安全感,还是挂载它吧。它的容量只要约等于您的物理内存就可以了,如果超过了您物理内存两倍的容量,那绝对是一种浪费

linux实现pxe自动装机,linux运维pxe

继续创建“/”分区,挂载点为“/”,将剩余的所有空间都创建成"/"分区

/——根目录,唯一必须挂载的目录。不要有任何的犹豫,选一个分区,挂载它!

(在绝大多数情况下有2G的容量应该是够用了。当然了,很多东西都是多多益善的)

linux实现pxe自动装机,linux运维pxe

显示所有分区情况,如下图。核对信息无误后点击下一步

linux实现pxe自动装机,linux运维pxe

单击“Write changes to disk”按钮将更改写入磁盘,如图所示。然后单击“Next”按钮进行下一步

linux实现pxe自动装机,linux运维pxe

默认设置,直接点击下一步

linux实现pxe自动装机,linux运维pxe

选择最小化安装“Minimal”,单击“Next”按钮进入安装

linux实现pxe自动装机,linux运维pxe

待系统安装完成后,单击“Reboot”按钮,重启系统。

linux实现pxe自动装机,linux运维pxe

至此,CentOS6.5系统已经部署完成

3. 配置PXE母机

3.1 关闭防火墙和SELINUX

关闭防火墙

[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@localhost ~]# iptables -Z;iptables -X;iptables -F
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
[root@localhost ~]# iptables-save	//保存
# Generated by iptables-save v1.4.7 on Sat Mar 28 07:07:53 2020
*filter
:INPUT ACCEPT [47:3092]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [27:3188]
COMMIT
# Completed on Sat Mar 29 05:02:00 2020

关闭SELINUX

[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce 
Permissive
[root@localhost ~]# vi /etc/selinux/config 
//将配置修改为SELINUX=disabled

3.2 配置母机IP地址

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:52:50:11
TYPE=Ethernet
UUID=32194daf-1160-4ccd-9427-41c170dcd31a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.1.0.10
NETMASK=255.255.255.0
GATEWAY=10.1.0.2
[root@localhost ~]# service network restart

3.3 上传镜像

利用CRT连接工具连接母机,将CentOS-6.5-x86_64-bin.iso、CentOS-7-x86_64-DVD-1511.iso以及PXE.sh上传到系统/root目录下。赋予PXE.sh执行权限

[root@localhost ~]# ls
CentOS-6.5-x86_64-bin.iso  CentOS-7-x86_64-DVD-1511.iso  PXE.sh
[root@localhost ~]# chmod +x PXE.sh

3.4 执行PXE母机安装脚本

选择“1”按Enter键安装PXE,命令如下。

[root@localhost ~]# ./PXE.sh 
-------Install   Info------------
      1:  install  pxe           
      2:  switch controller mode 
      3:  switch compute mode    
      4:  switch all mode        
 Please select installation services: (eg  :1 / 2 / 3 )
 1

选择“4”按Enter键安装所需组件,命令如下。

-------Install   Info------------
      1:  install  pxe           
      2:  switch controller mode 
      3:  switch compute mode    
      4:  switch all mode        
 Please select installation services: (eg  :1 / 2 / 3 )
4

至此母机安装完成。

4. 验证

4.1 批量安装系统

安装环境配置

两台需要安装系统的主机或服务器要与母机在同一网络下。默认主机或服务器都为双网卡,主机或服务器开机后按F12键进入PXE网卡启动,选择系统安装,默认为“Install CentOS 7 CONTROLLER”

linux实现pxe自动装机,linux运维pxe

安装完成后单击右下角“Reboot”按钮重启系统

linux实现pxe自动装机,linux运维pxe

至此系统安装完成,PXE母机支持多台主机或服务器同时访问安装。

5. 写在最后

5.1 如果实验未成功

检查PXE-Server节点的防火墙和SELINUX是否关闭

检查VMnet8 NAT模式,DHCP服务是否关闭

linux实现pxe自动装机,linux运维pxe

5.2 CRT无法连接PXE-Server节点

先检查本地CMD是否可以ping通PXE-Server节点的IP地址,若ping不通做如下配置

在VMware Network Adapter VMnet8中添加和PXE-Server节点同网段的地址

linux实现pxe自动装机,linux运维pxe

至此,PXE实现自动化安装系统部署完成