Cobbler安装与配置

网络拓扑

系统配置


# 关闭防火墙
[root@cobblervm ~]# systemctl stop firewalld.service
[root@cobblervm ~]# systemctl disable firewalld.service
[root@cobblervm ~]# firewall-cmd --state
not running
​
# 关闭SElinux
[root@cobblervm ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@cobblervm ~]# reboot

安装cobbler


# 安装epel源
[root@cobblervm ~]# yum -y install epel-release
​
# 安装cobbler,其中没有 hcdp 服务,我的 dcph 是放在网关上的。
[root@cobblervm ~]# yum install -y cobbler cobbler-web tftp xinetd cman pykickstart debmirror syslinux net-tools
​
# 安装cobbler依赖的包
[root@cobblervm ~]# yum install -y ed patch perl perl-Compress-Zlib perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perl fence-agents
​
# 设置开机启动
[root@cobblervm ~]# systemctl enable httpd.service
[root@cobblervm ~]# systemctl enable xinetd.service
[root@cobblervm ~]# systemctl enable cobblerd.service
​
# 查看服务状态
[root@cobblervm ~]# systemctl list-unit-files | grep -E "httpd|xinetd|cobblerd"
cobblerd.service                            enabled
httpd.service                               enabled
xinetd.service                              enabled

配置服务器


# 配置 web
[root@cobblervm ~]# sed -i 's/#ServerName www.example.com:80/ServerName 127.0.0.1:80/' /etc/httpd/conf/httpd.conf
[root@cobblervm ~]# systemctl restart httpd.service
​
# 配置 cobbler
[root@cobblervm ~]# sed -i 's/server: 127.0.0.1/server: 192.168.1.254/g' /etc/cobbler/settings
​
# cobbler 修改密码
[root@cobblervm ~]# openssl passwd -1 -salt 'root' '123456'
$1$root$8e67rDXAsnndS790noSQV0 # 生成的密码
[root@cobblervm ~]# vim /etc/cobbler/settings
......
default_password_crypted: "$1$root$8e67rDXAsnndS790noSQV0"  <== 用上面生成的密码替换此处的默认密码
......
​
# cobbler 默认不允许任何人登录,手动添加登录用户(添加admin)
[root@cobblervm ~]# useradd admin
[root@cobblervm ~]# passwd admin
[root@cobblervm ~]# sed -i 's/admin = ""/admin = "admin"/' /etc/cobbler/users.conf
[root@cobblervm ~]# sed -i 's/module = authn_configfile/module = authn_pam/' /etc/cobbler/modules.conf
​
# 配置 xinetd
[root@cobblervm ~]# sed -i '14s/yes/no/' /etc/xinetd.d/tftp
[root@cobblervm ~]# systemctl restart  xinetd.service
[root@cobblervm ~]# systemctl restart rsyncd.service
[root@cobblervm ~]# systemctl enable rsyncd.service
​
# 配置 pxe
[root@cobblervm ~]# sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings
[root@cobblervm ~]# sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings
​
# 重启服务
[root@cobblervm ~]# systemctl restart cobblerd.service
[root@cobblervm ~]# systemctl restart xinetd.service
[root@cobblervm ~]# cobbler sync
​
# 对于防火墙如果不想关闭的话可以如下设置
[root@cobblervm ~]# firewall-cmd --permanent --add-port=67/udp
[root@cobblervm ~]# firewall-cmd --permanent --add-port=68/udp
[root@cobblervm ~]# firewall-cmd --permanent --add-port=80/tcp
[root@cobblervm ~]# firewall-cmd --permanent --add-port=443/tcp
[root@cobblervm ~]# firewall-cmd --reload
[root@cobblervm ~]# firewall-cmd --permanent --list-ports
​
# 另外对于 dhcp 服务器的配置要求如下
[root@dhcpvm ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
ddns-update-style interim;allow booting;
allow bootp;ignore client-updates;
set vendorclass = option vendor-class-identifier;
​
subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.2 192.168.1.253;    option broadcast-address 192.168.1.255;    option routers 192.168.1.1;    option domain-name-servers 159.226.39.1;    option netbios-name-servers 192.168.1.1;    option domain-name lan;    filename "/pxelinux.0";default-lease-time 21600;max-lease-time 43200;next-server 192.168.1.254;      <== pxe 启动的服务器地址,也就是 cobbler 地址
}
host tftp_server {hardware ethernet 52:54:00:fc:15:5f;    fixed-address 192.168.1.254;    <== 给 cobbler 服务器分配固定地址
}

登录 cobbler

用浏览器访问网址 https://xxx.xxx.xxx.xxx:/cobbler_web

系统镜像安装到 cobbler 服务器上


# 上传系统安装镜像文件CentOS-7-x86_64-DVD-1511.iso 到/usr/local/src/目录(拿U盘考,用Xftp工具上传都行)
[root@cobblervm ~]# mkdir -p /var/www/html/os/CentOS-7-x86_64      <==创建挂载目录
​
# 挂载系统镜像
[root@cobblervm ~]# mount -t iso9660 -o loop /usr/local/src/CentOS-7-x86_64-DVD-1511.iso  /var/www/html/os/CentOS-7-x86_64
​
# 添加以下代码,实现开机自动挂载
[root@cobblervm ~]# vim /etc/fstab
/usr/local/src/CentOS-7-x86_64-DVD-1511.iso /var/www/html/os/CentOS-7-x86_64 iso9660 defaults,ro,loop 0 0

编写安装配置脚本

可以用专用编辑器生成,推荐一款 linux 下的 system-config-kickstart 工具


# 给个样本,不一定能安装成功,这个文件可以在 cobbler_web 界面的 Kickstart Templates 中看到
[root@cobblervm ~]# vim /var/lib/cobbler/kickstarts/CentOS7.ks
install
lang zh_CN.UTF-8
keyboard us
timezone Asia/Shanghai
auth --useshadow --enablemd5
selinux --disabled
firewall --disabled
services --enabled=NetworkManager,sshd
eula --agreed
ignoredisk --only-use=sda
rebootbootloader --location=mbr
zerombr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=200
part pv.01 --size=1 --grow
volgroup rootvg pv.01
logvol / --fstype xfs --name=lv01 --vgname=rootvg --size=10240
logvol /data --fstype xfs --name=lv02 --vgname=rootvg --size=1 --grow
​
rootpw --iscrypted $default_password_cryptedrepo --name=base --baseurl=http://192.168.17.181/cobbler/ks_mirror/CentOS-7-x86_64/
url --url=http://192.168.17.181/cobbler/ks_mirror/CentOS-7-x86_64/%packages --ignoremissing
@base
@core
@chinese-support
ntp
net-tools
%end%post
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
echo "0 1 * * * /usr/sbin/ntpdate 202.120.2.101;hwclock -w;" >>/var/spool/cron/root
/usr/sbin/ntpdate 202.120.2.101 >/dev/null 2>&1
cd /root
wget http://192.168.17.181/cobbler/ks_mirror/config/autoip7.sh
sh /root/autoip7.sh
%end

导入系统镜像,要等一会


[root@cobblervm ~]# cobbler import --path=/var/www/html/os/CentOS-7-x86_64/  --name=CentOS-7-x86_64  --arch=x86_64[root@cobblervm ~]# cobbler import --path=/var/www/html/os/CentOS-7-x86_64/  --name=CentOS-7-x86_64  --arch=x86_64

修改配置文件

单击 web 界面的 Profile 文件并编辑刚刚生成的配置文件。

然后将 Kickstart 改成自己编辑的 kickstart 脚本

设置 pxe 启动配置


[root@cobblervm ~]# cat /etc/cobbler/pxe/pxedefault.template
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://cobbler.github.io/
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT CentOS-7-x86_64 <== 改成上面导入镜像使设置的 CentOS-7-x86_64,意思是超时自动引导pxe启动
​
LABEL localMENU LABEL (local)MENU DEFAULTLOCALBOOT -1
​
$pxe_menu_items
​
MENU end
​
# 查看是否修改成功
[root@cobblervm ~]# cat /var/lib/tftpboot/pxelinux.cfg/default

最后启动安装 pxe 启动的虚拟机。


# 创建虚拟机
[root@h96 ~]# virt-install --virt-type kvm --name 虚拟机名 --ram 内存 --pxe  --vcpus=1  --disk path=磁盘 --network bridge=br0,model=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole
# 用 virt-manager 查看自动安装的情况

如图所示

CentOS7 cobbler 配置,实现用 pxe 启动安装 kvm 虚拟机相关推荐

  1. Centos7.4安装kvm虚拟机(使用virt-manager管理)

    2019独角兽企业重金招聘Python工程师标准>>> Centos7.4安装kvm虚拟机(使用virt-manager管理) 之前介绍了使用WebVirtMgr或Openstack ...

  2. VMware Workstation 16 Pro启动安装win10 虚拟机蓝屏

    @VMware Workstation 16 Pro启动安装win10 虚拟机蓝屏 1,我的主板是微星B550M,CPU是AMD R7-5800X,虚拟机平台是VMware Workstation 1 ...

  3. openstack的qcow2镜像制作、linux系统中安装kvm虚拟机并导出为qcow2虚拟机、virt-manager制作qocw2镜像和转为raw格式——2.6w字超详细说明所有流程。

    文章目录 说明 环境准备 虚拟机中安装kvm虚拟机 1.确保支持cpu虚拟化 2.安装qemu-kvm.libvirt.virt-install包和权限调整 3.开启libvirtd服务病开机自启 4 ...

  4. dell kvm java 会话报错_生产环境下戴尔 R820 kvm虚拟化部署三(virt-manager图形化安装kvm虚拟机)...

    三.kvm虚拟化部署 #安装kvm软件包 yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qem ...

  5. Centos 5.8 安装KVM虚拟机学习笔记

    KVM虚拟机简介      KVM(Kernel-based Virtual Machine)的简称,是一个开源的全虚拟化的解决方案.自从Linux2.6.20之后集成在Linux的各个发行版中,KV ...

  6. 安装kvm虚拟机报错,could not open disk ,imagePermission denied的解决

          安装kvm虚拟机报错,could not open disk ,imagePermission              denied的解决 某次使用virt-install 命令安装虚拟 ...

  7. CentOS7文本模式下配置及安装KVM虚拟机

    一.准备工作:        在安装和配置kvm虚拟机之前,首先确保kvm软件已经被正确安装,如果没有安装,请参考如下几步操作:          第一步:检查CPU是否支持vmx相关指令,如果执行结 ...

  8. CentOS7安装KVM虚拟机

    检测是否支持KVM KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM.有返回结果,如果结果中 ...

  9. 虚拟机查看cpu型号_CentOS7安装KVM虚拟机

    检测是否支持KVM KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM.有返回结果,如果结果中 ...

最新文章

  1. 出身寒门,如何改变命运?
  2. 第十五届全国大学生智能车线上比赛流程规范总结
  3. 网站建设你够专业吗?——不需说,从色彩搭配就能看出来
  4. JAVA面向对象的特征
  5. js escape,unescape解决中文乱码问题的方法
  6. springsecurity-sample中hsqldb的使用注意
  7. GARFIELD@11-20-2004
  8. Java 面试题全梳理
  9. Java中文件复制的一个汇总
  10. TheadLocal的用法
  11. Win10修改EFI分区文件
  12. dos命令 启动项目
  13. 阿里云部署-liujian
  14. Ubuntu 20 安装 APR
  15. bitcoin简析一
  16. 博士入学考题(ZZ)
  17. ipad未能与itunes连接到服务器,itunes与ipad无法连接怎么办-互盾苹果恢复精灵
  18. oracle 全文检索
  19. neovim图标显示乱码,utf8字体显示乱码(Windows10和Centos安装nerd-fonts)
  20. 【笔记】编译Android版的Chrome手册

热门文章

  1. 笔记应用选择和知识管理
  2. Win10电脑如何截取网页连续长图?
  3. iPhone抓包stream
  4. 怎么用计算机远程vdi,windows8远程桌面虚拟机配置以便支持VDI用户的访问
  5. 启动金蝶显示服务器未启动失败,金蝶云平台加密服务器未启动
  6. 全公司层级化、分层扁平化_扁平化软件发布过程
  7. Python设计和实现聪明的尼姆游戏
  8. 让云朵飘,微信小程序animation循环动画
  9. 【Java web】请求转发响应重定向
  10. 循环 noip2005