Cobbler环境搭建
Cobbler服务器系统: CentOS 6.6 64位
Cobbler版本: cobbler-2.6.11
IP地址:192.168.166.136
1、安装epel库
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
2、安装依赖包
yum -y install cobbler tftp tftp-server xinetd dhcp httpd rsync pykickstart debmirror python-ctypes cman
3、配置http
sed -i 's/^#ServerName www.example.com:80/ServerName 0.0.0.0:80/g' /etc/httpd/conf/httpd.conf
chkconfig httpd on
/etc/init.d/httpd start
4、配置tftp和rsync
sed -i 's/disable\t= yes/disable\t= no/g' /etc/cobbler/tftpd.template
sed -i 's/disable\t= yes/disable\t= no/g' /etc/xinetd.d/rsync
chkconfig xinetd on
/etc/init.d/xinetd start
5、配置cobbler相关参数
[root@VM_166_136 ~]#sed -i 's/^@dists/#@dists/g;s/^@arches/#@arches/g' /etc/debmirror.conf
#生成root密码的密文,cobber客户端使用,该机器也必须能使用这个密码,否则执行cobbler sync/cobbler get-loaders报登录失败
[root@VM_166_136 kickstarts]# openssl passwd -1 -salt '' ''
$1$$RmyPVMlhpXjJj8iv4w.Ul.
[root@VM_166_136 ~]#vi /etc/cobbler/settings
default_password_crypted: "$1$$RmyPVMlhpXjJj8iv4w.Ul." [root@VM_166_136 ~]#IP=$(ifconfig |grep -A 2 "eth0 " |grep 'inet addr'|awk '{print $2}'|awk -F: '{print $2}')
[root@VM_166_136 ~]#sed -i "s/^next_server.*$/next_server: $IP/g" /etc/cobbler/settings
[root@VM_166_136 ~]#sed -i "s/^server.*$/server: $IP/g" /etc/cobbler/settings
[root@VM_166_136 ~]#sed -i "s/^manage_dhcp.*$/manage_dhcp: 1/g" /etc/cobbler/settings
[root@VM_166_136 ~]#sed -i "s/^pxe_just_once.*$/pxe_just_once: 1/g" /etc/cobbler/settings
[root@VM_166_136 ~]#sed -i "s/^manage_rsync.*$/manage_rsync: 1/g" /etc/cobbler/settings #查看修改的配置
[root@VM_166_136 ~]#grep -E "^default_password_crypted|^next_server|^server|^pxe_just_once|^manage_rsync|^manage_dhcp" /etc/cobbler/settings
6、配置dhcp服务器
#修改subnet信息
[root@VM_166_136 ~]#vi /etc/cobbler/dhcp.template
subnet 192.168.166.0 netmask 255.255.255.0 {
#option routers 192.168.166.1;
option domain-name-servers 192.168.166.2;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.166.10 192.168.166.60;
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
if option pxe-system-type = 00:02 {
filename "ia64/elilo.efi";
} else if option pxe-system-type = 00:06 {
filename "grub/grub-x86.efi";
} else if option pxe-system-type = 00:07 {
filename "grub/grub-x86_64.efi";
} else {
filename "pxelinux.0";
}
}
} [root@VM_166_136 ~]#echo "DHCPDARGS=eth0" >/etc/sysconfig/dhcpd
#检查cobber配置是否有误 ------下面这个问题,已确认有该文件,不知道为什么还是提示。。我这里忽略
[root@VM_166_136 kickstarts]# cobbler check
The following are potential configuration items that you may want to fix:
1 : file /etc/xinetd.d/rsync does not exist
Restart cobblerd and then run 'cobbler sync' to apply changes.
chkconfig dhcpd on
chkconfig cobblerd on
cobbler get-loaders
service cobblerd start
cobbler sync
#测试dhcp服务器配置是否正确
dhcpd
service dhcpd start
设置cobbler相关服务启动脚本
vi /etc/rc.d/init.d/cobbler
#!/bin/sh
# chkconfig: - 80 90
# description:cobbler
case $1 in
start)
/etc/init.d/httpd start
/etc/init.d/xinetd start
/etc/init.d/dhcpd start
/etc/init.d/cobblerd start
;;
stop)
/etc/init.d/httpd stop
/etc/init.d/xinetd stop
/etc/init.d/dhcpd stop
/etc/init.d/cobblerd stop
;;
restart)
/etc/init.d/httpd restart
/etc/init.d/xinetd restart
/etc/init.d/dhcpd restart
/etc/init.d/cobblerd restart
;;
status)
/etc/init.d/httpd status
/etc/init.d/xinetd status
/etc/init.d/dhcpd status
/etc/init.d/cobblerd status
;;
sync)
cobbler sync
;;
*)
echo "Input error,please in put 'start|stop|restart|status|sync'!";
exit 2>&1 >/dev/null &
;;
esac chmod +x /etc/rc.d/init.d/cobbler
chkconfig cobbler on
service cobbler restart
7、制作镜像
mkdir -p /data/iso/tmp
rz -be #上传ios至/data/iso目录
mount -t iso9660 -o loop /data/iso/CentOS-6.6-x86_64-bin-DVD1.iso /data/iso/tmp #将iso导入到cobber,切记必须切换到/var/www/cobbler/ks_mirror执行,该目录开启了http访问
cd /var/www/cobbler/ks_mirror
cobbler import --path=/data/iso/tmp --name=CentOS-6.6-x86_64 --arch=x86_64
8、设置kickstarts安装配置文件
#定制系统安装及脚本设置,重要
#1、不支持中文,切记
#2、不支持bash里面的转义字符
#3、自定义脚本,请使用http的方式执行
cat /var/lib/cobbler/kickstarts/CentOS-6.6-x86_64.ks
# kickstart template for Fedora 8 and later.
# (includes %end blocks)
# do not use with earlier distros #platform=x86, AMD64, or Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US.UTF-8
# Use network installation
url --url=$tree
# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza
# Network information
$SNIPPET('network_config')
# Reboot after installation
reboot #Root password
rootpw --iscrypted $default_password_crypted
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone Asia/Shanghai
# Install OS instead of upgrade
install
# Clear the Master Boot Record
zerombr
# Allow anaconda to partition the system as needed
autopart %pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end %packages
$SNIPPET('func_install_if_enabled')
%end %post --nochroot
$SNIPPET('log_ks_post_nochroot')
%end %post
$SNIPPET('log_ks_post')
# Start yum configuration
$yum_config_stanza
# End yum configuration
$SNIPPET('post_install_kernel_options')
$SNIPPET('post_install_network_config')
$SNIPPET('func_register_if_enabled')
$SNIPPET('download_config_files')
$SNIPPET('koan_environment')
$SNIPPET('redhat_register')
$SNIPPET('cobbler_register')
# Enable post-install boot notification
$SNIPPET('post_anamon')
# Start final steps
$SNIPPET('kickstart_done')
# End final steps
# Custom scripts
cd /root
wget http://192.168.166.136/cobbler/ks_mirror/config/custom.sh
sh custom.sh %end
#设置自定义脚本,用于定制
[root@VM_166_136 kickstarts]# cat /var/www/cobbler/ks_mirror/config/custom.sh
#!/bin/bash date >>/tmp/date.log
cobbler常用命令
#查看当前配置文件
cobbler profile report #修改profile,默认是/var/lib/cobbler/kickstarts/sample_end.ks 配置文件,必须
cobbler profile edit --name=CentOS-6.6-x86_64 --distro=CentOS-6.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6.6-x86_64.ks #指定安装的配置文件,需要时候,才使用
cobbler profile remove --name=CentOS-5.10-x86_64 #查看Cobbler列表
cobbler list
#查看所有参数
cobbler report
#查看配置文件相关参数
cobbler profile report
#查看distro列表
cobbler distro list
#修改cobber 客户端的默认启动项
[root@VM_166_136 kickstarts]# cat /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://cobbler.github.io
TIMEOUT
TOTALTIMEOUT 6000
#ONTIMEOUT local
ONTIMEOUT CentOS-6.6-x86_64 LABEL local
MENU LABEL (local)
LOCALBOOT -1 LABEL CentOS-6.6-x86_64
kernel /images/CentOS-6.6-x86_64/vmlinuz
MENU LABEL CentOS-6.6-x86_64
MENU DEFAULT
append initrd=/images/CentOS-6.6-x86_64/initrd.img ksdevice=bootif lang= kssendmac text ks=http://192.168.166.136/cblr/svc/op/ks/profile/CentOS-6.6-x86_64
ipappend 2 MENU end
到这里,新建的虚拟机,已经可以自动安装操作系统了。
9、重新安装系统
在需要重装系统的服务器上安装koan
1.安装epel库
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
2.安装koan
yum -y install koan.noarch
3.查看Cobbler服务器系统镜像列表
koan --list=profiles --server=192.168.166.136
4.查看Cobbler服务器系统镜像列表
koan --replace-self --server=192.168.166.136 --profile=CentOS-6.6-x86_64
5.重新启动系统进行自动安装
reboot
Kickstart: /var/lib/cobbler/kickstarts/
cobbler相关配置文件: /etc/cobbler
cobbler数据存储目录: /var/www/cobbler
dhcp配置文件: /etc/dhcpd.conf
dhcp租期缓存文件: /var/lib/dhcpd/dhcpd.leases
pxe配置文件: /tftpboot/pxelinux.cfg/default
cobbler日志:
/var/log/cobbler/install.log #客户端系统安装日志
/var/log/cobbler/cobbler.log #cobbler日志
Cobbler环境搭建的更多相关文章
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
随机推荐
- 一个没有成就而即将退赛的OIer的告别书
期末考试成绩出来了. 我也知道混在这个班的时间不长了. 尽管如此,我觉得父母的意见是正确的,我确实不适合OI.所以我会成为省三都没有的一个OIer. 我不后悔,因为曾经是我自己错了. 我感谢遇到了好的 ...
- DP_括号匹配序列问题
括号匹配问题 简单括号匹配问题是给出字符串,判断字符串中的括号是否匹配,此类问题核心解决方案就是利用栈的后进先出的特性,从左到右依次遍历字符串,遇左括号进栈,遇右括号将其与栈顶元素配对,若能配对,则栈 ...
- 《JAVA程序设计》 20155208 实验四 Android程序设计
<JAVA程序设计> 20155208 实验四 Android程序设计 实验一: 实验要求: Android Stuidio的安装测试: 参考<Java和Android开发学习指南( ...
- 2.Rest Server提供数据库的Json字符串
Delphi最大的特点是数据库操作便捷.为了能够给App提供数据,这里采用Rest Server后台,然后在用Json文件发送到APP前台. 1.后台的dataset转换为json. 这里百度后就可以 ...
- day4 基础
1.变量 2.打印名片 3.raw_input() 和 input() 4.变量类型 type 5. if-else 6.标示符的规则 7.关键字 8.运算符 9.print打印多个值 1.变量 sc ...
- Azkaban 工作流调度器
Azkaban 工作流调度器 1 概述 1.1 为什么需要工作流调度系统 a)一个完整的数据分析系统通常都是由大量任务单元组成,shell脚本程序,java程序,mapreduce程序.hive脚本等 ...
- 安装centos minimal 版本后的网络配置(linux)
1.修改网卡配置文件 2.重启网络服务 3.测试网络
- javaweb总结(四十)——编写自己的JDBC框架
一.元数据介绍 元数据指的是"数据库"."表"."列"的定义信息. 1.1.DataBaseMetaData元数据 Connection.g ...
- C++自学第二课:对象和类的概念
既然是C++,比C语言多了最重要的概念:面向对象. 面向对象?对象是什么?Girlfriend? 我天天面向她也没学会C++. 我觉得对象就是有统一特征的一类编程目标. 打个比方说墙上有个开关,我一按 ...
- Hands on Machine Learning with sklearn and TensorFlow —— 一个完整的机器学习项目(加州房地产)
数据集地址:https://github.com/ageron/handson-ml/tree/master/datasets 先行知识准备:NumPy,Pandas,Matplotlib的模块使用 ...