标签:cobbler:自动装机
Cobbler是一个使用Python开发的开源项目,通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动批量快速建立linux系统的网络安装环境。
首先rpm安装epel更新源源软件下载,在线下载yum仓库。
安装相关软件包(利用yum进行安装,直接解决依赖性关系)
安装的软件包如下
软件名 | 作用 |
---|---|
Cobbler | 用来快速建立 Linux 网络安装环境 |
Dhcp | 为空白主机自动分配IP地址 |
Pykickstart | 实现无人值守安装 |
Rsync | 实现数据同步 |
Xinetd | 提供访问控制、加强的日志和资源管理功能 |
tftp-server | 提供引导镜像文件的下载 |
httpd | 作为控制台程序运行 |
1.安装完成之后启动httpd服务和cobbler服务,关闭防火墙和selinux防火墙。此时可用命令查看需更改的项目(需网络支持)
cobbler check
服务开启之后,可以用命令查看服务是否开启成功
systemctl status cobblerd.service //查看cobbler服务是否开启
2.开启tftp功能
vim /etc/xinetd.d/tftp
3.开启rsyncd服务
开启该项服务前需将服务添加到系统服务管理
systemctl enable rsyncd.service //将服务添加到系统服务管理
systemctl start rsyncd.service //开启服务
由于之前我们对cobbler进行了更改,这里我们就需要重启cobbler服务,然后再使用cobbler check查看需更改的项目,此处可看到我们更改过的项目已经不再显示。如果已经做了更改,cobbler check 查看仍存在,则说明更改未生效。
4.下载引导操作系统文件
cobbler get-loaders //下载引导操作系统文件
5.设置新创建系统的管理员密码
先检查系统中有没有openssl软件,如果系统中没有,则使用yum进行安装。
openssl passwd -1 -salt ‘abc123‘ ‘abc123‘
复制生成的加密密码,添加到配置文件中(/etc/cobbler/settings)
cobbler为DHCP提供了控制dhcp服务的模板,我们只需要直接在这个模板上进行更改,模板位置(/etc/cobbler/dhcp.template)
DHCP修改完成之后要进行同步,将该配置模板同步到DHCP服务的配置文件中去
cobbler sync //帮助同步生成DHCP配置文件
开启DHCP服务
systemctl restart dhcpd.service //启动dhcpd服务
首先将镜像文件挂载到/mnt
mount /dev/sr0 /mnt //挂载镜像到目录
导入镜像文件
cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64 //导入iso镜像
名称 | 解释 |
---|---|
--path | 挂载目录 |
--name | 系统名称 |
--atch | 系统位数 |
这里导入的ISO镜像文件比较大,所以需等待一段时间。
默认导入存放位置/var/www/cobbler/ks_mirror/CentOS-7-x86_64 ,我们可以进入该目录查看一下。
查看内核和初始化文件是否在在tftp server 共享目录中,我们使用tree命令来查看,系统默认没有安装,使用yum安装
yum install tree //安装tree
tree /var/lib/tftpboot/images //查看文件是否存在
此时我们已经可以进行自动装机了,但是为确保万无一失,我们可以将之前的服务都重新启动,确保服务都开启。
systemctl restart cobblerd.service
systemctl restart dhcpd.service
systemctl restart xinetd.service
systemctl restart httpd.service
最后再用“cobbler check”查看需做更=更改的项目,确保只剩三项无需修改的项目
在vmworkstation中创建一台空白的虚拟机进行测试,创建方法和Red Hat Enterprise 6.5 linux 异曲同工,需要注意的是在选择网络模式的时候我们要选择NAT模式。其他的设置基本一致。可以参考Linux虚拟机的创建
启动新创建的空白虚拟机,即可开始自动化安装系统,不过该种安装方式安装的系统没有图形化界面,需要自己手动安装。
标签:cobbler:自动装机
原文地址:http://blog.51cto.com/13643643/2117237