• UEFI+Cobbler简介:

  • UEFI:两句话怎么可能能描述清楚。
  • Cobbler:简介这种东西能看吗?百度去吧!!!
  • warring: 由于cobbler的get-loaders的引导程序已经被移除,所以get-loaders命令也被移除(版本:2.8.5-2 (EPEL7))了,参考: https://github.com/cobbler/cobbler/issues/2660

  • 准备工作:

  • Centos 6、7的光盘映像文件
    • CentOS-7-x86_64-DVD-1708.iso
    • CentOS-6.9-x86_64-bin-DVD1.iso
  • 服务器一台。服务器系统信息:
    • IP地址:192.168.1.3(接下来所有的服务都是在这台机器上搭建)
    • 系统版本CentOS Linux release 7.4.1708 (Core)
    • 内核:3.10.0-693.el7.x86_64
    • selinux,firewall必须关闭!!!
  • 小白鼠机器两台。

  • 安装Cobbler

    • cobbler需要dhcp、httpd、tftp的支持,直接yum安装即可。

    yum install -y cobbler cobbler-web httpd dhcp tftp-server syslinux
    
    • 1、启动cobbler、tftp和httpd服务:

    systemctl start cobblerd
    systemctl start tftp-server
    systemctl start httpd
    
    • 2、执行cobbler check检查设置是否正确

    cobbler check   #当然,肯定会报一大堆错误
    

    • 3、修改Cobbler配置文件

    cp  /etc/cobbler/settings /etc/cobbler/settings.bak         #修改前备份一下
    sed -ri 's/^(manage_dhcp: ).*/\11/' /etc/cobbler/settings
    sed -ri 's/^(next_server: ).*/\1192.168.1.3/' /etc/cobbler/settings
    sed -ri 's/^(server: ).*/\1192.168.1.3/' /etc/cobbler/settings
    		
    #修第改242行:manage_dhcp: 1                                  #将0修改成1,
    #修第改272行:next_server:192.168.1.3                      #将127.0.0.1修改成本机ip
    #修改第384行:server:192.168.1.3                           #将127.0.0.1修改成本机ip
    

    • 4、修改Cobbler默认密码:

    openssl passwd -1             #执行后会提示我们输入密码,这里我输入123456
    
    #输入两次密码之后会生成加密过后的密码(红框里面),将这个密码复制。
    #打开/etc/cobbler/settings文件,在第101行,把刚才生成的加密密码替换到下图红框的位置
    
    sed -ri 's/^(default_password_crypted: ).*/\1"$1$rcKGGvMc$DX.ALTp02UnTcNSdfffS60"/' /etc/cobbler/settings
    
    #这里我用sed命令直接替换了。
    

    • 5、重启cobbler服务,再次执行cobbler check

    systemctl restart cobblerd
    cobbler check
    #可以看到错误提示已经少了几行了。
    

    • 6、继续排错

    • 下载pxe启动的相关文件:
    cobbler get-loaders        
    #这个命令需要联网下载pxe启动的相关文件	 
    
    

    cobbler sync            #上面的命令下载完成之后需要同步一下文件
    		                #结尾出现*** TASK COMPLETE *** 就表示成功了																		 
    

    设置rsync:

    systemctl enable rsyncd          #设置rsync开机自启
    systemctl start rsyncd              #启动rsync服务
    

  • 7、再次重启cobbler

    systemctl restart cobbler
    cobbler check        
    #剩下最后两项报错,一项是电源管理相关,另外一项是debian安装相关
    #当然了,这两项无关紧要,忽略掉,继续下一步操作。
    	 
    

  • 8、配置DHCP

    cp /etc/cobbler/dhcp.template /etc/cobbler/dhcp.template.bak           #先备份
    vi /etc/cobbler/dhcp.template                  #修改cobbler的自带的dhcp配置文件模板
    cobbler sync                                   #修改完成之后同步模板到/etc/dhcpd.conf  
                                                   #关于dhcp配置文件的说明,请自行百度~~~
    

  • 9、挂载映像文件并导入distro

    mkdir /mnt/centos{6,7}
    mount /dev/sr0 /mnt/centos7              #创建目录并挂载光盘
    mount /dev/sr1 /mnt/centos6
    cobbler import --path=/mnt/centos7 --name=Centos7.4 --arch=x86_64     #导入Centos7
    cobbler import --path=/mnt/centos6 --name=Centos6.9 --arch=x86_64     #导入Centos6
    

  • 10、导入自定义的kickstart配置文件

    cp centos6.cfg  /var/lib/cobbler/kickstarts/               #将配置文件复制到/var/lib/cobbler/kickstarts目录下
    cp centos7.cfg  /var/lib/cobbler/kickstarts/               #分别导入对应的配置文件
    cobbler profile edit --name=Centos7.4-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg
    cobbler profile edit --name=Centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.cfg
    cobbler report                                                            #查看一下是否已经导入进去了
    cobbler report | grep "^Kickstart.*cfg$"                                  #grep看一眼就好了
    cobbler check                      
    cobbler sync                              #动了配置文件就重新检查,并且同步
    

  • 11、修改pex引导的菜单

    cd /var/lib/tftpboot/grub/                             #修改efidefault的菜单超时时间
    sed -ri 's/^(timeout=).*/\160/' efidefault              #修改成60秒,不然太快,看不到菜单
    

  • 到这里所有配置基本就已经完成了。


  • 测试安装系统。

  • 接下来有请小白鼠一号已经小白鼠二号。

  • 虚拟机设置UEFI引导:

  • 开机出现这个就是UEFI引导了!

  • 小白鼠一号(Centos6):

  • 开机选择要安装的系统:

  • 读取安装系统的相关文件比较慢,耐心等待。

  • 已经正在安装了,静静的等待安装结束。

  • Centos6安装结束。

  • Centos7的安装过程跟6一样,这里就不再重复了。