首頁 > 軟體

CentOS7安裝Cobbler並自動部署Ubuntu

2020-06-16 17:04:24

一、簡介

二、安裝CentOS 7 調整設定及安裝相關軟體

1、調整設定

2、安裝 epel

3、安裝cobblercobbler-web 以及相關依賴軟體

4、設定開機啟動

三、Cobblertftpdhcprsync設定

1TFTP設定

2、設定rsync

3、設定/etc/cobbler/settings

4、修改/etc/cobbler/modules.conf

5、修改/etc/cobbler/dhcp.template

6、重新啟動cobbler httpd服務

四、檢查cobbler設定

五、匯入映象並檢視匯入情況

1、匯入映象

2、檢視

六、編輯seed檔案

1、普通分割區設定

2lvm分割區設定

七、注意事項

八、截圖

一、簡介

Cobbler是紅帽開發的批次部署系統的工具,對RHELCentOS支援完美,對其他發行版的linux部分支援,也不是很完美,本文介紹的是基於CentOS 7上安裝Cobbler 2.6的文件。參照了網上的一些教學和官方文件,加上自己的實踐,特別是分割區部分,偵錯了數十次才算完美了。

二、安裝CentOS 7 調整設定及安裝相關軟體

1、調整設定

安裝完成後關閉selinux或參照cobbler官方文件設定selinuxhttp://cobbler.github.io/manuals/2.6.0/4/2_-_SELinux.html

[root@cobbler-server ~]# sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config  

重新啟動伺服器

關閉iptables以及取消開機啟動,centos7 minimal沒有安裝ipables

關閉firewall或放行80 67 68 69 443

80 443cobbler web管理介面埠

67 68 DHCP

69TFTP

[root@cobbler-server ~]# systemctl stop firewalld

[root@cobbler-server ~]# systemctl disable firewalld

2、安裝 epel

[root@cobbler-server ~]# yum install epel-release

[root@cobbler-server ~]# yum makecache

3、安裝cobblercobbler-web 以及相關依賴軟體

[root@cobbler-server ~]# yum install cobbler cobbler-web xinetd pykickstart cman dhcp -y

4、設定開機啟動

[root@cobbler-server ~]# systemctl enable httpd

[root@cobbler-server ~]# systemctl enable dhcpd 

[root@cobbler-server ~]# systemctl enable cobblerd

三、Cobblertftpdhcprsync設定

1TFTP設定

設定tftp綠色著色為修改後的值

[root@cobbler-server ~]# vim /etc/xinetd.d/tftp

# default: off

# description: The tftp server serves files using the trivial file transfer

#       protocol.  The tftp protocol is often used to boot diskless

#       workstations, download configuration files to network-aware printers,

#       and to start the installation process for some operating systems.

service tftp

{

        socket_type             = dgram

        protocol                = udp

        wait                    = yes

        user                    = root

        server                  = /usr/sbin/in.tftpd

        server_args             = -s /var/lib/tftpboot

        disable                 = no

        per_source              = 11

        cps                     = 100 2

        flags                   = IPv4

}

2、設定rsync

[root@cobbler-server ~]# systemctl enable rsyncd

CentOS7上安裝cobbler 對於rsync無需額外設定

3、設定/etc/cobbler/settings

[root@cobbler-server ~]# cat /etc/cobbler/settings |grep '^[^#]'

---

allow_duplicate_hostnames: 0

allow_duplicate_ips: 0

allow_duplicate_macs: 0

allow_dynamic_settings: 0

anamon_enabled: 0

authn_pam_service: "login"

auth_token_expiration: 3600

build_reporting_enabled: 0

build_reporting_sender: ""

build_reporting_email: [ 'root@localhost' ]

build_reporting_smtp_server: "localhost"

build_reporting_subject: ""

build_reporting_ignorelist: [ "" ]

cheetah_import_whitelist:

 - "random"

 - "re"

 - "time"

createrepo_flags: "-c cache -s sha"

default_kickstart: /var/lib/cobbler/kickstarts/default.ks

default_name_servers: []

default_ownership:

 - "admin"

default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."

default_template_type: "cheetah"

default_virt_bridge: xenbr0

default_virt_file_size: 5

default_virt_ram: 512

default_virt_type: xenpv

enable_gpxe: 0

enable_menu: 1

func_auto_setup: 0

func_master: overlord.example.org

http_port: 80

kernel_options:

 ksdevice: bootif

 lang: ' '

 text: ~

kernel_options_s390x:

 RUNKS: 1

 ramdisk_size: 40000

 root: /dev/ram0

 ro: ~

 ip: off

 vnc: ~

ldap_server: "ldap.example.com"

ldap_base_dn: "DC=example,DC=com"

ldap_port: 389

ldap_tls: 1

ldap_anonymous_bind: 1

ldap_search_bind_dn: ''

ldap_search_passwd: ''

ldap_search_prefix: 'uid='

ldap_tls_cacertfile: ''

ldap_tls_keyfile: ''

ldap_tls_certfile: ''

mgmt_classes: []

mgmt_parameters:

 from_cobbler: 1

puppet_auto_setup: 0

sign_puppet_certs_automatically: 0

puppetca_path: "/usr/bin/puppet"

remove_old_puppet_certs_automatically: 0

manage_dhcp: 1

#cobbler接管DHCP,預設為0,此處修改以後需要修改對應/etc/cobbler/dhcp.template模板

manage_dns: 0

bind_chroot_path: ""

bind_master: 127.0.0.1

manage_tftpd: 1

manage_rsync: 1 #接管rsync,無需額外設定rsync

manage_forward_zones: []

manage_reverse_zones: []

next_server: 192.168.11.252 #本機ip地址

power_management_default_type: 'ipmitool'

power_template_dir: "/etc/cobbler/power"

pxe_just_once: 0

pxe_template_dir: "/etc/cobbler/pxe"

consoles: "/var/consoles"

RedHat_management_type: "off"

redhat_management_server: "xmlrpc.rhn.redhat.com"

redhat_management_key: ""

redhat_management_permissive: 0

register_new_installs: 0

reposync_flags: "-l -n -d"

restart_dns: 1

restart_dhcp: 1

run_install_triggers: 1

scm_track_enabled: 0

scm_track_mode: "git"

server: 192.168.11.252 #本機ip地址

client_use_localhost: 0

client_use_https: 0

snippetsdir: /var/lib/cobbler/snippets

template_remote_kickstarts: 0

virt_auto_boot: 1

webdir: /var/www/cobbler

xmlrpc_port: 25151

yum_post_install_mirror: 1

yum_distro_priority: 1

yumdownloader_flags: "--resolve"

serializer_pretty_json: 0

replicate_rsync_options: "-avzH"

replicate_repo_rsync_options: "-avzH"

always_write_dhcp_entries: 0

proxy_url_ext: ""

proxy_url_int: ""

 

4、修改/etc/cobbler/modules.conf

[root@cobbler-server ~]# cat /etc/cobbler/modules.conf |grep '^[^#]'

 

[authentication]

module = authn_configfile

[authorization]

module = authz_allowall

[dns]

module = manage_bind

[dhcp]

module = manage_isc #如果是dnsmasq就應該為manage_dnsmasq

[tftpd]

module = manage_in_tftpd

 

5、修改/etc/cobbler/dhcp.template

[root@localhost cobbler]# cat /etc/cobbler/dhcp.template |grep '^[^#]'

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.11.0 netmask 255.255.255.0 {

     option routers             192.168.11.252;

     option domain-name-servers 192.168.11.252;

     option subnet-mask         255.255.255.0;

     range dynamic-bootp        192.168.11.100 192.168.11.200;

     default-lease-time         21600;

     max-lease-time             43200;

     next-server                $next_server;

     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 could be subnet if your dhcp tags line up with your subnets

    ## or really any valid dhcpd.conf construct ... if you only use the

    ## default dhcp tag in cobbler, the group block can be deleted for a

    ## flat configuration

group {

        #for mac in $dhcp_tags[$dhcp_tag].keys():

            #set iface = $dhcp_tags[$dhcp_tag][$mac]

    host $iface.name {

        hardware ethernet $mac;

        #if $iface.ip_address:

        fixed-address $iface.ip_address;

        #end if

        #if $iface.hostname:

        option host-name "$iface.hostname";

        #end if

        #if $iface.netmask:

        option subnet-mask $iface.netmask;

        #end if

        #if $iface.gateway:

        option routers $iface.gateway;

        #end if

        #if $iface.enable_gpxe:

        if exists user-class and option user-class = "gPXE" {

            filename "http://$cobbler_server/cblr/svc/op/gpxe/system/$iface.owner";

        } else if exists user-class and option user-class = "iPXE" {

            filename "http://$cobbler_server/cblr/svc/op/gpxe/system/$iface.owner";

        } else {

            filename "undionly.kpxe";

        }

        #else

        filename "$iface.filename";

        #end if

        ## Cobbler defaults to $next_server, but some users

        ## may like to use $iface.system.server for proxied setups

        next-server $next_server;

        ## next-server $iface.next_server;

    }

        #end for

}

6、重新啟動cobbler httpd服務

[root@cobbler-server ~]# systemctl restart cobblerd

[root@cobbler-server ~]# systemctl restart httpd

更多詳情見請繼續閱讀下一頁的精彩內容http://www.linuxidc.com/Linux/2017-10/147731p2.htm


IT145.com E-mail:sddin#qq.com