首页 > 其他分享 >cobbler自动安装系统

cobbler自动安装系统

时间:2023-09-28 12:35:33浏览次数:35  
标签:-- root etc 自动 cobbler 安装 localhost


目录

一、cobbler

1.介绍

2.cobbler配置文件详解

3.cobbler服务端部署

4.新建虚拟机,内存最低2G起步,不选镜像,开机安装


一、cobbler

1.介绍

Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。

使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、TFTP、RSYNC以及yum仓库、构造系统ISO镜像。 Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用,Cobbler客户端Koan支持虚拟机安装和操作系统重新安装
cobbler可以干什么

服务器上架后,可以手动选择需要安装的系统(如:Centos6.1 或 Centos 7.9)
服务器上架后,能够根据需求,安装配置操作系统(如:修改IP地址、主机名、选择安装包)
系统安装后,可以自定义的执行脚本,完成系统基础软件初始化(如:Zabbix安装配置、SaltStack安装配置)
可以当内部YUM源,并在系统安装时进行初始化
可以重装系统
Cobbler支持API,可以无缝融合到自建运维平台中
Cobbler支持网卡的路由配置、DNS配置、bonding
cobbler基础原理
 

2.cobbler配置文件详解

cobbler配置文件目录在/etc/cobbler

配置文件                    作用
/etc/cobbler/settings    cobbler 主配置文件
/etc/cobbler/iso/    iso模板配置文件
/etc/cobbler/pxe    pxe模板配置文件
/etc/cobbler/power    电源配置文件
/etc/cobbler/user.conf    web服务授权配置文件
/etc/cobbler/users.digest    web访问的用户名密码配置文件
/etc/cobbler/dhcp.template    dhcp服务器的的配置模板
/etc/cobbler/dnsmasq.template    dns服务器的配置模板
/etc/cobbler/tftpd.template    tftp服务的配置模板
/etc/cobbler/modules.conf    模块的配置文件

cobbler数据目录

目录                                    作用
/var/lib/cobbler/config/    用于存放distros,system,profiles等信息配置文件
/var/lib/cobbler/triggers/    用于存放用户定义的cobbler命令
/var/lib/cobbler/kickstart/    默认存放kickstart文件
/var/lib/cobbler/loaders/    存放各种引导程序以及镜像目录
/var/www/cobbler/ks_mirror/    导入的发行版系统的所有数据
/var/www/cobbler/images/    导入发行版的kernel和initrd镜像用于远程网络启动
/var/www/cobbler/repo_mirror/    yum仓库存储目录

cobbler日志文件

日志文件路径                                          说明

/var/log/cobbler/installing                        客户端安装日志

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

cobbler命令详解

cobbler check       //核对当前设置是否有问题
cobbler list        //列出所有的cobbler元素
cobbler report      //列出元素的详细信息
cobbler sync        //同步配置到数据目录,更改配置最好都要执行下
cobbler reposync    //同步yum仓库
cobbler distro      //查看导入的发行版系统信息
cobbler system      //查看添加的系统信息
cobbler profile     //查看配置信息

3.cobbler服务端部署

#将 SELINUX=enforcing 替换为SELINUX=disabled
sed -i "s|SELINUX=enforcing|SELINUX=disabled|" /etc/selinux/config

# CentOS 7	开机不自动启动防火墙
systemctl disable firewalld.service
systemctl status firewalld.service

# 关闭防火墙
systemctl stop firewalld.service
setenforce 0

#安装eple源和cobbler相关的软件
yum -y install epel-release
yum -y install httpd dhcp-* tftp xinetd pykickstart
#开启cobbler源,然后再继续安装软件包
yum -y install module enable cobbler
yum  -y install cobbler cobbler-web
#启动HTTP的和cobblerd并设置开机自启
systemctl enable --now httpd

systemctl enable --now cobblerd

ss -antl
#更改配置文件中的IP地址,改成本机的IP地址
cd /etc/cobbler/
vim settings 
server: 192.168.200.10
next_server: 192.168.200.10


#生成一个加密的密码,写入到配置文件中/etc/cobbler/settings
openssl passwd -1


Password: 
Verifying - Password: 
$1$kfUJPjq7$QRlk1RDtp5AN4LZS/LUi9.


vim settings 
default_password_crypted: "$1$kfUJPjq7$QRlk1RDtp5AN4LZS/LUi9."
#启动rsync并设置开机自启
systemctl enable --now rsyncd


#重启cobbler然后配置tftp
[root@localhost cobbler]# vim /etc/xinetd.d/tftp 
service tftp
{       
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
//执行检查环境命令
[root@localhost loaders]# cobbler check
The following are potential configuration items that you may want to fix:

1 : 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.
2 : debmirror package is not installed, it will be required to manage debian deployments and repositories
3 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run 'cobbler sync' to apply changes.
//解决办法
[root@localhost loaders]# cd /var/lib/cobbler/loaders/
[root@localhost loaders]# yum -y install syslinux
[root@localhost loaders]# cp /usr/share/syslinux/pxelinux.0 .
[root@localhost loaders]# cp /usr/share/syslinux/menu.c32 .
[root@localhost loaders]# yum -y install fence-agents
//重启并同步一下
[root@localhost loaders]# systemctl restart cobblerd.service
[root@localhost loaders]# cobbler sync
//打开DHCP功能,并配置DHCP模板文件
[root@localhost loaders]# cd /etc/cobbler/
[root@localhost cobbler]# vim settings 
manage_dhcp: 1
[root@localhost cobbler]# vim dhcp.template 
subnet 192.168.200.0 netmask 255.255.255.0 {
     option routers             192.168.200.10;
     option domain-name-servers 114.114.114.114;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.200.100 192.168.200.254;
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;
//重启并同步一下
[root@localhost cobbler]# systemctl restart cobblerd.service
[root@localhost cobbler]# cobbler sync


//查看DHCP是以打开
[root@localhost cobbler]# ss -anulp|grep dhcp
UNCONN     0      0            *:67                       *:*                   users:(("dhcpd",pid=13753,fd=7))
#挂载光盘
mount /dev/cdrom /mnt/



#导入镜像,会把镜像导入到/var/www/cobbler中。
cobbler import --path=/mnt --name=centos-7 --arch=x86_64

cobbler list

#配置文件位置,里面是镜像文件内容
ll /var/www/cobbler/ks_mirror/centos-7-x86_64/

#创建kickstarts自动安装脚本
这个脚本是系统安装时的操作,也就是装系统的时候让你设置的时区、密码、最小化等等。这里写成了一个脚本

vim /var/lib/cobbler/kickstarts/centos-7-x86_64.ks

lang en_US
keyboard us
timezone Asia/Shanghai
rootpw --iscrypted $default_password_crypted
text
install
url --url=$tree
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype xfs --size 1024 --ondisk sda
part swap --size 16384 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
auth --useshadow --enablemd5
$SNIPPET('netowork config')
network --bootproto=dhcp --device=ens33 --onboot=on
reboot
firewall --disabled
selinux --disabled
skipx
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
$SNIPPET('pre_anamon')
%end
%packages
@base
@core
sysstat
iptraf
ntp
lrzsz
ncurses-devel
openssl-devel
zlib-devel
OpenIPMI-tools
mysql
nmap
screen
%end
%post #安装后执行操作,可以执行脚本也可以直接执行命令。
systemctl disable postfix.service
$yum_config_stanza
%end

#脚本说明

# Cobbler for Kickstart Configurator for CentOS 7 by clsn
Install                 #安装系统
url --url=$tree      #url 地址为 Cobbler 内置变量
text                    #文本方式安装,修改为图形界面则为 Graphical
lang en_US.UTF-8 #语言
keyboard us         #键盘
zerombr              #该参数用于清除引导信息,需要让其生效可以在参数后添加 yes 即可。可选项,一般不用。
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
#指定引导装载程序怎样被安装.对于安装和升级,这个选项都是必需的.
#Network information
$SNIPPET('network_config') #该参数表示使用下方%pre 中的脚本来配置网络,相关脚本存放于/var/lib/cobbler/snippets
#如果不需要脚本配置可启用以下配置
#network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6
--hostname=CentOS7
timezone --utc Asia/Shanghai #时区
authconfig --enableshadow --passalgo=sha512 #加密 shadow
rootpw --iscrypted $default_password_crypted #设置 root 密码
clearpart --all --initlabel #--all 初除所有分区,后者将磁盘标签初始化为缺省值设置。
part /boot --fstype xfs --size 1024 #boot分区大小
part swap --size 1024 #swap分区大小
part / --fstype xfs --size 1 --grow #根分区大小
firstboot --disable #决定是否在系统第一次引导时启动"设置代理”,禁用。
selinux --disabled #在系统里设置 SELinux 状态
firewall --disabled #在系统狸设置而防火墙状态
logging --level=info #这个命令控制安装过程中anaconda的错误日志,它对安装好的系统没有影响。
reboot #安装后重启
%pre #pre 中定了前面使用的具体脚本名称。
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
%packages #自定义安装内容,这里可以可以自行生成 ks 文件然后把对应的配置复制到这里。当前配置为最小化安装,以及安装系统常用工具。
@additional-devel
@development
@platform-devel
bash-completion
chrony
dos2unix
kexec-tools
lrzsz
sysstat
tree
vim
wget
git
net-tools
%end
%post #安装后执行操作,可以执行脚本也可以直接执行命令。
systemctl disable postfix.service
%end
-----------------------------------
#查看当前cobbler有哪些配置文件
cobbler profile list

#同步cobbler
cobbler sync


#重启所有服务
systemctl restart xinetd cobblerd httpd

ss -antl
//同步cobbler
[root@localhost kickstarts]# cobbler sync

4.新建虚拟机,内存最低2G起步,不选镜像,开机安装

网络模式要和 Cobbler 服务端的网络模式一致

cobbler自动安装系统_服务器

标签:--,root,etc,自动,cobbler,安装,localhost
From: https://blog.51cto.com/dxbp/7638038

相关文章

  • helm安装 ingress-nginx
    目录1.下载ingress-nginx-4.2.5.tgz2.解压,修改文件3.安装ingress4.测试网页5.windows测试helm3安装1.下载ingress-nginx-4.2.5.tgzhelmfetchingress-nginx/ingress-nginx--version4.2.5#或者curl-LOhttps://github.com/kubernetes/ingress-nginx/releases/download/helm-c......
  • 虚拟机安装VMwares Tools
    目录一.windows系统二.Linux系统一.windows系统1.Windows操作系统安装完成后,VMwarevSphere控制台会提示“该虚拟机上未安装VMwareTools”2.鼠标右击虚拟机,选择客户机操作系统,选择安装VMwareTools3.显示安装VMwareTools对话框,选择挂载,虚拟机的CD/DVD驱动器上会挂VMwareTools......
  • 安装nginx,php8,nfs,oralce19c客户端
    目录一.安装nginx二.安装php1.安装php8插件2.安装下载php8三.安装nfs四.安装19C客户端a.安装oracle19c客户端b.php连接oracle19c数据库五.nginx跳转php乱码六.php问题1.session获取不到2.设置php报错级别提示error_reporting一.安装nginx下载nginx地址tar-xfnginx-1.23.1.tar.......
  • helm3安装部署三、执行helm警告kube/config文件不安全问题
    目录一、安装篇二、配置仓库篇三、执行helm警告kube/config文件不安全问题四、helm自动补全命令五、安装、卸载软件HELM是k8的包管理工具,像linux系统的包管理器,如yum,apt等,很方便的把yaml文件部署到k8s上面!一、安装篇1.helm包下载地址:wgethttps://get.helm.sh/helm-v3.6.1-l......
  • 安装kubesphere3.3
    目录1.部署kubesphere时需要默认StorageClass2.下载yaml3.查看日志4.解决etcd监控证书找不到问题1.部署kubesphere时需要默认StorageClasskubectleditscnfs-boge metadata:   annotations:     storageclass.beta.kubernetes.io/is-default-class:"true"2.下载......
  • 结对项目:用python实现一个自动生成小学四则运算题目的命令行程序
    这个作业属于哪个课程计科21级12班这个作业的要求在哪里结对项目这个作业的目标了解结对项目的过程团队成员信息姓名学号肖兴明3121004712徐强3121004713Github链接GithubPSPPSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实......
  • C# 打包文件,制作EXE安装文件
    1新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定。2安装向导关闭后打开安装向导,点击下一步,或者直接点击完成。3开始制作安装向导完成后即可进入项目文件夹:双击"应用程序文件夹"在右边的空白处右击,选择添加->文件......
  • 使用VS.NET来制作安装程序
    本文内容1.使用VS.NET来制作安装程序。2.如何把.NETFramework部署到目标机器。3.如何使用Native代码把.NETFramework和自己的安装程序制作为一个统一的安装程序。该程序做到如果目标机器上没有.NETFramework,将自动安装.NETFramework然后再自动安装作者自己的程序。----------......
  • 结对项目:自动生成小学四则运算题目
    软件工程https://edu.cnblogs.com/campus/gdgy/CSGrade21-12?filter=all作业要求https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13016作业目标学习算法,完成简单的四则运算团队成员:姓名:陈鑫杰学号:3121004688姓名:黄嘉俊学号:3121004696Git链接:h......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-17-处理鼠标悬停
    1.简介有些测试场景或者事件,playwright根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作。比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单,第二种就是在搜索输入过程,选择自动补全的字段。关......