1. 程式人生 > >cobbler服務端部署

cobbler服務端部署

cobbler
  • cobbler是一個Linux伺服器安裝的服務,可以通過網路啟動(PXE)的方式來快速安裝、重灌物理伺服器和虛擬機器,同時還可以管理DHCP,DNS等。cobbler可以使用命令列方式管理,也提供了基於Web的介面管理工具(cobbler-web),還提供了API介面,可以方便二次開發使用。cobber是比較早前的kickstart的升級版,優點就是比較容易配置,還自帶web介面比較易於管理。cobbler內建了一個輕量級配置管理系統,但它也支援和其他配置管理系統整合,如Puppet,暫不支援SaltStack。

部署步驟

//安裝相關的依賴包
[
[email protected]
~]# yum -y install epel-release [[email protected] ~]# yum -y install httpd dhcp tftp python-ctypes cobbler xinetd cobbler-web pykickstart //啟動服務並設定開機自啟 [[email protected] ~]# systemctl start httpd [[email protected] ~]# systemctl start cobblerd [[email protected]
~]# systemctl enable httpd.service Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. [[email protected] ~]# systemctl enable cobblerd Created symlink from /etc/systemd/system/multi-user.target.wants/cobblerd.service to /usr/lib/systemd/system/cobblerd.service. //修改server的ip地址為本機ip [
[email protected]
~]# sed -i 's/^server: 127.0.0.1/server: 192.168.225.128/' /etc/cobbler/settings //設定tftp的ip地址為本機ip [[email protected] ~]# sed -i 's/^next_server: 127.0.0.1/next_server: 192.168.225.128/' /etc/cobbler/settings //開啟tftp [root[email protected] ~]# sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftp //下載缺失檔案 [[email protected] ~]# cobbler get-loaders task started: 2018-10-29_093027_get_loaders task started (id=Download Bootloader Content, time=Mon Oct 29 09:30:27 2018) downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README downloading https://cobbler.github.io/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo downloading https://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot downloading https://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux downloading https://cobbler.github.io/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0 downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32 downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi *** TASK COMPLETE *** //啟動rsync並設定開機自啟 [[email protected] ~]# systemctl start rsyncd [[email protected] ~]# systemctl enable rsyncd Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service. //生成加密的密碼 [[email protected] ~]# openssl passwd -salt "$RANDOM" '123' 55xZOgBciOWGE [[email protected] ~]# vim /etc/cobbler/settings default_password_crypted: "55xZOgBciOWGE" //重啟cobbler [[email protected] ~]# systemctl restart cobblerd.service //通過cobbler check核對當前設定是否有問題 [[email protected] ~]# cobbler check The following are potential configuration items that you may want to fix: 1 : debmirror package is not installed, it will be required to manage debian deployments and repositories 2 : 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. //以上兩個是關於debian系統的錯誤,可以忽略 //修改cobbler配置檔案,讓cobbler控制dhcp [[email protected] ~]# sed -i '/^manage_dhcp/s/0/1/g' /etc/cobbler/settings [[email protected] ~]# sed -n '/^manage_dhcp/p' /etc/cobbler/settings manage_dhcp: 1 //配置dhcp [[email protected] ~]# vim /etc/cobbler/dhcp.template subnet 192.168.225.0 netmask 255.255.255.0 { option routers 192.168.225.128; option domain-name-servers 192.168.225.128; option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.225.100 192.168.225.254; default-lease-time 21600; max-lease-time 43200; next-server $next_server; //重啟服務並同步配置,改完dhcp必須要sync同步配置 [[email protected] ~]# systemctl restart cobblerd.service [[email protected] ~]# cobbler sync task started: 2018-10-29_095534_sync task started (id=Sync, time=Mon Oct 29 09:55:34 2018) running pre-sync triggers cleaning trees removing: /var/lib/tftpboot/grub/images copying bootloaders trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0 trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32 trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot trying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi copying distros to tftpboot copying images generating PXE configuration files generating PXE menu structure rendering DHCP files generating /etc/dhcp/dhcpd.conf rendering TFTPD files generating /etc/xinetd.d/tftp cleaning link caches running post-sync triggers running python triggers from /var/lib/cobbler/triggers/sync/post/* running python trigger cobbler.modules.sync_post_restart_services running: dhcpd -t -q received on stdout: received on stderr: running: service dhcpd restart received on stdout: received on stderr: Redirecting to /bin/systemctl restart dhcpd.service running shell triggers from /var/lib/cobbler/triggers/sync/post/* running python triggers from /var/lib/cobbler/triggers/change/* running python trigger cobbler.modules.scm_track running shell triggers from /var/lib/cobbler/triggers/change/* *** TASK COMPLETE *** //檢查dhcp是否正常 [[email protected] ~]# netstat -anulp|grep dhcp udp 0 0 0.0.0.0:67 0.0.0.0:* 4102/dhcpd //匯入redhat7映象 [[email protected] ~]# mount /dev/sr0 /mnt/ mount: /dev/sr0 防寫,將以只讀方式掛載 [[email protected] ~]# cobbler import --path=/mnt --name=rhel-7 --arch=x86_64 task started: 2018-10-29_100115_import task started (id=Media import, time=Mon Oct 29 10:01:15 2018) Found a candidate signature: breed=redhat, version=rhel6 Found a candidate signature: breed=redhat, version=rhel7 Found a matching signature: breed=redhat, version=rhel7 Adding distros from path /var/www/cobbler/ks_mirror/rhel-7-x86_64: creating new distro: rhel-7-x86_64 trying symlink: /var/www/cobbler/ks_mirror/rhel-7-x86_64 -> /var/www/cobbler/links/rhel-7-x86_64 creating new profile: rhel-7-x86_64 associating repos checking for rsync repo(s) checking for rhn repo(s) checking for yum repo(s) starting descent into /var/www/cobbler/ks_mirror/rhel-7-x86_64 for rhel-7-x86_64 processing repo at : /var/www/cobbler/ks_mirror/rhel-7-x86_64 need to process repo/comps: /var/www/cobbler/ks_mirror/rhel-7-x86_64 looking for /var/www/cobbler/ks_mirror/rhel-7-x86_64/repodata/*comps*.xml Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel-7-x86_64/repodata processing repo at : /var/www/cobbler/ks_mirror/rhel-7-x86_64/addons/HighAvailability need to process repo/comps: /var/www/cobbler/ks_mirror/rhel-7-x86_64/addons/HighAvailability looking for /var/www/cobbler/ks_mirror/rhel-7-x86_64/addons/HighAvailability/repodata/*comps*.xml Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel-7-x86_64/addons/HighAvailability/repodata processing repo at : /var/www/cobbler/ks_mirror/rhel-7-x86_64/addons/ResilientStorage need to process repo/comps: /var/www/cobbler/ks_mirror/rhel-7-x86_64/addons/ResilientStorage looking for /var/www/cobbler/ks_mirror/rhel-7-x86_64/addons/ResilientStorage/repodata/*comps*.xml Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel-7-x86_64/addons/ResilientStorage/repodata *** TASK COMPLETE *** //檢視cobbler映象列表 [[email protected] ~]# cobbler list distros: rhel-7-x86_64 profiles: rhel-7-x86_64 systems: repos: images: mgmtclasses: packages: files: //建立kickstarts自動安裝指令碼 auth --enableshadow --passalgo=sha512 bootloader --location=mbr clearpart --all --initlabel part /boot --asprimary --fstype="ext4" --size=500 part swap --fstype="swap" --size=4096 part / --fstype="ext4" --grow --size=15000 text firewall --disabled firstboot --disable keyboard us lang en_US url --url=http://192.168.225.128/cobbler/ks_mirror/rhel-7-x86_64 $yum_repo_stanza $SNIPPET('network_config') reboot rootpw --iscrypted 55xZOgBciOWGE selinux --disabled skipx timezone Asia/Shanghai --isUtc --nontp install zerombr %packages @^minimal @core kexec-tools %end %addon com_redhat_kdump --enable --reserve-mb='auto' %end %anaconda pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty %end //檢查ks檔案語法是否有誤 [[email protected] ~]# cobbler validateks task started: 2018-10-29_102356_validateks task started (id=Kickstart Validation, time=Mon Oct 29 10:23:56 2018) ---------------------------- osversion: rhel7 checking url: http://192.168.225.128/cblr/svc/op/ks/profile/rhel-7-x86_64 running: /usr/bin/ksvalidator -v "rhel7" "http://192.168.225.128/cblr/svc/op/ks/profile/rhel-7-x86_64" received on stdout: received on stderr: *** all kickstarts seem to be ok *** *** TASK COMPLETE *** //檢視當前cobbler有哪些配置檔案 [[email protected] ~]# cobbler profile list rhel-7-x86_64 //修改profile,將我們新建的ks檔案設為預設的kickstarts安裝檔案 [[email protected] ~]# cobbler profile edit --name rhel-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/rhel-7-x86_64.ks //檢查當前系統cobbler配置檔案資訊 [[email protected] ~]# cobbler profile report Name : rhel-7-x86_64 TFTP Boot Files : {} Comment : DHCP Tag : default Distribution : rhel-7-x86_64 Enable gPXE? : 0 Enable PXE Menu? : 1 Fetchable Files : {} Kernel Options : {} Kernel Options (Post Install) : {} Kickstart : /var/lib/cobbler/kickstarts/rhel-7-x86_64.ks Kickstart Metadata : {} Management Classes : [] Management Parameters : <<inherit>> Name Servers : [] Name Servers Search Path : [] Owners : ['admin'] Parent Profile : Internal proxy : Red Hat Management Key : <<inherit>> Red Hat Management Server : <<inherit>> Repos : [] Server Override : <<inherit>> Template Files : {} Virt Auto Boot : 1 Virt Bridge : xenbr0 Virt CPUs : 1 Virt Disk Driver Type : raw Virt File Size(GB) : 5 Virt Path : Virt RAM (MB) : 512 Virt Type : kvm //同步cobbler [[email protected] ~]# cobbler sync task started: 2018-10-29_103235_sync task started (id=Sync, time=Mon Oct 29 10:32:35 2018) running pre-sync triggers cleaning trees removing: /var/www/cobbler/images/rhel-7-x86_64 removing: /var/lib/tftpboot/pxelinux.cfg/default removing: /var/lib/tftpboot/grub/images removing: /var/lib/tftpboot/grub/grub-x86.efi removing: /var/lib/tftpboot/grub/grub-x86_64.efi removing: /var/lib/tftpboot/grub/efidefault removing: /var/lib/tftpboot/images/rhel-7-x86_64 removing: /var/lib/tftpboot/s390x/profile_list copying bootloaders trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi copying distros to tftpboot copying files for distro: rhel-7-x86_64 trying hardlink /var/www/cobbler/ks_mirror/rhel-7-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/rhel-7-x86_64/vmlinuz trying hardlink /var/www/cobbler/ks_mirror/rhel-7-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/rhel-7-x86_64/initrd.img copying images generating PXE configuration files generating PXE menu structure copying files for distro: rhel-7-x86_64 trying hardlink /var/www/cobbler/ks_mirror/rhel-7-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/rhel-7-x86_64/vmlinuz trying hardlink /var/www/cobbler/ks_mirror/rhel-7-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/rhel-7-x86_64/initrd.img Writing template files for rhel-7-x86_64 rendering DHCP files generating /etc/dhcp/dhcpd.conf rendering TFTPD files generating /etc/xinetd.d/tftp processing boot_files for distro: rhel-7-x86_64 cleaning link caches running post-sync triggers running python triggers from /var/lib/cobbler/triggers/sync/post/* running python trigger cobbler.modules.sync_post_restart_services running: dhcpd -t -q received on stdout: received on stderr: running: service dhcpd restart received on stdout: received on stderr: Redirecting to /bin/systemctl restart dhcpd.service running shell triggers from /var/lib/cobbler/triggers/sync/post/* running python triggers from /var/lib/cobbler/triggers/change/* running python trigger cobbler.modules.scm_track running shell triggers from /var/lib/cobbler/triggers/change/* *** TASK COMPLETE *** //將服務都重啟下 [[email protected] ~]# systemctl restart xinetd.service [[email protected] ~]# systemctl restart cobblerd.service [[email protected] ~]# systemctl restart httpd.service
  • 客戶端安裝驗證
    在這裡插入圖片描述
    選中第二個,即可開始安裝
    安裝好後,使用我們設定的密碼登入
    在這裡插入圖片描述