2021-05-12 14:32:11
CentOS7安裝Cobbler並自動部署Ubuntu
一、簡介
二、安裝CentOS 7 調整設定及安裝相關軟體
1、調整設定
2、安裝 epel 包
3、安裝cobbler、cobbler-web 以及相關依賴軟體
4、設定開機啟動
三、Cobbler、tftp、dhcp、rsync設定
1、TFTP設定
2、設定rsync
3、設定/etc/cobbler/settings
4、修改/etc/cobbler/modules.conf
5、修改/etc/cobbler/dhcp.template
6、重新啟動cobbler httpd服務
四、檢查cobbler設定
五、匯入映象並檢視匯入情況
1、匯入映象
2、檢視
六、編輯seed檔案
1、普通分割區設定
2、lvm分割區設定
七、注意事項
八、截圖
一、簡介
Cobbler是紅帽開發的批次部署系統的工具,對RHEL、CentOS支援完美,對其他發行版的linux部分支援,也不是很完美,本文介紹的是基於CentOS 7上安裝Cobbler 2.6的文件。參照了網上的一些教學和官方文件,加上自己的實踐,特別是分割區部分,偵錯了數十次才算完美了。
二、安裝CentOS 7 調整設定及安裝相關軟體
1、調整設定
安裝完成後關閉selinux或參照cobbler官方文件設定selinux,http://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 443是cobbler web管理介面埠
67 68 是DHCP埠
69是TFTP埠
[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、安裝cobbler、cobbler-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
三、Cobbler、tftp、dhcp、rsync設定
1、TFTP設定
設定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
相關文章