运维部署自动化实践(一)利用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

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

在上文中,尝试利用Kickstart工具实现PXE远程安装的自动化,但是安装过程中出现了一个分区报错需要人工确认,导致自动化过程中断。查阅了一些技术博客和官方文档,发现Kickstart主要用于Redhat系的linux系统安装,而对于Debian系的支持可能不太好。Debian系Linux采用了特有的debian-installer作为系统安装工具,而运维人员可以通过一个 preseed.cfg 配置文件,写入安装各个阶段需要的参数或指令,这样就可以避免安装过程中的人机交互,实现无人值守的自动化安装。

事实上上一文的过程也利用了preseed配置文件(在上文中ubuntu-server.seed文件),只不过大部分安装指令都写在了kickstart配置里。本文在没有kickstart工具的情况下,完全采用preseed配置实现ubuntu系统安装。

这一步可以直接复制上一章的操作,本文尝试用dnsmasq来代替isc-dhcp-server和tftpd-hpa,提供集成的dhcp和tftp服务

安装dnsmasq

sudo apt-get install dnsmasq

编辑/etc/dnsmasq.conf,将以下的配置配置激活(去掉注释)

创建tftp目录

sudo mkdir /var/ftpd

启动dnsmasq

sudo service dnsmasq start

注意该步骤配置文件中没有再指定ks.cfg,后面的安装过程完全通过preseed.cfg控制

Dell服务器进入PXE模式,安装过程无需再人工介入。

下一步继续实践在Preseed里添加后处理,执行自动安装软件和配置系统环境。

复位服务器或对其执行关开机循环。请选择下列任一种方法:在Oracle ILOM Web 界面中:单击 "Remote Power Control" 选项卡,然后单击 "Reset"。在Oracle ILOM CLI 中:键入 reset /SYS。将显示 BIOS 屏幕。在本地服务器上:按服务器前面板上的电源按钮(大约 1 秒)关闭服务器电源,然后再次按该电源按钮打开服务器的电源。注- 请仔细注意这些消息,因为它们在屏幕上显示的时间很短。您可能需要拉大屏幕尺寸消除滚动条。下一个事件可能会立即发生,因此,请格外注意以下步骤。按F8 键指定临时引导设备。 此时会显示 "Please Select Boot Device" 屏幕。选择临时 PXE 安装引导设备,然后按 Enter 键。注- PXE 安装引导设备是配置为与您的网络安装服务器通信的物理网络端口。 将显示 "Boot Agent" 屏幕。在"Boot Agent" 屏幕中,按 F12 键进行网络服务引导。继续常规的 Windows Server 2008 R2 WDS 网络安装。有关其他信息,请查阅 Microsoft 的 Windows 部署服务产品文档。 安装完成后,请执行任何必要的安装后任务。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存