准备一台虚拟机
环境系统信息:
[root@cobbler ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@cobbler ~]# uname -r
3.10.0-957.el7.x86_64
[root@cobbler ~]# getenforce
Disabled
[root@cobbler ~]# systemctl stop firewalld.service
[root@cobbler ~]# hostname
cobbler
[root@cobbler ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $3}'
10.0.0.100
- 配置yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.安装软件
[root@cobbler ~]# yum install -y cobbler cobbler-web httpd xinetd
[root@cobbler ~]# rpm -qa |grep cobbler
cobbler-web-2.8.4-4.el7.noarch
cobbler-2.8.4-4.el7.x86_64
- 启动服务
[root@cobbler ~]# systemctl start cobblerd.service
[root@cobbler ~]# systemctl start httpd.service
- 修改配置后重启cobbler服务并检查
[root@cobbler ~]# vim /etc/cobbler/settings
server: 10.0.0.100
next_server: 10.0.0.100
[root@cobbler ~]# vim /etc/xinetd.d/tftp
disable = no
[root@cobbler ~]# systemctl restart cobblerd.service
[root@cobbler ~]# cobbler check
执行这条命令下载需要的环境
[root@cobbler ~]# cobbler get-loaders
查看下载的文件
[root@cobbler ~]# ll /var/lib/cobbler/loaders/
再次检查
[root@cobbler ~]# cobbler check
启动rsyncd服务
[root@cobbler ~]# systemctl enable rsyncd.service
[root@cobbler ~]# systemctl start rsyncd.service
下载pykickstart
[root@cobbler ~]# yum install -y pykickstart
生成密码
[root@cobbler ~]# openssl passwd -1 -salt 'cobbler' 'cobbler'
$1$cobbler$M6SE55xZodWc9.vAKLJs6.
修改配置文件中的密码
[root@cobbler ~]# vim /etc/cobbler/settings
default_password_crypted: "$1$cobbler$M6SE55xZodWc9.vAKLJs6."
重启cobbler服务并检查(第一条提示,debian系统这里测试不做安装)
[root@cobbler ~]# systemctl restart cobblerd.service
[root@cobbler ~]# cobbler check
安装fence-agents
[root@cobbler ~]# yum install -y fence-agents
5.kickstart自动安装linux,配置dhcp,tftp
[root@cobbler ~]# vim /etc/cobbler/settings
manage_dhcp: 1
[root@cobbler ~]# systemctl restart cobblerd.service
[root@cobbler ~]# cobbler check
- 安装dhcp并配置
[root@cobbler ~]# yum install -y dhcp
[root@cobbler ~]# vim /etc/cobbler/dhcp.template
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.254;
option domain-name-servers 10.0.0.254;
option subnet-mask 255.255.255.0;
range dynamic-bootp 10.0.0.100 10.0.0.254;
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
:21,26s#192.168.1#10.0.0#gc
y确认
执行这条命令(做硬链接)
[root@cobbler ~]# cobbler sync
服务自启动:
systemctl enable httpd
systemctl enable xinetd
systemctl enable rsyncd
systemctl enable tftp
systemctl enable cobblerd
启动服务:
systemctl restart httpd
systemctl restart xinetd
systemctl restart tftp
systemctl restart cobblerd
- 下载软件,不然可能会报错(保证良好的网络环境)
Cobbler 登录web界面提示报错“Internal Server Error”的原因
yum install -y python2-pip
pip install Django==1.8.9
pip install --upgrade pip
8.浏览器访问cobbler页面
https://10.0.0.100/cobbler_web
账号密码都为 cobbler
- 上传镜像
[root@cobbler srv]# ll -h
total 4.3G
-rw-r--r-- 1 root root 4.3G Sep 4 21:00 CentOS-7-x86_64-DVD-1810.iso
11.将镜像挂载
[root@cobbler srv]# mount -o loop /srv/CentOS-7-x86_64-DVD-1810.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
日志
12.添加内核参数
截图中的参数为bios ,不是blos (手误请注意)
biosdevname=0 net.ifname=0
- 可以上传Ks文件到这个目录
[root@cobbler kickstarts]# cat CentOS-7-x86_64-DVD-1810.cfg
# Kickstart Configurator for cobbler by Helis_Zhangshuai
# platform=x86, AMD64, or Intel EM64T
# System language
lang en_US
# System keyboard
keyboard us
# System timezone
timezone Asia/Shanghai
#Root password
rootpw --iscrypted $default_password_crypted
# Use text mode install
text
# Install OS instead of upgrade
install
# Use network installation media
url --url=$tree
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype xfs --size 200 --ondisk sda
part swap --size 1024 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
# System authorization information
auth --useshadow --enablemd5
# Network information
$SNIPPET('network_config')
# network --bootproto=dhcp --device=eml --onboot=on
# Reboot after installation
reboot
# Firewall configuration
firewall --disabled
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
#Package install information
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
%packages
@ base
@ core
lrzsz
wget
ntp
rsync
unzip
iotop
sysstat
net-tools
tree
vim
bash-completion
nc
nmap
telnet
bc
lsof
ncurses-devel
openssl-devel
zlib-devel
OpenIPMI-tools
screen
iptraf
python-devel
%end
%post
systemctl disable postfix.service
%end
- 仓库
做一个zabbix3.0的仓库
https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/
同步一下
-
添加创建的仓库
-
Systems配置
请去命令行执行这条命令
[root@cobbler kickstarts]# cobbler system add --name=linux-node --mac=00:50:56:29:1B:80 --profile=CentOS-7-x86_64-DVD-1810 --ip-address=10.0.0.101 --subnet=255.255.255.0 --gateway=10.0.0.254 --interface=eth0 --static=1 --hostname="10.0.0.254" --name-servers="114.114.114.114" --kickstart=/var/lib/cobbler/kickstarts/CentOS-7-x86_64-DVD-1810.cfg
生成mac地址的方法
修改后点击save保存
- 创建一台新虚拟机,删除掉磁盘