频道栏目
首页 > 资讯 > 其他 > 正文

Cobbler离线安装配置、批量安装操作系统步骤说明以及问题汇总

18-06-13        来源:[db:作者]  
收藏   我要投稿

Cobbler离线安装配置、批量安装操作系统步骤说明以及问题汇总。

一、Cobbler简介

Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。

Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。

Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。

Cobbler模型的各个组件之间的关系如下:

摘自https://github.com/cobbler/cobbler/wiki/How%20We%20Model%20Things

二、Cobbler安装前准备

安装Cobbler之前先查看一下基础环境:

#cat/etc/redhat-release (查看系统版本)

#uname-r (内核版本)

#getenforce (检测selinux是否关闭,必须要关闭)

关闭selinux方法:

#vim/etc/selinux/config

如上,“SELINUX”参数有“enforcing、permissive、disabled”,将selinux关闭,需要将参数至为“disabled”即可,然后“# reboot”系统。

还需要关闭防火墙:

# systemctlstop firewalld (关闭防火墙)

# iptables-L (查看是否关闭)

查看本机的IP:

注:若是在线安装,则需要使用到epel源,yum源替换成阿里源或是网易源也比较快点。

# curl-o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo(替换yum源为阿里源)

# curl-o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo (添加epel源)

以上就是准备工作,主要就是关闭防火墙,查看主机IP。

三、Cobbler离线安装

cobbler在线安装很简单。只需:

# yuminstall httpd dhcp tftp python-ctypes cobbler xinetd cobbler-web

下面是离线安装所需要安装以及更新的rpm包(见附件一):

首先进入到"/updates"文件夹下,先更新该目录下的所有rpm包,然后返回上一级目录,安装所有的rpm包,如下:

#rpm -U *.rpm

#rpm -ivh *.rpm

以上离线安装完,但是还需要修改完配置文件才能使用。

四、检测Cobbler

先启动apache和cobbler服务,且设为开机启动:

#systemctl enable xinetd && systemctl start xinetd

#systemctl enable httpd.service && systemctl start httpd.service

#systemctl enable cobblerd.service && systemctl start cobblerd.service

查看apache和cobbler服务是否正确启动:

#systemctl status httpd.service cobblerd.service

确定都启动了,不存在假启动的话,下面可以进行cobbler检测:

#cobbler check

针对以上检测出来的问题,解决如下:

1)The 'server' field in/etc/cobbler/settings must be set to something other than localhost, orkickstarting features will not work.This should be a resolvable hostname or IP for the boot server asreachable by all machines that will use it.

解决方法:修改/etc/cobbler/settings,将server对应的IP改为cobbler安装主机的IP,即将server: 127.0.0.1改成server: 192.168.139.153,切记切记,server: 后面有空格!!

2)For PXE to be functional,the 'next_server' field in /etc/cobbler/settings must be set to something otherthan 127.0.0.1, and should match the IP of the boot server on the PXE network.

解决方法:修改/etc/cobbler/settings,将next_server对应的IP改为cobbler安装主机的IP,即将server: 127.0.0.1改成server: 192.168.139.153

3)change 'disable' to 'no'in /etc/xinetd.d/tftp

解决方法:将/etc/xinetd.d/tftp中disable对应值改成no。

4)some network boot-loadersare missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' todownload them, or, if you only want to handle x86/x86_64 netbooting, you mayensure that you have installed a *recent* version of the syslinux packageinstalled and can ignore this message entirely.Files in this directory, should you want to support all architectures,should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobblerget-loaders' command is the easiest way to resolve these requirements.

解决方法:执行cobbler get-loaders,此时是在线安装,本文使用离线安装

get-loaders的文件见“附件二”。具体步骤见下一节。

5)enable and startrsyncd.service with systemctl

解决方法:执行systemctl enable rsyncd;systemctl start rsyncd

6)debmirror package is notinstalled, it will be required to manage debian deployments and repositories

解决方法:debian的包,可以不下载,不影响使用cobbler。

7)The default password usedby the sample templates for newly installed machines (default_password_cryptedin /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try:"openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'"to generate new one

解决方法:给密码加盐,把生成的密码串添加到/etc/cobbler/settings里。具体步骤见下一节。

8)fencing tools were notfound, and are required to use the (optional) power management features.install cman or fence-agents to use them

解决办法:电源管理工具,下载fence-agents

yum-y install fence-agents

暂时不安装,也不影响cobbler的使用。

以上检测出来的问题,除了6和8不做处理,其他的问题在下面给出具体解决步骤。

五、Cobbler修改配置文件

首先修改"/etc/cobbler/settings"和" /etc/xinetd.d/tftp"俩文件:

# sed-i 's/server: 127.0.0.1/server: 172.16.1.202/' /etc/cobbler/settings (解决问题1)

# sed-i 's/next_server: 127.0.0.1/next_server: 172.16.1.202/' /etc/cobbler/settings (解决问题2)

# sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings

# sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings

#sed -ri "/default_password_crypted/s#(.*: ).*#\1\"`openssl passwd -1-salt 'cobbler' 'cobbler'`\"#" /etc/cobbler/settings (解决问题7,这里设置了密码为"cobbler",此处就是按装系统完的密码)

# sed -i 's#yes#no#' /etc/xinetd.d/tftp (解决问题3)

或是直接修改settings和tftp文件:

“# vim/etc/cobbler/settings”

server: 主机IP (在384行)

next_server:主机IP(在272行)

manage_dhcp:1 (在242行)

pxe_just_once:1 (在292行)

default_password_crypted:(加盐的密码)(在101行)

生成加盐的密码(这个设置密码为'cobbler'):

#openssl passwd -1 -salt 'cobbler' 'cobbler'

将该加盐的密码全复制拷贝到settings文件default_password_crypted处:

修改" /etc/xinetd.d/tftp"文件:

# vim/etc/xinetd.d/tftp

将disable的参数至为“no”,如下:

下面修改cobbler配置的dhcp模板:

#vim /etc/cobbler/dhcp.template

需要修改的是其路由、域名、子网、IP分配以及网段。

查看路由、域名:

然后修改dhcp.template文件,如图红框标出:

下面解决问题5,同步服务开启,并设置开机启动:

#systemctl enable rsyncd && systemctl start rsyncd

下面解决问题4,由于需要执行cobbler get-loaders,在线载入资源,本文离线状态下已经准备好了资源lib包,见“附件二”:

这些文件都应该存放在“/var/lib/cobbler/loaders”

只需要将这些文件拷贝过去,同名覆盖即可。

上述问题基本解决,下面重启服务,再检测一次:

#systemctl restart tftp.socket

#systemctl restart xinetd.service

#systemctl restart httpd.service

#systemctl restart cobblerd.service

#systemctl restart rsyncd

然后再运行cobbler监测:

#cobbler check

下面就是cobbler同步:

#cobbler sync

同步之后,无任何问题,最后显示"***TASK COMPLETE****"。

六、Cobbler的系统镜像文件的挂载和系统的导入

先将系统的镜像文件拷贝到“/opt/”目录下(目录自己随意),本次选用的是centos7.2的Minimal版本,如下:

然后将该iso挂载,然后查看挂载:

#mount -t iso9660 -o loop /opt/CentOS-7-x86_64-Minimal-1511.iso /mnt/

#df -h

挂载成功。

系统数据导入:

#cobbler import --path=/mnt/ --name=centos7.2-Minimal --arch=x86_64

无报错,则系统数据导入成功。

可以查看“/var/www/cobbler/ks_mirror/centos7.2-Minimal-x86_64/”下导入的数据是否存在:

列出导入后的信息配置:

#cobblerlist

#cobbler profile report(可以查看更详细的配置信息)

从该信息看出,kickstart的启动是使用了sample_end.ks,进入目录下查看:

#ll /var/lib/cobbler/kickstarts/

若要定制化安装系统,可以上传自己写的ks文件。

默认的“sample_end.ks”已经满足安装的需求。本次不上传,不修改。

下面将新安装完的系统的网卡名改为eth0:

#cobbler profile edit --name=centos7.2-Minimal-x86_64 --kopts='net.ifname=0biosdevname=0'

下面是验证cobbler:

#cobbler validateks

至此,安装配置导入系统数据以及验证完成。下面就是用VMware创建一台空白的机器测试。

七、VMware上测试cobbler

首先在VMware上建立一块空白系统的硬盘,如下:

创建完成之后开启此虚机。

一系列之后,系统就安装完成了。

八、PXE 默认启动项修改

默认的情况下PXE的启动项是Local(如下图)。

但是根据需求,无需人工干预,自动安装,这时候,只需要将local从启动项删除即可。方法如下:

首先找到PXE加载的菜单选项在哪,路径“/var/lib/tftpboot/pxelinux.cfg”下找到“default”文件,内容如下:

如上,可以看出MENU菜单有俩个选项。这里删除“LABEL local”的内容,并修改“ONTIMEOUT”值为我们想要的启动项即可,如下:

如上图,只留下了“LABELcentos7.2-Minimal-x86_64”这一个启动项,“ONTIMEOUT ”改为了“centos7.2-Minimal-x86_64”,“MENUTITLE”可以修改成自定义内容。

修改后保存即可,不要重启cobblerd服务,也不要执行“cobbler sync”同步。修改后的PXE启动页面如下:

默认的20秒超时一过就可以进入该选项进行自动安装。这样就可以做到了无人工干预的自动无人值守安装需求。

九、Cobbler-web概述

访问https://192.168.139.156/cobbler_web即可登陆Cobbler-web页面管理。(注意是https不是http)

用户名和密码就是之前在settings设置的“cobbler”和“cobbler”。

cobbler-web页面说明:

附录:cobbler安装配置出现的问题汇总

l问题一:访问cobbler_web页面,不成功。“Forbidden You don't have permission to access /cobbler_web/on this server.”,如图:

查看httpd日志:

#cat /var/log/httpd/error_log

原因是“SSL connection required”,是访问的不对,应该使用https头:

l问题二:新建虚机开启时候,出现TFTP open timeout!

这时候是cobbler的服务器的防火墙没关闭。关闭防火墙:

#systemctl stop firewalld.service

#iptables -L

l问题三:运行"cobbler sync"时候报错如下:

此时查看message,找出具体的原因:

#tailf -100 /var/log/messages

这是IP分配的范围错误,该范围不在所属的同一网段,这就是dhcp模板配置错误,重新修改:

#vim /etc/cobbler/dhcp.template

改成如上图所示同一网段即可。

l问题四:新机器启动之后会报错如下图所示:

" Tryingto allocate 1255 pages for VMLINUZ

[Linux-EFI,setup=0x10a3,size=0x4e6cb0]

[Initrd, addr=0x69d81000,size=0x24b96a0]"

由于本次安装的是IBM X服务器,参考IBM官方论坛给出的意见:

A.Press F12 key when the IBM splash screen is shown duringsystem boot.

B.Select Legacy Only option and press Enter.

C.The operating system will boot and install in traditionallegacy boot mode.

意思就是:

从新启动机器,出现选择提示时,按F12键,进入boot启动选择。将Legacy Only 选项选中,再选择启动选项ok。

然后重新启动服务器就可以实现Linux系统自动安装了。

l问题五:新机器启动后找不到操作系统,“Operating System not found”,如下图所示:

系统找寻不到,这时候到cobbler服务器上查看挂载的系统还在么。

#df -h

之前挂载的系统不见了。现在重现挂载系统:

相关TAG标签
上一篇:讲述一次VMware修复网卡的操作
下一篇:Ubuntu不能正常使用vi问题的解决方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站