cobble 官网
http://cobbler.github.io/
快速入门
http://cobbler.github.io/manuals/quickstart/
Web 访问
http://cobbler.github.io/manuals/2.8.0/5_-_Web_Interface.html
更新EPEL使用淘宝源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装Cobbler
yum install -y httpd tftp dhcp cobbler cobbler-web pykickstart
rpm -ql cobbler
/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 check
还有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
禁用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
开启rsync
enable and start rsyncd.service with systemctl
systemctl start rsyncd
systemctl enable rsyncd
安装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
systemctl restart cobblerd
cobbler check
剩下4个问题
下载启动程序
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
安装大便镜像package
debmirror package is not installed, it will be required to manage debian deployments and repositories
yum install -y debmirror.noarch
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 sync还剩下2个问题
vi /etc/debmirror.conf
2行注释拿掉
应用配置文件
systemctl restart cobblerd
cobbler sync
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
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings
cat /etc/cobbler/settings |grep pxe_just
设置dhcp ip 地址池
cp /etc/cobbler/dhcp.template /etc/cobbler/dhcp.template.original
vi /etc/cobbler/dhcp.template
systemctl restart dhcpd
systemctl enable dhcpd
挂载镜像
mount -t iso9660 -o ro /dev/cdrom /mnt导入镜像
cobbler import --path=/mnt/ --name=CentOS-7.5-x86_64 --arch=x86_64
cobbler distro list ls /var/www/cobbler/ks_mirror/查看镜像文件信息
cobbler list
cobbler distro report --name=CentOS-7.5-x86_64
修改网卡配置,因为cenos 7之后网卡从eth0变成ens打头的了
cobbler profile report
cobbler profile edit --name=CentOS-7.5-x86_64 --kopts='net.ifnames=0 biosdevname=0'
cobbler profile report --name=CentOS-7.5-x86_64
同步下数据自定义pxe菜单
vi /etc/cobbler/pxe/pxedefault.template
眼睛一闭就好了直接指定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,磁盘空间不足
容我修个错误
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