Linux中详细部署Cobbler安装的服务

1.cobbler简介
Cobbler 是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装,重装物理服务和虚拟机,同时还可以管理 DHCP、DNS等。
Cobbler 可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler_web),还提供了API接口,可以方便二次开发使用。
Cobbler 是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
Cobbler 内置了一个轻量级配置管理系统,但它也支持和其他配置管理系统集成,如Puppet,暂时不支持SaltStack。



2.cobbler集成的服务:
PXE服务支持
DHCP服务管理
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
Apache(提供kickstart的安装源,并提供定制化的kickstart配置)



3.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/lib/cobbler/ks_mirror/ 导入的发行版系统的所有数据
/var/lib/cobbler/images 导入发行版的kernel和initrd镜像用于远程网络启动
/var/www/cobbler/repo_mirror/ yum仓库存储目录

cobbler日志文件

日志文件路径 说明
/var/log/cobbler/installing 客户端安装日志
/var/log/cobbler/cobbler.log cobbler日志


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



5.cobbler服务端部署(演示)

环境 ip
服务器端 192.168.209.12
 *************************服务器做以下操作**************************8
//关闭防火墙以及selinux
[[email protected] ~]# systemctl disable firewalld
[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# sed -ri ‘s/^(SELINUX=).*/\1disabled/g‘ /etc/sysconfig/selinux
[[email protected] ~]# setenforce 0

//配置yum 源
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# curl -o 163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
[[email protected] yum.repos.d]# sed -i ‘s/\$releasever/7/g‘ 163.repo
[[email protected] yum.repos.d]#  sed -i ‘s/^enabled=.*/enabled=1/g‘ 163.repo
[[email protected] ~]# yum install -y epel-release

//安装cobbler以及相关软件
[[email protected] ~]# yum -y install httpd dhcp tftp python-ctypes cobbler xinetd cobbler-web pykickstart 

//启动服务并设置开机自启
[[email protected] ~]# systemctl start httpd
[[email protected] ~]# systemctl enable httpd
[[email protected] ~]# systemctl start cobblerd
[[email protected] ~]# systemctl enable cobblerd

//修改server的ip地址为本机的ip
[[email protected] ~]#  sed -i ‘s/^server: 127.0.0.1/server: 172.16.12.128/‘ /etc/cobbler/settings 

//修改tftp的ip地址为本机ip
[[email protected] ~]#  sed -i ‘s/^next_server: 127.0.0.1/next_server: 172.16.1 2.128/‘ /etc/cobbler/settings 

//开启tftp
[[email protected] ~]#  sed -i ‘/disable/s/yes/no/g‘ /etc/xinetd.d/tftp 

//下载缺失文件
[[email protected] ~]# cobbler get-loaders

//启动rsync并设置开机自启
[[email protected] ~]# systemctl start rsyncd
[[email protected] ~]# systemctl enable rsyncd

//生成加密的密码
[[email protected] ~]# openssl passwd -1 -salt "$RANDOM" ‘lanzhiyong123!‘
$1$29572$Kgcy/Dq/5BIFjGXm8.Yfm/ //这是密码加密后的形式

//将生成的加密密码加入到配置文件
[[email protected] ~]# vim /etc/cobbler/settings
………………………… default_password_crypted: "$1$29572$Kgcy/Dq/5BIFjGXm8.Yfm/"

………………………………

//重启cobbler
[[email protected] ~]# systemctl restart cobblerd
[[email protected] ~]# ss -antl
State      Recv-Q Send-Q    Local Address:Port      Peer Address:Port
LISTEN     0      128                   *:22                              *:*
LISTEN     0      100           127.0.0.1:25                         *:*
LISTEN     0      5             127.0.0.1:25151                     *:*
LISTEN     0      5                     *:873                               *:*
LISTEN     0      128                  :::80                               :::*
LISTEN     0      128                  :::22                               :::*
LISTEN     0      100                 ::1:25                               :::*
LISTEN     0      128                  :::443                              :::*
LISTEN     0      5                    :::873                              :::*                

//通过cobbler check 核对当前设置是否有问题
[[email protected] ~]# cobbler check
………………这处是两个关于debian系统的错误,请忽略

//这步重启
[[email protected] ~]# reboot
关闭防火墙*******************

 //核对当前设置是否有问题
[[email protected] ~]# cobbler check

//配置cobbler dhcp 修改cobbler配置文件,让cobbler控制dhcp
[[email protected] ~]# sed -i ‘/^manage_dhcp/s/0/1/g‘ /etc/cobbler/settings
[[email protected] ~]# sed -n ‘/^manage_dhcp/p‘ /etc/cobbler/settings
manage_dhcp: 1

//配置dhcp
[[email protected] ~]# vim /etc/cobbler/dhcp.template
subnet 192.168.209.0 netmask 255.255.255.0 {
option routers             192.168.209.12;
option domain-name-servers 192.168.209.12;
option subnet-mask         255.255.255.0;
range dynamic-bootp      192.168.209.100 192.168.1.250;
default-lease-time           21600;
max-lease-time               43200;
next-server                $next_server;

//重启服务并同步配置,改完dhcp必须要sync同步配置
[[email protected] ~]# systemctl restart cobblerd
[[email protected] ~]# cobbler sync

//检查dhcp是否正常
[[email protected] ~]# netstat -anulp | grep dhcp
udp        0      0 0.0.0.0:67              0.0.0.0:*

//导入Centos7镜像
[[email protected] ~]# mount /dev/cdrom /mnt/
[[email protected] ~]# cobbler import --path=/mnt --name=Centos-7 --arch=x86_64 

//查看cobbler镜像列表
[[email protected] ~]# cobbler list

//创建kickstarts自动安装脚本
[[email protected] ~]# cat > /var/lib/cobbler/kickstarts/Centos-7-x86_64.ks <<‘EOF‘
auth --enableshadow --passalgo=sha512
bootloader --location=mbr
clearpart --all --initlabel
part /boot --asprimary --fstype="ext4" --size=500
part swap --fstype="swap" --size=4096
part / --fstype="ext4" --grow --size=15000
text
firewall --disabled
firstboot --disable
keyboard us
lang en_US
url --url=http://192.168.209.12/cobbler/ks_mirror/Centos-7- x86_64
$yum_repo_stanza
$SNIPPET(‘network_config‘)
reboot

rootpw --iscrypted $6$DEHzuoHRCJMBjzzK$DKallGno50cVbJ27yEIP5O1M4p3/rwfilgIdpKW9IU25Q4KI8tXmSPwH1JuB2UW/pk3NlayujtEZ9ckfclRM81

selinux --disabled
skipx
timezone Asia/Shanghai --isUtc --nontp
install
zerombr

%packages
@^minimal
@core
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb=‘auto‘

%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
EOF

//检查ks文件语法是否错误
[[email protected] ~]# cobbler validateks

//查看当前cobbler有哪些配置文件
[[email protected] ~]# cobbler profile list
Centos-7-x86_64

//修改profile将我们新建的ks文件设为默认的kickstarts安装文件
[[email protected] ~]# cobbler profile edit --name Centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos-7-x86_64.ks 

//配合网卡名称为传统网卡名称eth0
[[email protected] ~]# cobbler profile edit --name Centos-7-x86_64 --kopts=‘net.ifnames=0 biosdevname=0‘

//检查当前系统cobbler配置文件信息
[[email protected] ~]# cobbler profile report

//同步cobbler
[[email protected] ~]# cobbler sync

//把服务器端所有重启
[[email protected] ~]# systemctl restart xinetd//超级守护进程
[[email protected] ~]# systemctl restart cobblerd
[[email protected] ~]# systemctl restart httpd
[[email protected] ~]# ss -antl
State      Recv-Q Send-Q    Local Address:Port                   Peer Address:Port
LISTEN     0      128                   *:22                                *:*
LISTEN     0      100           127.0.0.1:25                                *:*
LISTEN     0      5             127.0.0.1:25151                             *:*
LISTEN     0      5                     *:873                               *:*
LISTEN     0      128                  :::80                               :::*
LISTEN     0      128                  :::22                               :::*
LISTEN     0      100                 ::1:25                               :::*
LISTEN     0      128                  :::443                              :::*
LISTEN     0      5                    :::873                              :::* 

 *********************************安装客户端********************
     在虚拟机新建一个虚拟机 选择Centos7 安装,其他默认
 1.不选择光盘
 2.内存建议2000MB
 3.安装客户端

原文地址:http://blog.51cto.com/13833047/2166236

时间: 2024-08-29 21:55:33

Linux中详细部署Cobbler安装的服务的相关文章

Linux中详细部署mysql主从

1.主从简介在现代企业中,数据显得尤为重要,而存储数据的数据库选择又五花八门,但无论是何种数据库,均存在着一种隐患.想几个问题:用一台数据库存放数据,若此数据库服务器挂了导致数据丢失怎么办?业务量大了,数据多了,访问的人多了,一台数据库无法保证服务质量了怎么办? 2.主从作用实时灾备,用于故障切换读写分离,提供查询服务备份,避免影响业务 3.主从形式一主一从主主复制一主多从---扩展系统读取的性能,因为读是在从库读取的多主一从---5.7版本开始支持联级复制 4.主从复制原理 1.主库将所有的写

SPARK在linux中的部署,以及SPARK中聚类算法的使用

目前,SPARK在大数据处理领域十分流行.尤其是对于大规模数据集上的机器学习算法,SPARK更具有优势.一下初步介绍SPARK在linux中的部署与使用,以及其中聚类算法的实现. 在官网http://spark.apache.org/上直接下载编译好的tar安装包可以加快部署速度. spark的运行依赖于scala2.10.4,注意此版本一定要正确,否则spark不能正确运行. 1.scala的安装很简单,在官网http://www.scala-lang.org上下载安装包,解压到任意路径后,在

Linux 中如何卸载已安装的软件(转载)

Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在 Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现.与其相类似,在Linux下有一个功能强大的软件安装 卸载工具,名为RPM.它可以用来建立.安装.查询.更新.卸载软件.该工具是在命令行下使用的.在Shell的提示符后输入rpm,就可获得该命令的帮 助信息. 软件的安装 Linux下软件的安装主要有两种不同的形式.第一种安装文件名为xxx.tar.gz:另一种

Linux中详细搭建rsync服务

1.rsync简介 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用"rsync"算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上.如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分.rsync可以执行完整备份或增量备份.它的主要特点有: 1.可以镜像保存整个目录树和文件系统: 2.可以很

linux中查看软件文件安装路径

在linux中文件与软件一般都是安装在到/usr/share和/usr/local中了,如果我们需要查看软件安装路径linux为我们提供了查看命令,whereis 就可以帮我查找文件安装路径在哪里了. 我想查看我的oracel数据库安装在哪里 一.查看文件安装路径:这里以Oracle为例.比如说我安装了Oracle,但是不知道文件都安装在哪些地方.放在哪些文件夹里,可 以用下面的命令查看所有的文件路径 二.查询运行文件所在路径: 如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还

Linux服务器上手工编译安装WEB服务

实验 实验要求:  手工编译安装WEB服务,实现客户机访问.   由于下载的源码包在win7系统目录中,通过samba服务实现源码包共享到linux服务器:           Win7上将文件夹LAMP共享,在linux服务器上通过smbclient访问: 创建名为lamp目录,通过RPM方式安装命令cifs,实现共享目录挂载: 使用mount命令挂载并进入目录lamp查看: 将httpd的tar包解压缩到指定目录/opt目录下: 为了降低并发连接数,将apr的tar包同样解压缩到指定目录/o

Linux中详细搭建lamp架构

1.LAMP架构介绍 LAMP是Linux+Apache(httpd)+MySQL+PHP的简写,即把Apache.MySQL以及PHP安装在linux系统上,组成一个运行环境来运行PHP脚本语言,通常是网站.比如Google.淘宝.百度.51cto博客.猿课论坛等就是用PHP语言写出来的. 2.web服务器工作流程 在说lamp架构平台的搭建前,我们先来了解下什么的CGI,什么是FastCGI,什么是 web服务器的资源分为两种,静态资源和动态资源.静态资源就是指静态内容,客户端从服务器获得的

linux中系统的软件安装 yum/rpm

1.yum介绍Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装.2.yum 命令的详细用法yum install httpd -y 安装httpd服务 加-y 是不需要交互式安装 直接安装不加则会问你需不需要安装 然后确认yyum remove htt

Linux中通过ssh将客户端与服务端的远程连接

前提需要:1.在VMware中装上两台linux虚拟机,本博客使用的都是CentOS 7.2.两部虚拟机可以通过命令ping通.3.两部虚拟机中已经通过yum本地仓库安装了sshd服务. 首先  1.执行命令 :yum install sshd 安装sshd服务         2.启动sshd服务 命令:systemctl start sshd         3.查看是否有22号端口因为以后要用到  命令:netstat -an|more 再来介绍一下我使用的虚拟机以及所配置的IP1. hb