cobble 官网

http://cobbler.github.io/

快速入门

http://cobbler.github.io/manuals/quickstart/

Web 访问

http://cobbler.github.io/manuals/2.8.0/5_-_Web_Interface.html

Cobbler 自动安装linux_第1张图片

更新EPEL使用淘宝源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

Cobbler 自动安装linux_第2张图片

安装Cobbler

yum install -y httpd tftp dhcp cobbler cobbler-web pykickstart

rpm -ql cobbler

c8db1a6f93e7401bb2ca4c11d3b80082

/etc/cobbler # 配置文件目录

/etc/cobbler/settings # cobbler主配置文件,这个文件是YAML格式,Cobbler是python写的程序。

/etc/cobbler/dhcp.template # DHCP服务的配置模板

/etc/cobbler/tftpd.template # tftp服务的配置模板

/etc/cobbler/rsync.template # rsync服务的配置模板

/etc/cobbler/iso # iso模板配置文件目录

/etc/cobbler/pxe # pxe模板文件目录

/etc/cobbler/power # 电源的配置文件目录

/etc/cobbler/users.conf # Web服务授权配置文件

/etc/cobbler/users.digest # 用于web访问的用户名密码配置文件

/etc/cobbler/dnsmasq.template # DNS服务的配置模板

/etc/cobbler/modules.conf # Cobbler模块配置文件

/var/lib/cobbler # Cobbler数据目录

/var/lib/cobbler/config # 配置文件

/var/lib/cobbler/kickstarts # 默认存放kickstart文件

/var/lib/cobbler/loaders # 存放的各种引导程序

/var/www/cobbler # 系统安装镜像目录

/var/www/cobbler/ks_mirror # 导入的系统镜像列表

/var/www/cobbler/images # 导入的系统镜像启动文件

/var/www/cobbler/repo_mirror # yum源存储目录

/var/log/cobbler # 日志目录

/var/log/cobbler/install.log # 客户端系统安装日志

/var/log/cobbler/cobbler.log # cobbler日志

systemctl start httpd cobblerd

systemctl status httpd cobblerd

systemctl enable httpd cobblerd

Cobbler 自动安装linux_第3张图片

部署校验

这货有一个自我检查的命令,可以知道在部署前还需要解决哪些问题

cobbler check

Cobbler 自动安装linux_第4张图片

还有9个问题要处理,容我处理下

设置服务器IP

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.

vi /etc/cobbler/settings

cat /etc/cobbler/settings | grep -v ^# | grep -v ^$

改3个地方

bind_master: 192.168.10.10

next_server: 192.168.10.10

server: 192.168.10.10

d4a9548ce0944df5bbf7787269929ee6

禁用SELinux

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

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

grep SELINUX=disabled /etc/selinux/config

setenforce 0

开启TFTP

change 'disable' to 'no' in /etc/xinetd.d/tftp

vi /etc/xinetd.d/tftp

c7d9d44d5c364bbb91db9fbbec9943f0

开启rsync

enable and start rsyncd.service with systemctl

systemctl start rsyncd

systemctl enable rsyncd

7b6cfa8e8454403b8fb7fd64743c25f4

安装fencing

fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install -y fence-agents

Cobbler 自动安装linux_第5张图片

systemctl restart cobblerd

cobbler check

剩下4个问题

Cobbler 自动安装linux_第6张图片

下载启动程序

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.

cobbler get-loaders

Cobbler 自动安装linux_第7张图片

安装大便镜像package

debmirror package is not installed, it will be required to manage debian deployments and repositories

yum install -y debmirror.noarch

Cobbler 自动安装linux_第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

openssl passwd -1 -salt 'random-phrase-here' '12345.com'

$1$random-p$N2Gta7Jon4dskSI6zKe5C1

vi /etc/cobbler/settings

把default_password_crypted 替换成新密码

de85d1071b7246fea3e2da92a333c39f

cobbler sync

cobbler check

Cobbler 自动安装linux_第9张图片

还剩下2个问题

vi /etc/debmirror.conf

2行注释拿掉

Cobbler 自动安装linux_第10张图片

应用配置文件

systemctl restart cobblerd

cobbler sync

cobbler check

602c34b58e9a43098e11eabb1ff531ec

all system go

开启dhcp和pxe

sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings

cat /etc/cobbler/settings | grep manage_dhcp

a86dfe3864f744f19298b00791fd0c5c

sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings

cat /etc/cobbler/settings |grep pxe_just

e4b1be6b8c934b38889addc091bcf664

设置dhcp ip 地址池

cp /etc/cobbler/dhcp.template /etc/cobbler/dhcp.template.original

vi /etc/cobbler/dhcp.template

Cobbler 自动安装linux_第11张图片

b645338cad43409ba7e0383f19a4fdeb

systemctl restart dhcpd

systemctl enable dhcpd

挂载镜像

Cobbler 自动安装linux_第12张图片

mount -t iso9660 -o ro /dev/cdrom /mnt

883cbeca59ef412f8f82340a87ff85c7

导入镜像

cobbler import --path=/mnt/ --name=CentOS-7.5-x86_64 --arch=x86_64

Cobbler 自动安装linux_第13张图片

cobbler distro list

3fe2ccde77d540ea9424c67219fb9480

ls /var/www/cobbler/ks_mirror/

9afe223a038b4e079bd588d8489c83df

查看镜像文件信息

cobbler list

cobbler distro report --name=CentOS-7.5-x86_64

Cobbler 自动安装linux_第14张图片

修改网卡配置,因为cenos 7之后网卡从eth0变成ens打头的了

cobbler profile report

Cobbler 自动安装linux_第15张图片

cobbler profile edit --name=CentOS-7.5-x86_64 --kopts='net.ifnames=0 biosdevname=0'

cobbler profile report --name=CentOS-7.5-x86_64

239669cc9d7d4e3aac2d43d23100f7bc

同步下数据

cobbler sync

Cobbler 自动安装linux_第16张图片

自定义pxe菜单

vi /etc/cobbler/pxe/pxedefault.template

Cobbler 自动安装linux_第17张图片

Cobbler 自动安装linux_第18张图片

Cobbler 自动安装linux_第19张图片

Cobbler 自动安装linux_第20张图片

Cobbler 自动安装linux_第21张图片

眼睛一闭就好了

Cobbler 自动安装linux_第22张图片

直接指定IP和MAC 绑定某一个安装菜单

cobbler system add --name=CentOS --mac=00:0C:29:D6:4F:57 --profile=CentOS-7.5-x86_64 --ip-address=192.168.10.100 --subnet=255.255.255.0 --gateway=192.168.10.2 --interface=eth0 --static=1 --hostname=linux_node --name-servers="8.8.8.8"

同步数据

cobbler system list

cobbler sync

问题 找不到boot,磁盘空间不足

Cobbler 自动安装linux_第23张图片

容我修个错误

https://access.redhat.com/solutions/3353961

Root Cause

  • The memory defined for the system is not sufficient hence it is unable to process/download the live image.
  • Minimum of 2GB of memory should be allocated.

虚拟机给2G内存搞定

问题 禁止PXE

cobbler profile edit --name=CentOS-7.5-x86_64 --enable-gpxe=False

cobbler profile report --name=CentOS-7.5-x86_64

Cobbler 自动安装linux_第24张图片

cat /etc/cobbler/modules.conf | grep -v ^$ | grep -v ^#

Cobbler 自动安装linux_第25张图片

Cobbler 自动安装linux_第26张图片