基础环境:centos7.2

本地IP地址:192.168.56.12

网络环境:桥接模式


一、安装cobbler
# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
# ll /etc/yum.repos.d/
-rw-r--r-- 1 root root 957 Mar 31 12:05 epel.repo
yum安装所需服务
# yum install -y httpd dhcp tftp cobbler cobbler-web pykickstart xinetd
二、修改settings文件

● 生产一个随机密码,这个用来作为新装机器的root登录密码
# openssl passwd -1 -salt 'salt' 'wurui321'
$1$salt$TorSa7kl86QCOPZX0FEjE1

注意: 需要复制这个到cobbler的setting里面
● 修改配置文件,有几个地方需要修改
# vim /etc/cobbler/settings
101gg切换到这行:上面随机生成的密码
101 default_password_crypted: "$1$salt$TorSa7kl86QCOPZX0FEjE1"
242gg :让cobbler来管理DHCP,默认是0关闭的
242 manage_dhcp: 1
272gg:设置TFTP地址
272 next_server: 192.168.56.12
384gg:设置cobbler地址
384 server: 192.168.56.12

● 修改DHCP分配IP文件
# vim /etc/cobbler/dhcp.template
subnet 192.168.56.0 netmask 255.255.255.0 {
option routers 192.168.56.2;
option domain-name-servers 192.168.56.2;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.56.100 192.168.56.254;

● 修改/etc/xinetd.d/tftp将disable 改为no
# vim /etc/xinetd.d/tftp
disable = no

三、启动服务
● 启动cobbler服务
# systemctl start cobblerd.service
# systemctl enable cobblerd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/cobblerd.service to /usr/lib/systemd/system/cobblerd.service.
# systemctl status cobblerd.service

● 启动HTTP服务
# systemctl start httpd
# systemctl enable httpd

● 启动xinetd服务
# systemctl start xinetd
# systemctl enable xinetd

● 启动rsyncd服务
# systemctl start rsyncd
# systemctl enable rsyncd

● 从官网下载bootloader
cobbler get-loaders

● 检查是否都完成
# cobbler check
The following are potential configuration items that you may want to fix:
1 : debmirror package is not installed, it will be required to manage debian deployments and repositories
2 : 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.

# cobbler sync

四、导入镜像和文件
首先,挂载光盘,加入镜像,我这里会加入一个CentOS6和CentOS7的镜像, 如下图:

● 挂载CentOS7的系统镜像
[root@linux-node2 ~]# mount /dev/cdrom /mnt

● 导入镜像 >首先,查看帮助
# cobbler import -h
Usage: cobbler [options]
Options:
-h, --help show this help message and exit
--arch=ARCH OS architecture being imported 指定安装源是多少位
--breed=BREED the breed being imported
--os-version=OS_VERSION
the version being imported
--path=PATH local path or rsync location 镜像路径
--name=NAME name, ex 'RHEL-5' 为安装源定义一个名字
--available-as=AVAILABLE_AS
tree is here, don't mirror
--kickstart=KICKSTART_FILE
assign this kickstart file
--rsync-flags=RSYNC_FLAGS
pass additional flags to rsync

注意:安装源的唯一标识就是根据name参数来定义的。 我们来导入7的镜像。
# cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
task started: 2016-05-28_163256_import
task started (id=Media import, time=Sat May 28 16:32:56 2016)
Found a candidate signature: breed=redhat, version=rhel6
Found a candidate signature: breed=redhat, version=rhel7
Found a matching signature: breed=redhat, version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/CentOS-7-x86_64:
skipping import, as distro name already exists: CentOS-7-x86_64
No distros imported, bailing out
!!! TASK FAILED !!!

提示已经存在,这是正常的,因为存在就回报错,不信我们查看镜像.
#cobbler profile list
CentOS-7-x86_64

● 接着我们导入6的镜像,首先卸载,然后导入,查看
# umount /mnt
# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
cobbler import --path=/mnt/ --name=CentOS-6-x86_64 --arch=x86_64
# cobbler profile list
CentOS-6-x86_64
CentOS-7-x86_64

● 导入cfg文件 >进入cobbler的ks..cfg文件的存放位置
# cd /var/lib/cobbler/kickstarts/

上传cfg文件,6跟7的.(见附录1,2)
[root@linux-node2 kickstarts]# ll
total 60
-rw-r--r-- 1 root root 3704 May 28 11:59 CentOS-6-x86_64.cfg
-rw-r--r-- 1 root root 1355 May 28 11:58 CentOS-7-x86_64.cfg

# cobbler profile report
Name : CentOS-7-x86_64
TFTP Boot Files : {}
Comment :
DHCP Tag : default
Distribution : CentOS-7-x86_64
Enable gPXE? : 0
Enable PXE Menu? : 1
Fetchable Files : {}
Kernel Options : {}
Kernel Options (Post Install) : {}
Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks
Name : CentOS-6-x86_64
TFTP Boot Files : {}
Comment :
DHCP Tag : default
Distribution : CentOS-6-x86_64
Enable gPXE? : 0
Enable PXE Menu? : 1
Fetchable Files : {}
Kernel Options : {}
Kernel Options (Post Install) : {}
Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks

上面的2个kickstart是需要修改的,修改为我们上传的ks文件名,还有就是CentOS7的网卡信息也需要修改为eth0,操作如下:
# cobbler profile edit --name=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
# cobbler profile edit --name=CentOS-6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6-x86_64.cfg
# cobbler profile edit --name=CentOS-7-x86_64 --kopts='net.ifnames=0 biosdevname=0'

五、安装操作

在vmware中配置一台虚拟服务器,给40G的硬盘就OK,cpu4核使得安装快一点。
以下是进入PXE网卡启动界面:(DELL R730服务器需要按F12进入PXE启动)

 
有时候会出现TFTP超时的问题,但是还是会提示这个错误解决办法: 重启xinetd服务即可。
# systemctl restart xinetd
遇到过一次PXE-E51 “No DHCP or DHCP Proxy Offers received” error 重启DHCP服务即可
systemctl restart dhcpd

选择一个系统进行安装。

关于系统的重装问题(这里的操作在需要重新装机的服务器中进行操作)

第一:安装epel源
rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

第二:安装软件
yum install koan -y

出现下面报错
# yum install koan -y
Loaded plugins: fastestmirror, security
Setting up Install Process
base | 3.7 kB 00:00
base/primary_db | 4.7 MB 00:07
epel/metalink | 5.4 kB 00:00
epel | 4.3 kB 00:00
epel/primary_db | 4.1 MB 00:06
Error: xz compression not available

原因就是我系统是6的系统,安装了7的epel源,解决办法就是卸载这个7的epel源,然后重新安装6的epel源
# yum remove epel-release
rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm

安装服务 故障依旧,原因就是缓存没有清除。
# rm -rf /var/cache/yum/x86_64/6/epel/
再次执行
yum install koan -y

查看cobbler端可用镜像
# koan -s 192.168.56.12 -l profiles
- looking for Cobbler at http://192.168.56.12:80/cobbler_api
CentOS-7-x86_64
CentOS-6-x86_64

重新安装为7的系统
koan -r -s 192.168.56.12 -p CentOS-7-x86_64
重启系统
reboot

使用cobbler同步openstack源
首先上地址:http://mirrors.aliyun.com/centos/7.2.1511/cloud/x86_64/openstack-mitaka/ 这个为openstack需要使用到的源,我们用cobbler来同步,这样创建的虚拟机默认就有了源,就不需要自己一个一个安装了。
执行下面操作:
#添加repo
cobbler repo add --name=openstack-mitaka --mirror=http://mirrors.aliyun.com/centos/7.2.1511/cloud/x86_64/openstack-mitaka/ --arch=x86_64 --breed=yum
#同步repo
cobbler reposync
时间有点长,耐心等待
#添加repo到CentOS7的profile文件

cobbler profile edit --name=CentOS-7-x86_64 --repos="openstack-mitaka"
#修改ks.cfg文件
在结尾添加,红色字体即可。
%post
systemctl disable postfix.service

$yum_config_stanza
%end
#加入到定时任务,每天同步
[root@linux-node2 kickstarts]# crontab -l
#add by jwurui321 at 2016-5-29
0 0 * * * /usr/bin/cobbler reposync

同步完镜像的文件在这里
[root@linux-node2 repo_mirror]# pwd
/var/www/cobbler/repo_mirror
[root@linux-node2 repo_mirror]# ls
openstack-mitaka
[root@linux-node2 repo_mirror]# du -sh
502M .

新开一台虚拟机,安装以后再次查看其源,如下所示: 有了源cobbler-config.repo,这样可以直接安装openstack了
[root@bogon yum.repos.d]# cd /etc/yum.repos.d/
[root@bogon yum.repos.d]# more cobbler-config.repo
[core-0]
name=core-0
baseurl=http://192.168.56.12/cobbler/ks_mirror/CentOS-7-x86_64
enabled=1
gpgcheck=0
priority=1
[openstack-mitaka]
name=openstack-mitaka
baseurl=http://192.168.56.12/cobbler/repo_mirror/openstack-mitaka
enabled=1
priority=99
gpgcheck=0


附录1:centos6.5的ks.cfg文件

install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $default_password_crypted
clearpart --all --initlabel
part /boot --fstype=ext4 --asprimary --size=200
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%packages
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%post
%end


附录2:centos7.2的ks.cfg文件

install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
timezone --utc Asia/Shanghai
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# Network information
$SNIPPET('network_config')
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $default_password_crypted
clearpart --all --initlabel
part /boot --fstype xfs --size 1024   # CentOS7系统磁盘默认格式xfs
part swap --size 16384
part / --fstype xfs --size 1 --grow
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
%packages
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
iptraf
ncurses-devel
openssl-devel
zlib-devel
OpenIPMI-tools
screen
%end
%post
systemctl disable postfix.service
%end

cobbler自动安装的更多相关文章

  1. cobbler自动安装系统

    一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成P ...

  2. Cobbler 自动安装CentOS7

    1. Cobbler介绍 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等.Cobbler可以使用命 ...

  3. cobbler自动安装操作系统

    cobbler介绍 快速网络安装linux操作系统的服务,支持众多的Linux发行版: Red Hat, Fedora,CentOS,Debian,Ubuntu和SuSE 也可以支持网络安装windo ...

  4. cobbler自动安装系统(Centos7.X)

    环境: [root@kickstart ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@kickstart ~]# unam ...

  5. cobbler自动安装linux

    1- cobbler简介   cobbler是一个系统启动服务boot server,可以通过pxe得方式用来快速安装.重装系统,支持安装不同linux发行版和windows.   基于python开 ...

  6. cobbler自动安装脚本

    #!/bin/sh #coding=utf8 ################################################################## #将如下IP修改成你 ...

  7. Cobbler自动安装的Linux系统ssh无法进入

    Linux ssh登陆老提示“permission denied,please try again” ,但是iptables已经关掉了 修改/etc/ssh/sshd_config文件.找如下的一句 ...

  8. cobbler无人值守自动安装

      无人值守安装(自动按定制的需求来批量安装linux系统) kickstart cobbler linux安装系统的方法: 1,光盘 把iso镜像刻录(windows下有类似nero这类软件)到光盘 ...

  9. centos7系统部署cobbler批量安装系统

    系统环境: 一.开启两个网卡.一个仅主机模式,一个桥接模式,主机模式对内提供cobbler服务 [root@localhost ~]# ip a 1: lo: <LOOPBACK,UP,LOWE ...

随机推荐

  1. HDU 6356 (线段树-l,r 之间小于val 的变val+单点求值)

    题目描述: 给你一个长度为n的最开始为0的数以及m个更新操作以及数据生成器参数X,Y,Z.每次操作,将由数据生成器生成出li,ri,vi.让你从区间[li,ri]中,将所有小于vi的数变为vi.最后让 ...

  2. UI组件化介绍

    组件化相关概念 怎么理解组件化开发 https://www.cnblogs.com/zs-note/p/7093323.html 前端组件化框架之路 https://blog.csdn.net/hap ...

  3. vue组件(持续更新)

    1.vee-validate :vue的表单验证组件 网友博客介绍:https://www.cnblogs.com/xxwang/p/6104715.html

  4. ELK 搭建实战

    一, 软件介绍 01,为什么用到ELK? 一般我们需要进行日志分析场景:直接在日志文件中 grep.awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大 如何 ...

  5. AWS and OpenStack

    AWS OpenStack EC2 Nova EBS Cinder EFS Manila S3 Swift Storage Gateway 本地上云 ClondFront 内容发布服务 VPC Neu ...

  6. 关于jqgrid的一些使用

    1.jqgrid如何切换中英文 在做电力监控系统的时候,根据项目的需要涉及到中英文的切换,一直纠结了好久没有好的办法,虽然我知道可以手动更改引入的js文件就可以更改中英文,但是动态的一直没有办法更改, ...

  7. TOJ 2861 Octal Fractions

    描述 Fractions in octal (base 8) notation can be expressed exactly in decimal notation. For example, 0 ...

  8. MySQL搭建Amoeba_读写分离

    一.背景知识 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.sql过滤.读写分离.可路由相关 ...

  9. 树莓派3(Raspbain系统)安装.net环境

    因为公司之前做的网站项目都是基于微软的.net平台,现在需要在树莓派3上测试它是否能负载起正常的访问请求.最开始直接的想到微软3月份刚发布针对于树莓派3的win10系统,其实说是win10,也就是一个 ...

  10. 使用waitfor 语句

    aitfor语句用于延迟后面语句的执行,可以指定延迟时间长度是具体的时间.参考下面的语句: waitfor delay ’00:01:15’ print N’到时间了’    --也可以不加N 字符串 ...