天天看点

Cobbler 自动安装linux

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

更新EPEL使用淘宝源

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

Cobbler 自动安装linux

安装Cobbler

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

rpm -ql cobbler

Cobbler 自动安装linux

/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

部署校验

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

cobbler check

Cobbler 自动安装linux

还有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

Cobbler 自动安装linux

禁用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

Cobbler 自动安装linux

开启rsync

enable and start rsyncd.service with systemctl

systemctl start rsyncd

systemctl enable rsyncd

Cobbler 自动安装linux

安装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

systemctl restart cobblerd

cobbler check

剩下4个问题

Cobbler 自动安装linux

下载启动程序

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

安装大便镜像package

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

yum install -y debmirror.noarch

Cobbler 自动安装linux

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

把default_password_crypted 替换成新密码

Cobbler 自动安装linux
cobbler sync
Cobbler 自动安装linux

还剩下2个问题

vi /etc/debmirror.conf

2行注释拿掉

Cobbler 自动安装linux

应用配置文件

systemctl restart cobblerd

cobbler sync

Cobbler 自动安装linux

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

Cobbler 自动安装linux

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

cat /etc/cobbler/settings |grep pxe_just

Cobbler 自动安装linux

设置dhcp ip 地址池

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

vi /etc/cobbler/dhcp.template

Cobbler 自动安装linux
Cobbler 自动安装linux

systemctl restart dhcpd

systemctl enable dhcpd

挂载镜像

Cobbler 自动安装linux
mount -t iso9660 -o ro /dev/cdrom /mnt
Cobbler 自动安装linux

导入镜像

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

Cobbler 自动安装linux
cobbler distro list
Cobbler 自动安装linux
ls /var/www/cobbler/ks_mirror/
Cobbler 自动安装linux

查看镜像文件信息

cobbler list

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

Cobbler 自动安装linux

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

cobbler profile report

Cobbler 自动安装linux

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

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

Cobbler 自动安装linux
同步下数据
Cobbler 自动安装linux

自定义pxe菜单

vi /etc/cobbler/pxe/pxedefault.template

Cobbler 自动安装linux
Cobbler 自动安装linux
Cobbler 自动安装linux
Cobbler 自动安装linux
Cobbler 自动安装linux
眼睛一闭就好了
Cobbler 自动安装linux

直接指定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

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

Cobbler 自动安装linux

容我修个错误

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 自动安装linux

继续阅读