cobbler部署centos7

来源:互联网 发布:windows latex 配置 编辑:程序博客网 时间:2024/05/17 22:25

1.基于epel源yum安装cobbler, 配置epel源可参见
http://blog.csdn.net/celeste7777/article/details/48528161

yum -y install cobbler tftp-server dhcp httpd  

2.启动cobbler并配置,启动cobbler之前需要启动httpd,否则会报错error: [Errno 111] Connection refused

[root@controller ~]# systemctl start httpd[root@controller ~]# systemctl start cobblerd

3.检查cobbler配置
这里写图片描述
按提示解决相关报错

  • vim /etc/cobbler/settings 将server的值要设置为可以与外部主机通信的值而非localhost
  • 启动PXE功能,vim /etc/cobbler/settings将next_server值设置为tftp服务器的IP,同上
  • 这里写图片描述
  • 由于cobbler需要面向主机提供各种不同发行版OS的安装,bootloader各不相同,因此必须为各个版本提供好bootloader,执行下图命令 这里写图片描述
  • [root@controller ~]# systemctl enable rsyncd
    [root@controller ~]# systemctl start rsyncd

  • debian安装用,暂时可以不管;如果需要安装,下载地址为:
    http://rpmfind.net/linux/rpm2html/search.php?query=debmirror

  • [root@controller ~]# yum install pykickstart -y
  • vim /etc/cobbler/settings将default_password_crypted修改为下图随机生成加密的密码
    这里写图片描述
  • 安装cam和fance-agents来实现电源管理
[root@controller ~]# yum install cman fence-agents -y[root@controller ~]# cobbler sync

4.将dhcp和tftp交给cobbler托管,启动dhcpd和tftp
vim /etc/cobbler/settings将manange_dhcp,manager_tftpd的值设置为1,本例中manager_rsync,manager_dns的值为0

[root@controller ~]# cat /etc/dhcp/dhcpd.conf ddns-update-style interim;allow booting;allow bootp;ignore client-updates;set vendorclass = option vendor-class-identifier;option pxe-system-type code 93 = unsigned integer 16;subnet 192.168.1.0 netmask 255.255.255.0 {     option routers             192.168.1.5;     option domain-name-servers 192.168.1.1;     option subnet-mask         255.255.255.0;     range dynamic-bootp        192.168.1.100 192.168.1.254;     default-lease-time         21600;     max-lease-time             43200;     next-server                192.168.1.105;     class "pxeclients" {          match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";          if option pxe-system-type = 00:02 {                  filename "ia64/elilo.efi";          } else if option pxe-system-type = 00:06 {                  filename "grub/grub-x86.efi";          } else if option pxe-system-type = 00:07 {                  filename "grub/grub-x86_64.efi";          } else {                  filename "pxelinux.0";          }     }group {}[root@controller ~]# systemctl  start tftp[root@controller ~]# systemctl  start dhcpd

5.定义distro
至此cobbler环境基本配置完成,接下来定义distro,可以通过为其指定外部的安装引导内核及ramdisk文件的方式实现,也可以选择导入安装树,本例中将ISO镜像挂载到当前系统某个目录,使用import导入,而非使用外部内核和init文件

[root@controller ~]# mount /dev/cdrom /media -r[root@controller ~]# cobbler import -h

此处使用CentOS-7-x86_64-Minimal-1511.iso,如果镜像较大,导入会比较耗时

[root@controller ~]# cobbler import --name="centos-7_x86_64" --path=/media

导入完成可查看/var/www/下新增了一个cobbler目录,通过浏览器访问查看文件输出
这里写图片描述
6.制作kickstart文件
每一个profile必须要继承自Distribution,从而得知如何进行安装,安装的版本等。一个profile实现安装过程需要依赖yum源(在kikstart中配置),由于下载带宽有限,可以选择镜像的方式将其复制在本地。本例中使用root用户家目录下的anaconda-ks.cfg(系统安装过程中自动生成)作为样版文件,在此基础上进行编辑修改

[root@controller ~]# yum install system-config-kickstart[root@controller ~]# system-config-kickstart

这里写图片描述
7.定义profile,profile将出现在PXE引导菜单中作为安装的选择之一
这里写图片描述

[root@controller ~]# cobber profile add -h[root@controller ~]# cobbler profile add --name=centos7_x86_64_min --distro=centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7_x86.cfg

导入完成后,列出当前系统的profile,其中centos-7-x86_64为定义distro时自动生成的profile,没有为其指定kickstart,因此可以使用以下命令删除,执行cobbler sync同步所有配置
这里写图片描述

[root@controller ~]# cobbler profile remove --name=centos-7-x86_64

测试能否引导启动
这里写图片描述
参考文章
http://os.51cto.com/art/201405/439670.htm
http://os.51cto.com/art/201008/218652.htm

0 0