运维部署自动化实践(一)利用PXE远程自动化安装Ubuntu16.04 server

运维部署自动化实践(一)利用PXE远程自动化安装Ubuntu16.04 server,第1张

因为项目需要(实际是没有人手。。。),需要搞开发的我自己来搭建服务器集群环境,并完成软件服务的自动化部署。本文及后续文章,记录运维部署自动化实践中的每一步工作,便于以后追踪参考。

本文先完成第一步工作:远程自动化安装Linux系统

技术方案选择:PXE+dhcp+tftp+kickstart 安装ubuntu16.04 server

宿主机:ubuntu16.04 desktop

目标服务器:(1)Dell Poweredge R540

(2)VMware虚拟机

安装镜像: ubuntu-16.04.5-server-amd64.iso

安装isc-dhcp-server

sudo apt-get install isc-dhcp-server

修改/etc/default/isc-dhcp-server

修改/etc/dhcp/dhcpd.conf,添加如下配置:

运行dhcp服务

sudo service isc-dhcp-server start

安装tftpd-hpa

sudo apt-get install tftpd-hpa

修改/etc/default/tftpd-hpa

创建tftp目录

sudo mkdir /var/lib/tftpboot

sudo chmod 777 /var/lib/tftpboot

运行tftp

sudo service tftp-hpa start

安装apache2

sudo apt-get install apache2

apache 默认的根目录是/var/www/html ,使用默认配置启动apache

sudo service apache2 start

通过浏览器访问http://192.168.1.110 测试http服务已开启

从修改内容看出,主要是为了添加pxe服务器的地址,以便目标机能够找到对应的ks.cfg以及seed文件。

将ks.cfg文件拷贝至http根目录

sudo cp ks.cfg /var/www/html/

Dell服务器与虚拟机均可自动开启安装过程,虚拟机全程无干扰安装完毕。

Dell服务器安装过程中报错:

the partition table format in use on your disks normally requires you to create a separate partition for boot loader code. this partition should de marked for use as a "reserved bios boot area" and should de at least 1 mb in size. note that this is not same as a partition mounted in /boot.

if you do not go back to the partitioning menu and correct,boot loader installation may fail later,although it may still be possible to install the loader to a partition.

在这一步卡住后安装程序无法自动执行,我手工点击忽略后系统也能够继续安装完毕。

网上各种搜,看到一些评论说debian系的linux不建议用kickstart安装,建议直接使用preseed配置来安装,接下来研究下看看能不能解决问题。

问题链接: https://serverfault.com/questions/658070/kickstarting-ubuntu-14-04-how-do-i-create-an-efi-boot-partition-from-my-ks-cf

下一章: 运维部署自动化实践(二)PXE+Preseed自动安装Ubuntu16.04 server

打开服务器电源,并以超级用户身份登录。

确定服务器上是否已安装 DHCP 服务器软件包。键入:

# rpm -qa | grep dhcp-

如果未列出 DHCP 服务器,请从 Linux 分发介质安装该服务器(可以使用 grep 来查找 rpm)。

设置 DHCP 配置文件(例如 /etc/dhcpd.conf),以便只有 PXEClient(PXE 客户机)可以请求接收 PXEClient 响应。

将以下条目添加到 DHCP 配置文件中(有关更多信息,请参阅 dhcpd.conf 手册页):

class "PXE" {

match if substring(option vendor-class-identifier, 0, 9) ="PXEClient"

option vendor-class-identifier "PXEClient"

vendor-option-space PXE

next-server n.n.n.n

filename = "pxelinux.0"

其中,n.n.n.n 是 DHCP/PXE 服务器的 IP 地址。

在 DHCP 配置文件中,编辑 server-identifier 条目:

server-identifier n.n.n.n

其中,n.n.n.n 是 DHCP/PXE 服务器的 IP 地址。

此外,在 DHCP 配置文件中,找到以下子网条目字段:

subnet 1.2.3.0 netmask 255.255.255.0 {

range dynamic-bootp 1.2.3.100 1.2.3.200

option routers 1.2.3.1

option broadcast-address 1.2.3.225

}

根据 DHCP/PXE 服务器的网络配置,编辑 subnet、range、router 和 broadcast-address 条目。

启动 DHCP 服务。

对于 Oracle Linux 或 RHEL,请键入 service dhcp start 命令:

# service dhcpd start

对于 SLES,请使用 YaST 来启动服务。

将服务器配置为始终启动 DHCP 服务。

对于 Oracle Linux 或 RHEL,请键入:

# chkconfig dhcpd on

对于 SLES,请使用 YaST 将服务配置为在引导时启动。例如:

# yast >system >Runlevel Editor

搭建分为3个区域:

1、交换机(必须临时关闭DHCP)

2、部署用server主机(由此台主机接管DHCP服务)

3、其他一堆客户机(需要调节至PXE引导模式)

方法:参照帖子网页链接进行部署server,需要包含dhcp  tftpd  web  kickstart等服务。

配置完成后将server和其他客户机连接至交换机,server保持开启。

然后逐个将客户机开机即可实现自动批量部署。

Windows的PXE安装方法同理,只是用的软件不一样罢了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/280756.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存