http://cobbler.github.io/manuals/2.6.0/1/1_-_Release_Notes.html

http://www.osyunwei.com/archives/7606.html

http://tshare365.com/archives/439.html

Cobbler 是一个免费开源系统安装部署软件,用于自动化网络安装操作系统;基于Python开发,是对 PXE 的二次封装,提供了 CLI 和 Web 的管理形式,也提供了API接口,方便二次开发使用。
它不仅可以安装物理机,同时也支持虚拟化、GuestOS的安装。另外,Cobbler还能结合 Puppet 等集中化管理软件,实现自动化管理。

实验环境:

cobbler服务器:c6.5-minimal系统上安装cobbler相关包

裸机:在a机上安装c6.5,在b机上安装c7.2,

实现目的:

通过配置Cobbler服务器,全自动批量安装部署Linux系统

#http服务需要此端口    80
#tftp服务需要此端口    25251
#cobbler需要此端口    69

cobbler文件与包

  1. 安装cobbler
    c6c7cobbler相关包是不一样的
    [root@107-c6 ~]# yum install epel-release
    [root@107-c6 ~]# yum install cobbler-web dhcp debmirror pykickstart
  2.  
  3. Cobbler目录说明:
  4.  
  5. 1Cobbler配置文件目录:/etc/cobbler
  6.  
  7. /etc/cobbler/settings #cobbler主配置文件
  8.  
  9. /etc/cobbler/dhcp.template #DHCP服务的配置模板
  10.  
  11. /etc/cobbler/tftpd.template #tftp服务的配置模板
  12.  
  13. /etc/cobbler/rsync.template #rsync服务的配置模板
  14.  
  15. /etc/cobbler/iso #iso模板配置文件
  16.  
  17. /etc/cobbler/pxe #pxe模板文件
  18.  
  19. /etc/cobbler/power #电源的配置文件
  20.  
  21. /etc/cobbler/users.conf #Web服务授权配置文件
  22.  
  23. /etc/cobbler/users.digest #用于web访问的用户名密码配置文件
  24.  
  25. /etc/cobbler/dnsmasq.template #DNS服务的配置模板
  26.  
  27. /etc/cobbler/modules.conf #Cobbler模块配置文件
  28.  
  29. 2Cobbler数据目录:/var/lib/cobbler
  30.  
  31. /var/lib/cobbler/config #配置文件
  32.  
  33. /var/lib/cobbler/triggers #Cobbler命令
  34.  
  35. /var/lib/cobbler/kickstarts #默认存放kickstart文件
  36.  
  37. /var/lib/cobbler/loaders #存放的各种引导程序
  38.  
  39. 3、系统安装镜像目录:/var/www/cobbler
  40.  
  41. /var/www/cobbler/ks_mirror #导入的系统镜像列表
  42.  
  43. /var/www/cobbler/images #导入的系统镜像启动文件
  44.  
  45. /var/www/cobbler/repo_mirror #yum源存储目录
  46.  
  47. 4、日志目录:/var/log/cobbler
  48.  
  49. /var/log/cobbler/install.log #客户端系统安装日志
  50.  
  51. /var/log/cobbler/cobbler.log #cobbler日志

第一部分 分步安装配置,即dhcp,tftp,httpd,cobber

  1. yum repolist
  2. yum install epel-release
  3. yum install cobbler dhcp pykickstart
  4. sed -i -e 's/= yes/= no/g' /etc/xinetd.d/tftp
  5. sed -i 's@next_server: 127.0.0.1@next_server: '192.168.10.101'@g' /etc/cobbler/settings
  6. sed -i 's@server: 127.0.0.1@server: '192.168.10.101'@g' /etc/cobbler/settings
  7. [root@localhost loaders]# sed -n '/default_password/p' /etc/cobbler/settings
  8. default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."
  9. [root@localhost loaders]# sed -i 's@default_password_crypted@#default_password_crypted@g' /etc/cobbler/settings
  10. [root@localhost loaders]# sed -n '/default_password/p' /etc/cobbler/settings
  11. #default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."
  12.  
  13. openssl passwd -1 -salt '任意字母' '你的密码'
  14. echo "default_password_crypted: "$1$ac756ac7$erF27Ljjp3rDItLVqHLOg/"" >> /etc/cobbler/settings
  15. cp /usr/share/syslinux/meminfo.c32 /var/lib/cobbler/loaders/
  16. cp /usr/share/syslinux/pxelinux.0 /var/lib/cobbler/loaders/
  17. systemctl start httpd
  18. systemctl start cobblerd
  19. cobbler sync
  20. cobbler check
  21. systemctl start dhcpd
  22. systemctl start tftp
  23. systemctl start rsyncd
  24. mount -o loop CentOS-6.5-x86_64-bin-DVD1.iso /mnt/
  25. cobbler import --name=cs65 --path=/mnt
  26. cobbler profile edit --name=cs65-x86_64 --distro=cs65-x86_64 --kickstart=/var/lib/cobbler/kickstarts/wo.cfg

第二部分 脚本安装

1.创建tshare365.sh脚本

  1. #!/bin/sh
  2. #coding=utf8
  3. #Author tshare365.com
  4. ##################################################################
  5. #将如下IP修改成你cobbler服务器的IP地址
  6. ip=192.168.10.195
  7. #将如下net修改成你Cobbler所在网段的NET
  8. net=192.168.10.0
  9. #修改成dhcp计划分配的IP段
  10. begin=192.168.10.14
  11. end=192.168.10.34
  12. echo "$ip www.tshare365.com" >> /etc/hosts
  13. yum install cobbler cobbler-web pykickstart dhcp debmirror syslinux cman fence-agents vim -y
  14. /etc/init.d/iptables stop
  15. /etc/init.d/httpd start
  16. /etc/init.d/cobblerd start
  17. service cobblerd restart
  18. sed -i -e 's/= yes/= no/g' /etc/xinetd.d/rsync
  19. sed -i -e 's/= yes/= no/g' /etc/xinetd.d/rsync
  20. sed -i 's@next_server: 127.0.0.1@next_server: '$ip'@g' /etc/cobbler/settings
  21. sed -i 's@server: 127.0.0.1@server: '$ip'@g' /etc/cobbler/settings
  22. cp /usr/share/syslinux/pxelinux.0 /var/lib/cobbler/loaders/
  23. cp /usr/share/syslinux/meminfo.c32 /var/lib/cobbler/loaders/
  24. sed -i 's$@arches="i386"$#@arches="i386"$g' /etc/debmirror.conf
  25. sed -i 's$@dists="sid"$#@dists="sid"$g' /etc/debmirror.conf
  26. sed -i 's@default_password_crypted@#default_password_crypted@g' /etc/cobbler/settings
  27. echo "default_password_crypted: "$1$ac756ac7$erF27Ljjp3rDItLVqHLOg/"" >> /etc/cobbler/settings
  28. service cobblerd restart
  29. cobbler sync
  30. cobbler check
  31. #dhcp
  32. cat > /etc/dhcp/dhcpd.conf <<EOF
  33. option domain-name "tshare365.com";
  34. option domain-name-servers $ip;
  35. default-lease-time 43200;
  36. max-lease-time 86400;
  37. log-facility local7;
  38. subnet $net netmask 255.255.255.0 {
  39. range $begin $end;
  40. option routers $ip;
  41. }
  42. next-server $ip;
  43. filename="pxelinux.0";
  44. EOF
  45. /etc/init.d/dhcpd restart
  46. service xinetd restart
  47. mkdir /opt/tshare365
  48. mount /dev/cdrom /opt/tshare365
  49. cobbler import --name=centos-6.5-x86_64-tshare365 --path=/opt/tshare365
  50. cobbler profile add --name=centos-6.5-x86_64-tshare365 --distro=centos-6.5-x86_64-tshare365 --kickstart=/var/lib/cobbler/kickstarts/tshare365.cfg

2.创建tshare365.cfg文件

  1. #platform=x86, AMD64, or Intel EM64T
  2. #version=DEVEL
  3. # Upgrade existing installation
  4. upgrade
  5. # Use network installation
  6. #修改成自己的IP
  7. url --url="http://192.168.10.195/cobbler/ks_mirror/centos-6.5-tshare365/"
  8. # Root password
  9. rootpw --iscrypted $1$CgIgFiPo$rqNvZR480Z5A2dnbxdd7C0
  10. # System authorization information
  11. auth --useshadow --passalgo=sha512
  12. firewall --disabled
  13. timezone Asia/Shanghai
  14. # Use graphical install
  15. graphical
  16. firstboot --disable
  17. # System keyboard
  18. keyboard us
  19. # System language
  20. lang en_US
  21. # Installation logging level
  22. logging --level=info
  23. # Reboot after installation
  24. reboot
  25. # System timezone
  26. timezone Africa/Abidjan
  27. # System bootloader configuration
  28. bootloader --location=mbr
  29. clearpart --all --drives=sda --initlabel
  30. part /boot --fstype ext3 --size=100 --ondisk=sda
  31. part swap --size=4096
  32. part / --fstype ext3 --size=100 --grow --asprimary
  33. %packages
  34. @core
  35. @server-policy
  36. @workstation-policy
  37. %end

将tshare365.cfg放到/var/lib/cobbler/kickstarts/目录下然后执行 sh tshare.sh
切记 一定要挂载光盘并关闭selinux
安装成功之后默认登录密码是redhat

遇到一个问题是menu.c32 is not a COM32B image.解决办法是

1.cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/

2.修改cobbler服务器/var/lib/tftpboot/pxelinux.cfg/default文件,将DEFAULT menu行改为DEFAULT vesamenu就可以了

曾经在Dell R720服务器安装Centos 6.5 的过程中出现过如下问题

解决办法是修改cobbler服务器/var/lib/tftpboot/pxelinux.cfg/default  文件

在vmlinuz 后面加入 biosdevname=0,如图

  1. 重新安装系统:
  2.  
  3. 在需要重装系统的服务器上安装koan
  4.  
  5. wget http://dl.fedoraproject.org/pub/epel/5/x86_64/koan-2.4.0-1.el5.noarch.rpm #CentOS 5.X
  6.  
  7. rpm -ivh koan-2.4.0-1.el5.noarch.rpm #安装koan
  8.  
  9. http://dl.fedoraproject.org/pub/epel/6/x86_64/koan-2.4.0-1.el6.noarch.rpm #CentOS 6.X
  10.  
  11. yum install cobbler debmirror pykickstart python-ctypes cman #安装koan运行依赖包(需要设置epel源)
  12.  
  13. koan --list=profiles --server=192.168.21.128 #查看Cobbler服务器系统镜像列表
  14.  
  15. koan --replace-self --server=192.168.21.128 --profile=CentOS-5.10-x86_64 #选择要重装的系统
  16.  
  17. reboot #重新启动系统进行自动安装

linux项目-之系统安装部署-cobbler的更多相关文章

  1. linux下javaEE系统安装部署

    最近公司在将服务器往阿里云上面迁移,所以需要重新在linux上面安装相关的软件以及部署项目,这里用到的linux版本为centos7.0,需要安装的软件有 jdk1.7.mysql5.6.mongo3 ...

  2. 在linux下用tomcat部署java web项目的过程与注意事项

    在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...

  3. Django项目在linux系统中虚拟环境部署

    1.在linux系统下,安装virtualenv 命令:pip install virtualenv 2.项目部署前的准备 1. Django web project deployment 1.1.  ...

  4. 部署Linux项目

    部署Linux项目   1● 下载软件 ftp       安装 2● 创建连接 3● java项目   gunzip –c *.gz tar –xzf *.gz       rm –rf rm -r ...

  5. Linux项目部署发布

    Linux项目部署发布 1.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper pip3 install -i https://pypi.douban.com/sim ...

  6. 在linux下用tomcat部署java web项目的过程与注意事项(转)

    在linux下用tomcat部署java web项目的过程与注意事项一.安装JDK到http://www.oracle.com/technetwork/java/javase/downloads/in ...

  7. redhat系统安装部署

    linux 系统安装部署 1).光盘引导,选择第一项: 2)介质检查,选择skip: 3).欢迎界面,直接下一步: 4).选择安装过程使用的语言,选择“English”; 5).选择键盘布局,不需要修 ...

  8. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

  9. django项目上线环境部署

    django项目上线环境部署 第一步 安装python虚拟环境 1 安装虚拟环境virtualenv 2 安装virtualenvwrapper工具 3 确认virtualenvwrapper.sh脚 ...

随机推荐

  1. C语言中system()函数的用法总结(转)

    system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码: #include <sys/types.h> #include <sys/wait ...

  2. 用sqlplus为oracle创建用户和表空间<转>

    用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS来创建表空间 ...

  3. 使用spawn-fcgi管理php-cgi

    spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u nginx -g nginx -f php-cgi

  4. 【转】关于 Web GIS

    以下部分选自2015-03-01出版的<Web GIS从基础到开发实践(基于ArcGIS API for JavaScript)>一书中的前言部分: Web GIS 概念于1994 年首次 ...

  5. JfreeChart的使用

    前提:导入需要的2个jar文件,jcommon-版本号.jar,jfreechart-版本号.jar.可以去官网下载:http://sourceforge.net/projects/jfreechar ...

  6. ArrayList其实就那么一回事儿之源码浅析

    ArrayList 算是常用的集合之一了,不知作为javaner的你有没在百忙之中抽出一点时间看看ArrayList的源码呢. 如果看了,你会觉得其实ArrayList其实就那么一回事儿,对吧,下面就 ...

  7. PHP 时间 date,strtotime ,time计算1970开始的第几天

    首先,需要看你的php时区配置参数 方式1:更改php配置文件,然后从其fast-cgi或者php调用的地方: 方式2:date_default_timezone_set('PRC'); date函数 ...

  8. 上下文菜单项(contextMenu)----长按按钮弹出菜单项

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  9. Svn常见问题及相关原因

    1. svn: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS reque ...

  10. 启动本地Oracle

    net start OracleOraDb10g_home1TNSListenernet start OracleServiceORCL第一个是监听服务第二个是数据库服务