cobbler实现自动安装

author:JevonWei
版权声明:原创作品


cobbler 配置目录

配置文件目录 /etc/cobbler
    /etc/cobbler/settings : cobbler  主配置文件
    /etc/cobbler/iso/: iso 模板配置文件
    /etc/cobbler/pxe: pxe 模板文件
    /etc/cobbler/power:  电源配置文件
    /etc/cobbler/user.conf: web 服务授权配置文件
    /etc/cobbler/users.digest: web 访问的用户名密码配置文件
    /etc/cobbler/dhcp.template : dhcp 服务器的的配置末班
    /etc/cobbler/dnsmasq.template : dns 服务器的配置模板
    /etc/cobbler/tftpd.template : tftp 服务的配置模板
    /etc/cobbler/modules.conf :  模块的配置文件
数据目录
    /var/lib/cobbler/config/:  用于存放distros,system,profiles 等信息配置文件
    /var/lib/cobbler/triggers/:  用于存放用户定义的cobbler 命令
    /var/lib/cobbler/kickstart/:  默认存放kickstart 文件
    /var/lib/cobbler/loaders/:  存放各种引导程序
镜像目录
    /var/www/cobbler/ks_mirror/:  导入的发行版系统的所有数据
    /var/www/cobbler/images/ :  导入发行版的kernel 和initrd 镜像用于远程网络启动
    /var/www/cobbler/repo_mirror/: yum  仓库存储目录
日志目录
    /var/log/cobbler/installing:  客户端安装日志
    /var/log/cobbler/cobbler.log : cobbler 

配置cobbler

一、配置epel源yum仓库文件

cat service.repo 
    [base]
    name=danran
    baseurl=file:///mnt
    enable=1
    gpgcheck=0

    [epel]
    name=epel
    baseurl=http://dl.fedoraproject.org/pub/epel/7/x86_64/
    gpgcheck=0

二、安装程序包并启动服务

yum -y install cobbler
yum -y install dhcp   
yum -y install httpd
systemctl enable cobblerd.service 
systemctl start cobblerd.service
systemctl enable dhcpd
systemctl enable tftp 
systemctl start tftp 
systemctl enable httpd
systemctl start httpd
systemctl enable tftp
systemctl start tftp
firewall-cmd --add-service=http --permanent   
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload   \\ 打开httpd的防火墙
setenforce 0
vim /etc/sysconfig/selinux

ss -ntlp | grep cobbler  \\查看cobbler服务的端口号
firewall-cmd --add-port=25151/tcp --permanent \\打开cobbler服务的端口号   
firewall-cmd --reload 

三、cobbler环境检查和配置

cobbler check  \\报错信息如下          
    httpd does not appear to be running and proxying cobbler, or SELinux is in the way. Original traceback:
    Traceback (most recent call last):
        File "/usr/lib/python2.7/site-packages/cobbler/cli.py", line 251, in check_setup s.ping()
        File "/usr/lib64/python2.7/xmlrpclib.py", line 1233, in __call__ 
            return self.__send(self.__name, args)
        File "/usr/lib64/python2.7/xmlrpclib.py", line 1587, in __request
            verbose=self.__verbose
        File "/usr/lib64/python2.7/xmlrpclib.py", line 1273, in request return
            self.single_request(host, handler, request_body, verbose)
        File "/usr/lib64/python2.7/xmlrpclib.py", line 1301, in single_request
            self.send_content(h, request_body)
        File "/usr/lib64/python2.7/xmlrpclib.py", line 1448, in send_content
            connection.endheaders(request_body)
        File "/usr/lib64/python2.7/httplib.py", line 1013, in endheaders
            self._send_output(message_body)
        File "/usr/lib64/python2.7/httplib.py", line 864, in _send_output
            self.send(msg)
        File "/usr/lib64/python2.7/httplib.py", line 826, in send 
            self.connect()
        File "/usr/lib64/python2.7/httplib.py", line 807, in connect 
            self.timeout, self.source_address)
        File "/usr/lib64/python2.7/socket.py", line 571, in create_connection 
            raise err
    error: [Errno 111] Connection refused

systemctl restart cobblerd.service   \\重新启动cobblerd.service 
cobbler get-loaders   

cobbler check \\再次检查cobbler环境
    The following are potential configuration items that you may want to fix:

    1:The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
    2:For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
    3:SELinux is enabled. Please review the following wiki page for details on ensuring cobbler works correctly in your SELinux environment:
        https://github.com/cobbler/cobbler/wiki/Selinux
    4:change 'disable' to 'no' in /etc/xinetd.d/tftp
    5:some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed 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 'cobbler get-loaders' command is the easiest way to resolve these requirements.
    6:enable and start rsyncd.service with systemctl
    7:debmirror package is not installed, it will be required to manage debian deployments and repositories
    8:The default password used by the sample templates for newly installed machines (default_password_crypted in /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
    9:fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

    Restart cobblerd and then run 'cobbler sync' to apply changes.

解决报错1
vim /etc/cobbler/settings 
    server: 192.168.198.131 \\383行左右  
systemctl restart cobblerd.service  

image

解决报错2(TFTP服务器) 
vim /etc/cobbler/settings \\272行左右  
    next_server:192.168.198.131 

image

解决报错3(禁用selinux)
    setenforce 0
    vim /etc/sysconfig/selinux
    SELINUX=permissive

image

解决报错4(tftp服务开启)
    systemctl enable tftp
    systemctl start tftp
    ss -utln \\查看tftp服务的端口是否打开

image

解决报错5(下载boot-loaders)
    cobbler get-loaders
    cobbler sync   

image

解决报错8(增加用户口令)
    openssl passwd -1   \\成为md5加密的口令

image

vim /etc/cobbler/settings 
    default_password_crypted: "$1$wzkQF.fE$CHpWUkntQxo3XHZ5bRsDI." \\将openssl passwd -1生成的密码口令粘贴到此处

image

systemctl restart cobblerd
cobbler check  

四、配置dhcp

vim /etc/cobbler/settings
    manage_dhcp: 1 \\1表示由cobbers自动配置dhcp配置文件

image

systemctl restart cobblerd
vim /etc/cobbler/dhcp.template\\配置相应的网段和IP范围 
    subnet 192.168.198.0 netmask 255.255.255.0 {
    option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.198.10 192.168.198.100;
    default-lease-time         21600;
    max-lease-time             43200;
    next-server                $next_server;

image

systemctl restart cobblerd
cobbler sync   \\同步cobber数据
cat /etc/dhcp/dhcpd.conf  \\查看dhcp的配置文件是否更改
systemctl restart dhcpd \\重启dhcp服务

image

五、导入系统光盘文件到cobbler

cobbler import --path=/mnt --name=centos7.3  \\centos7的光盘挂载在/mnt目录下,-name为指定光盘文件导入/vae/www/cobbler/ks_mirror后的名称
cobbler import --path=/mnt --name=centos6.9  \\将centos6.9的系统光盘文件导入到cobbler中,并存放在/vae/www/cobbler/ks_mirror

六、制作kickstart应答文件(/var/lib/cobbler/kickstarts/)

system-config-kickstart   \\制作kickstart应答文件  
cp /root/centos7.cfg  /var/lib/cobbler/kickstarts/  \\或复制应答文件到指定目录下
vim /var/lib/cobbler/kickstarts/ centos7.cfg  
    url --url==$tree  \\$tree意为使用cobbler本身定义的根文件路径变量  

image

cobbler distro list   \\显示导入系统版本信息
cobbler profile list  \\显示导入系统时自动生成的应答文件
cobbler distro report --name=centos7.3-x86_64 显示指定版本的具体设置信息  

image

cobbler profile add --name=centos7.3-custom --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg --distro=centos7.3-x86_64 \\将*.cfg应答文件与系统版本关联起来,--name为关联后的ks应答文件名称,--distro指定操作系统版本  
cobbler profile add --name=centos6.9-custom --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg --distro=centos6.9-x86_64  
 cobbler profile del --name=centos6.9-custom  \\删除centos6.9-custom的应答文件关联
 

cobbler profile report \\显示版本与cfg应答文件的详细信息
cobbler distro list
cobbler profile list 

image

cat /var/lib/tftpboot/pxelinux.cfg/default   \\查看启动菜单是否自动更新   

image

七、显示目录文件

pree /var/lib/tftpboot

image

八、客户端安装测试

cobbler的web管理

定义认证方法的配置文件:

/etc/cobbler/modules.conf  \\默认使用模块验证
    module = authn_configfile \\默认配置文件验证
    module = authn_pam \\使用pam模块认证

一、安装程序包

yum -y install cobbler-web.noarch 
systemctl restart httpd
systemctl restart cobblerd

二、使用配置文件认证

创建cobbler用户
    htdigest -c /etc/cobbler/users.digest Cobbler danran  \\新建用户danran,添加第一个用户时,使用'-c'选项,后续添加其他用户时不需要再使用,cobbler-web的realm只能为Cobbler   

cat /etc/cobbler/users.digest  \\记录了用户的账号

三、使用pam模块认证(读取的为linux系统本身的账号)

vim /etc/cobbler/users.conf 
    [admins]
    admin = "jevon"
systemctl restart cobblerd.service 

四、登录管理

https://192.168.198.131/cobbler_web
键入用户名和密码登录
posted @ 2017-07-24 21:38  JevonWei  阅读(554)  评论(0编辑  收藏  举报