cobbler+pxe自动化装机&&ansible高可用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cobbler+pxe自动化装机&&ansible高可用相关的知识,希望对你有一定的参考价值。

参考技术A Ansible是一款极其简单的IT自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。Ansible主要承担的工作包括:配置管理、服务即时开通、应用部署、流程编排、监控告警、日志记录等。

两台nginx作为Web Proxy,配置实现KeepAlived做主备;后端两台Apache,一台部署Apache+php,一台部署Apache+mysql

Cobbler自动批量装机linux

cobbler是一个使用Python开发的开源项目,通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动批量快速建立Linux系统的网络安装环境。

Cobbler还提供了DHCP管理、YUM源管理、电源管理等功能,初次之外还支持命令行管理、WEB界面管理,并且提供了API接口,方便进行二次开发

cobbler和pxe高效批量网络装机都是自动化安装,但是cobbler是pxe的二次封装,在使用上更加方便,集成多个软件进行实现。

软件名 作用
cobbler 用来快速建立linux网络安装环境
cobbler web 网页页面管理
dhcp 给空白主机自动分配IP地址
tftp-server 提供引导镜像文件下载
pykickstart 实现无人值守安装
httpd 作为控制台程序运行
rsync 远程同步管理,实现数据同步
xinetd 提供访问控制、加强日志和资源管理功能

环境部署:

  • Centos7服务器(NAT模式,IP:192.168.254.129)
  • 扩展源软件包: 源软件包密码:16su

环境部署

1.安装epel扩展源软件包(cobbler相关软件包是由epel源提供的0

[[email protected] opt]# rpm -ivh epel-release-latest-7.noarch.rpm

2.加载yum源

[[email protected] ~]# yum list

3.安装cobbler、cobbler-web、dhcp、tftp-server、pykickstart、httpd、rsync、xinetd、软件包

[[email protected] opt]# yum install cobbler cobbler-web dhcp tftp-server pykickstart httpd rsync xinetd -y

4.修改cobbler的配置文件

[[email protected] ~]# vim /etc/cobbler/settings

修改以下内容

server: 192.168.254.129    #指定tftp服务器的地址
next_server: 192.168.254.129   #指定cobbler服务器地址
manage_dhcp: 1    # dhcp的管理服务(1:开启 0:关闭)

5.启动httpd和cobbler服务,关闭防火墙和selinux。

[[email protected] ~]# systemctl start cobblerd.service    #开启cobbler服务
[[email protected] ~]# systemctl start httpd.service     #开启httpd服务
[[email protected] ~]# systemctl stop firewalld.service       #关闭防火墙
[[email protected] ~]# setenforce 0     #关闭增强功能

6.使用 cobbler check对cobbler做检查设置,哪些需要优化

[[email protected] ~]# cobbler check

----------需要优化的部分--------
技术分享图片

7.开启tftp服务

[[email protected] opt]# vim /etc/xinetd.d/tftp

修改以下内容

disable = no  (将yes改为no,开启tftp服务)

8.开启rsyncd服务

[[email protected] opt]# systemctl start rsyncd.service    #开启服务
[[email protected] opt]# systemctl enable rsyncd.service  #将服务添加系统服务管理

9.修改cobbler的管理员密码,使用以下命令生成盐值加密密码

[[email protected] opt]# openssl passwd -1 -salt ‘benet‘ ‘abc123‘    #此命令生成盐值加密密码

生成的盐值加密密码

$1$benet$2zR7T1EpGyJk/c1PGo5jy1

把盐值加密密码复制到cobbler的配置文件settings文件中

[[email protected] opt]# vim /etc/cobbler/settings  

修改以下内容

default_password_crypted: "$1$benet$2zR7T1EpGyJk/c1PGo5jy1"

10.下载引导安装程序

[[email protected] opt]# cobbler get-loaders

11.重启cobbler和httpd服务。

[[email protected] opt]# systemctl restart cobblerd.service
[[email protected] opt]# systemctl restart httpd.service

重启服务后,我们可以再次使用cobbler check来查看优化后的情况,不显示说明优化成功,反之则优化未生效,下面的3条是可以忽略的。

技术分享图片

12.编辑被cobbler所管理的dhcp模版

[[email protected] opt]# vim /etc/cobbler/dhcp.template

修改以下内容

subnet 192.168.254.0 netmask 255.255.255.0 {    修改254网段
     option routers             192.168.254.1;   #修改网关
     option domain-name-servers 192.168.254.2;      #修改DNS
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.254.120 192.168.254.150;     #修改地址池

13.使用cobbler sync同步生成DHCP配置文件

[[email protected] opt]# cobbler sync

14.开启dhcp服务

[[email protected] opt]# systemctl start dhcpd.service

15.导入镜像文件

挂载镜像文件到/mnt目录下

[[email protected] opt]# mount /dev/sr0 /mnt

导入ISO镜像文件(文件较大,要等一会)

[[email protected] opt]# cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
命令 注释
path 挂载目录
name 系统名称(自定义)
atch 系统位数

重启所有的服务

[[email protected] CentOS-7-x86_64]# systemctl restart cobblerd.service 
[[email protected] CentOS-7-x86_64]# systemctl restart dhcpd.service 
[[email protected] CentOS-7-x86_64]# systemctl restart httpd.service 
[[email protected] CentOS-7-x86_64]# systemctl restart xinetd.service

默认导入的存放位置(可以查看一下)

[[email protected] opt]# cd /var/www/cobbler/ks_mirror/CentOS-7-x86_64/

技术分享图片

查看导入结果

[[email protected] CentOS-7-x86_64]# cobbler list

技术分享图片

查看发行版本

[[email protected] CentOS-7-x86_64]# cobbler distro list

查看内核和初始化文件是否在tftp server中,用tree命令查看。(系统默认没有安装,可以用yum安装)

[[email protected] CentOS-7-x86_64]# yum install tree -y

查看内核和初始化文件在tftp server 共享目录

[[email protected] CentOS-7-x86_64]# tree /var/lib/tftpboot/images

技术分享图片

ks默认文件存放位置

/var/lib/cobbler/kickstarts/sample_end.ks

客户端安装完成后只具备字符界面, 登录账户 root 密码abc123

技术分享图片

技术分享图片
技术分享图片
技术分享图片
选择完要安装的菜单后就等待安装完成吧.

cobbler web界面管理设置

[[email protected] CentOS-7-x86_64]# htdigest -c /etc/cobbler/users.digest Cobbler jack  #给cobbler添加一个用户
输入两次确认密码 例如:123123

重启cobbler和httpd服务

[[email protected] CentOS-7-x86_64]# systemctl restart cobblerd.service 
[[email protected] CentOS-7-x86_64]# systemctl restart httpd.service

技术分享图片
技术分享图片

总结:安装时在选择网络模式的时候要选择NAT模式,配置完成为了避免漏掉未开启的服务,所有服务重启开启一遍,安装完成后的系统时最小化安装,如需要图形化界面你可以手动安装。

以上是关于cobbler+pxe自动化装机&&ansible高可用的主要内容,如果未能解决你的问题,请参考以下文章

Cobbler自动批量装机linux

centos7PXE和cobbler自动部署装机

Cobbler自动装机

最快捷的自动化装机解决方案--比cobbler 方便10倍

cobbler网络装机

Cobbler自动装机试验