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

运维部署自动化实践(二)PXE+Preseed自动安装Ubuntu16.04 server,第1张

上一章: 运维部署自动化实践(一)利用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里添加后处理,执行自动安装软件和配置系统环境。

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

本文先完成第一步工作:远程自动化安装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

最近在用的一个比较好用的自动化运维平台 -- spug

安装步骤比较简单,直接docker环境安装就ok了。

官网docker的安装文档: https://spug.dev/docs/install-docker

按照官网的文档安装是直接启桥漏用的80端口,如果80端口占用的话就可以修改一下端口映射,我的80端口用了,改成敏枯烂3333

有docker镜像败逗,就是一键安装~


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8283289.html

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

发表评论

登录后才能评论

评论列表(0条)

保存