Cobbler自動化安裝

  
  一,PXE介紹

  PXE(preboot execute environment,預啓動執行環境)是由Intel公司開發的最新技術,工做於Client/Server的網絡模式,支持工做站經過網絡從遠端服務器下載映像,並由此支持經過網絡啓動操做系統,在啓動過程當中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端(客戶端)基本軟件設置,從而引導預先安裝在服務器中的終端操做系統。PXE能夠引導多種操做系統,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系統等。python

  

  二,PXE工做流程linux

  

  三,Cobbler功能ios

 

  四,安裝環境web

   虛擬機兩臺,一臺爲Cobbler主機一臺爲測試安裝機ubuntu

  虛擬機網絡設置爲(兩臺網絡同樣)windows

  主機系統爲CentOS7.4centos

  設置固定IP爲192.168.80.130網關爲VM默認網關192.168.80.2api

 

  五,安裝Cobbler服務器

  配置yum源網絡

rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

  安裝包

yum -y install httpd dhcp tftp cobbler xinetd

  關閉防火牆和selinux

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed 's#enforcing#disabled#g' /etc/selinux/config -i

  啓動

systemctl start cobblerd
systemctl start httpd

  啓動cobbler檢查(須要完成如下列出問題才能使用)

cobbler check

   1,有個server文件必須設置成本地

   2,設置PXE文件去那裏找 

   3,設置Selinex

   4,把配置文件的disable設置爲no

   5,網絡啓動的東西設置在這個目錄,經過命令去下載

   6,啓動rsync

   7,若是使用ubuntu系統須要安裝這個包,這裏不須要安裝

   8,須要安裝pykickstart包

   9,生成默認的密碼放在文件

  10,須要安裝電源管理

 

  運行命令下載一些網絡用的文件

cobbler get-loaders

  安裝xinetd

yum -y install xinetd

  修改配置文件/etc/cobbler/settings兩個地址設置爲本機地址

server 192.168.80.130
next_server 192.168.80.130

  修改完重啓

systemctl restart cobblerd

  修改配置文件/etc/xinetd.d/tftp

disable                 = no

  修改完重啓

systemctl restart  xinetd

  啓動rsync並設置爲自啓動

systemctl start rsyncd
systemctl enable rsyncd

  安裝pykickstart

yum -y install pykickstart

  設置默認密碼 執行命令

openssl passwd -1 -salt 'cobler' 'cobler'

  生成一個密碼設置在/etc/cobbler/settings

default_password_crypted: "$1$123123$MAV.kVI/b3swmFLErPD2b0"

  重啓cobblerd

  檢查(這兩個問題不用處理)

  設置cobbler能夠管理dhcp 

   /etc/cobbler/settings

manage_dhcp: 1

  修改dhcp配置文件/etc/cobbler/dhcp.template修改標紅部分,其餘保持默認

  重啓cobbler(就把剛剛配置的dhcp覆蓋dhcp配置文件/etc/dhcp/dhcpd.conf)

systemctl restart cobblerd

  執行

cobbler sync

  導入鏡像

  先掛載一個鏡像光盤

mount /dev/cdrom /mnt

  導入鏡像

cobbler import --path=/mnt/ --name=Centos-7.2-x86_64 --arch=x86_64

  導入的鏡像目錄爲/var/www/cobbler/ks_mirror

  查看導入鏡像

cobbler profile list

  kickstarts文件在目錄/var/lib/cobbler/kickstarts/裏面

  自定義一個kickstarts文件而且綁定在剛剛傳入的鏡像

  Centos7.2-x86_64.cfg

  這裏設置的root密碼生成命令是

perl -e 'print crypt("123qwe",q($1$password)),"\n"'

 

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$m1pE0DG6$vALBphGGynqvUzfJaWZ6U1
# Use network installation
url --url="$tree"
# System language
lang en_US
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled

# Network information
network  --bootproto=dhcp --device=eth0
network  --bootproto=dhcp --device=eth1
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="ext4" --size=200
part swap --fstype="swap" --size=1024
part / --fstype="ext4" --grow --size=1
%packages
@base
@core
@compat-libraries
@debugging
@development
@gnome-desktop
@X Window System
%end

  定義爲剛剛傳入鏡像的初始化文件

cobbler profile edit --name=CentOS-7.2-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos7.2-x86_64.cfg

  查看

  增長內核參數讓網卡變成eth0

cobbler profile edit --name Centos-7.2-x86_64 --kopts='net.ifnames=0 biosdevname=0' 

   查看

  修改配置都須要同步生效

 cobbler sync

  新建一個虛擬機

  啓動就會從dhcp獲取到地址自動安裝

  自動安裝完一臺虛擬機以備用

  PS:導入CentOS7.4鏡像沒法安裝,緣由不明,就像把7.4製做成U盤同樣沒法安裝系統,有timeout提示

   

  六,cobbler提供的web界面

  cobbler還提供一個web頁面

https://192.168.80.130/cobbler_web

  PS:必須是https訪問

  配置文件問爲/etc/cobbler/users.digest 

  修改密碼htdigest /etc/cobbler/users.digest "Cobbler" cobbler

  默認用戶名和密碼均爲cobbler

  若是沒有頁面顯示則安裝

yum -y cobbler-web

  安裝完重啓httpd

 

  七,cobbler倉庫

  在使用cobbler安裝的虛擬機下面的文件/etc/yum.repos.d/cobbler-config.repo記錄一個yum包的地址

  報錯 提示沒法讀取到源主機的文件

  源主機其實有這個repo文件

  添加庫(不要執行一旦執行會下載好幾百個G的東西)

cobbler repo add --name=CentOS-7-x86_64-epel --mirro=https://mirrors.aliyun.com/epel/7Server/x86_64/ --arch=x86_64 --breed=yum

  同步

cobbler reposync

  cobbler會自動把鏡像下載到本地而且構建本地倉庫

  執行如下的命令同步一個openstack

cobbler repo add --name=openstack-newton --mirror=https://mirrors.aliyun.com/centos/7.4.1708/cloud/x86_64/openstack-newton/ --arch=x86_64 --breed=yum

cobbler reposync

  放置的目錄是/var/www/cobbler/repo_mirror/openstack-newton

  這個目錄有一個config.repo文件要放置在配置文件

  在web界面把剛剛的yum源放進去(編輯初始化文檔也能夠)

  默認安裝的時候就是推過去的在配置文件/etc/cobbler/settings 

yum_post_install_mirror: 1

  

  八,cobbler根據主機mac地址自動化安裝

  準備一臺主機獲取到mac地址

  根據mac地址設置安裝信息

cobbler system add --name=liuyueming \
  --mac=00:0C:29:2C:DC:6B \
  --profile=CentOS-7.2-x86_64 \
  --ip-address=192.168.80.188 \
  --subnet=255.255.255.0 \
  --gateway=192.168.80.2 \
  --interface=eth0 \
  --static=1 \
  --hostname=liuyueming \
  --name-servers="192.168.80.2" \
  --kickstart=/var/lib/cobbler/kickstarts/default.ks

  同步

cobbler sync

  查看

cobbler system list

  cat /etc/dhcp/dhcpd.conf能夠看到剛纔DHCP配置

  啓動該主機就會按照自定義的IP地址以及主機名安裝

  沒安裝成功。。。

 

  九,使用koan重裝系統

  使用cobbler安裝完系統之後假如想要從新安裝一下系統可使用koan工具

  在須要從新安裝系統的主機上面操做

  設置epel源

rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

  安裝koan

yum -y install koan

  使用命令列出cobbler主機是有哪些系統能夠去重裝的

koan --server=192.168.80.130 --list=profiles

  PS:是經過api去訪問的

  使用命令重裝

koan --replace-self --server=192.168.80.130 --profile=CentOS-7.2-x86_64

  重啓(就會自動化從新安裝)

reboot

 

  十,cobbler的python腳本

  cobbler_list.py

#!/usr/bin/python
import xmlrpclib
server = xmlrpclib.Server('http://192.168.80.130/cobbler_api')
print server.get_distros()
print server.get_profiles()
print server.get_systems()
print server.get_images()
print server.get_repos()

  還有一個建立主機的的腳本(學習)

  

 

排錯:同步cobbler sync時候報錯,/etc/init.d/dhcpd權限不足,同步失敗,把這個文件權限設置爲777便可

相關文章
相關標籤/搜索