自动重装工具--koan


客户机已经通过cobbler安装centos7系统完毕。

安装koan,能实现重装,安装之前先安装epel源

koan是kickstart-over-a-network的缩写,它是cobbler的客户端帮助程序,koan允许你通过网络提供虚拟机

也允许你重装已经存在的客户端。当运行时,koan会从远端的cobbler server获取安装信息,然后根据获取的安装信息进行安装。

  1. [root@localhost ~]# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
  2. Retrieving https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
  3. warning: /var/tmp/rpm-tmp.iRJRma: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
  4. Preparing... ################################# [100%]
  5. Updating / installing...
  6. 1:epel-release-7-9 ################################# [100%]
  7. [root@localhost ~]#

  

安装koan

  1. [root@localhost ~]# yum install -y koan
  2. Loaded plugins: fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. * base: mirrors.zju.edu.cn
  5. * epel: mirrors.ustc.edu.cn
  6. * extras: centos.ustc.edu.cn
  7. * updates: mirrors.zju.edu.cn
  8. Package koan-2.8.0-4.el7.noarch already installed and latest version
  9. Nothing to do
  10. [root@localhost ~]#

  

查看它能进行重装的系统
  1. [root@localhost ~]# koan --server=192.168.58.11 --list=profiles
  2. - looking for Cobbler at http://192.168.58.11:80/cobbler_api
  3. CentOS-7-x86_64
  4. CentOS-6-x86_64
  5. [root@localhost ~]#

把系统重装装成centos6

执行完毕,重启就会自动重装为centos6的系统

  1. [root@localhost ~]# koan --server=192.168.58.11 --list=profiles
  2. - looking for Cobbler at http://192.168.58.11:80/cobbler_api
  3. CentOS-7-x86_64
  4. CentOS-6-x86_64
  5. [root@localhost ~]# koan --replace-self --server=192.168.58.11 --profile=CentOS-6-x86_64
  6. - looking for Cobbler at http://192.168.58.11:80/cobbler_api
  7. - reading URL: http://192.168.58.11/cblr/svc/op/ks/profile/CentOS-6-x86_64
  8. install_tree: http://192.168.58.11/cblr/links/CentOS-6-x86_64
  9. downloading initrd initrd.img to /boot/initrd.img_koan
  10. url=http://192.168.58.11/cobbler/images/CentOS-6-x86_64/initrd.img
  11. - reading URL: http://192.168.58.11/cobbler/images/CentOS-6-x86_64/initrd.img
  12. downloading kernel vmlinuz to /boot/vmlinuz_koan
  13. url=http://192.168.58.11/cobbler/images/CentOS-6-x86_64/vmlinuz
  14. - reading URL: http://192.168.58.11/cobbler/images/CentOS-6-x86_64/vmlinuz
  15. - ['/sbin/grubby', '--add-kernel', '/boot/vmlinuz_koan', '--initrd', '/boot/initrd.img_koan', '--args',
  16. '"ks=http://192.168.58.11/cblr/svc/op/ks/profile/CentOS-6-x86_64 ksdevice=link kssendmac lang= text "', '--copy-default',
  17. '--make-default', '--title=kick1491222834']
  18. - ['/sbin/grubby', '--update-kernel', '/boot/vmlinuz_koan', '--remove-args=root']
  19. - reboot to apply changes
  20. [root@localhost ~]#

 执行reboot应用改变

 全程不需要手动干预,它自动重装

自动重装完毕

  1. [root@localhost ~]# cat /etc/redhat-release
  2. CentOS release 6.6 (Final)
  3. [root@localhost ~]# ip ad
  4. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
  5. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  6. inet 127.0.0.1/8 scope host lo
  7. inet6 ::1/128 scope host
  8. valid_lft forever preferred_lft forever
  9. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  10. link/ether 00:0c:29:c6:4f:61 brd ff:ff:ff:ff:ff:ff
  11. inet 192.168.58.130/24 brd 192.168.58.255 scope global eth0
  12. inet6 fe80::20c:29ff:fec6:4f61/64 scope link
  13. valid_lft forever preferred_lft forever
  14. [root@localhost ~]#

  

cobbler-web


火狐浏览器打开

https://192.168.58.11/cobbler_web

用户名密码默认cobbler

用户和密码其实在配置文件中

user.conf是用户文件   ,users.digest是密码文件

  1. [root@linux-node1 ~]# cd /etc/cobbler/
  2. [root@linux-node1 cobbler]# ls
  3. auth.conf iso reporting users.digest
  4. cheetah_macros ldap rsync.exclude version
  5. cobbler_bash modules.conf rsync.template zone.template
  6. completions mongodb.conf secondary.template zone_templates
  7. dhcp.template named.template settings
  8. dnsmasq.template power tftpd.template
  9. import_rsync_whitelist pxe users.conf
  10. [root@linux-node1 cobbler]# tail -5 users.conf
  11.  
  12. [admins]
  13. admin = ""
  14. cobbler = ""
  15.  
  16. [root@linux-node1 cobbler]# cat users.digest
  17. cobbler:Cobbler:a2d6bae81669d707b72c0bd9806e01f3
  18. [root@linux-node1 cobbler]#

  

更改cobbler密码为123123

前面的“Cobbler”其实是用户描述,后面小写的cobbler才是用户名

  1. [root@linux-node1 cobbler]# htdigest /etc/cobbler/users.digest "Cobbler" cobbler
  2. Changing password for user cobbler in realm Cobbler
  3. New password:
  4. Re-type new password:
  5. [root@linux-node1 cobbler]#

  

通过密码123123登录cobbler-web成功

可以查看配置文件

内核参数这些东西就可以在web界面上更改

这里也可以选择ks文件

还可以在这上面编辑ks文件

也可以通过页面导入dvd

小技巧--更改cobbler装机时提示界面

 
更改cobbler装机时提示界面
  1. [root@linux-node1 cobbler]# cd
  2. [root@linux-node1 ~]# vim /etc/cobbler/pxe/pxedefault.template

这里更改为自定义的地址。

更改之后如果想让配置生效需要执行cobbler sync 来同步最新的配置信息

测试安装显示界面

新建一个client

变化了,上面链接变了

cobbler常用目录介绍

repo_mirror目录是默认yum仓库存放位置,这里还没有文件,因为我们还没配置自己的yum仓库

  1. [root@linux-node1 ~]# cd /var/www/cobbler
  2. [root@linux-node1 cobbler]# ls
  3. aux images ks_mirror links localmirror pub rendered repo_mirror svc
  4. [root@linux-node1 cobbler]# ls ks_mirror/
  5. CentOS-6-x86_64 CentOS-7-x86_64 config
  6. [root@linux-node1 cobbler]# ls repo_mirror/
  7. [root@linux-node1 cobbler]#

  

下面目录都是系统启动需要的文件

  1. [root@linux-node1 cobbler]# cd /var/lib/cobbler/
  2. [root@linux-node1 cobbler]# ls
  3. config kickstarts lock snippets web.ss
  4. distro_signatures.json loaders scripts triggers webui_sessions
  5. [root@linux-node1 cobbler]# ls loaders/
  6. COPYING.elilo COPYING.yaboot grub-x86_64.efi menu.c32 README
  7. COPYING.syslinux elilo-ia64.efi grub-x86.efi pxelinux.0 yaboot
  8. [root@linux-node1 cobbler]#
 
cd /etc/cobbler 里面是存放所有的配置文件
  1. [root@linux-node1 cobbler]# cd /etc/cobbler/
  2. [root@linux-node1 cobbler]# ll
  3. total 108
  4. -rw-r--r-- 1 root root 40 Nov 17 03:09 auth.conf
  5. -rw-r--r-- 1 root root 75 Nov 17 03:09 cheetah_macros
  6. -rw-r--r-- 1 root root 2409 Nov 17 03:09 cobbler_bash
  7. -rw-r--r-- 1 root root 11636 Nov 17 03:09 completions
  8. -rw-r--r-- 1 root root 2951 Apr 3 18:29 dhcp.template
  9. -rw-r--r-- 1 root root 385 Nov 17 03:09 dnsmasq.template
  10. -rw-r--r-- 1 root root 2014 Nov 17 03:09 import_rsync_whitelist
  11. drwxr-xr-x 2 root root 30 Apr 3 16:31 iso
  12. drwxr-xr-x 2 root root 37 Apr 3 16:31 ldap
  13. -rw-r--r-- 1 root root 3076 Nov 17 03:09 modules.conf
  14. -rw-r--r-- 1 root root 43 Nov 17 03:09 mongodb.conf
  15. -rw-r--r-- 1 root root 680 Nov 17 03:09 named.template
  16. drwxr-xr-x 2 root root 4096 Apr 3 16:31 power
  17. drwxr-xr-x 2 root root 4096 Apr 3 21:41 pxe
  18. drwxr-xr-x 2 root root 40 Apr 3 16:31 reporting
  19. -rw-r--r-- 1 root root 368 Nov 17 03:09 rsync.exclude
  20. -rw-r--r-- 1 root root 1073 Nov 17 03:09 rsync.template
  21. -rw-r--r-- 1 root root 754 Nov 17 03:09 secondary.template
  22. -rw-r--r-- 1 root root 19655 Apr 3 17:21 settings
  23. -rw-r--r-- 1 root root 740 Nov 17 03:09 tftpd.template
  24. -rw-r--r-- 1 root root 848 Nov 17 03:09 users.conf
  25. -rw-r--r-- 1 root root 49 Apr 3 21:27 users.digest
  26. -rw-r--r-- 1 root root 115 Feb 1 07:25 version
  27. -rw-r--r-- 1 root root 522 Nov 17 03:09 zone.template
  28. drwxr-xr-x 2 root root 6 Feb 1 07:25 zone_templates
  29. [root@linux-node1 cobbler]#

  

cobbler还可以管理dns(dnsmasq.template),其实生产中一般都是单独的dns服务器。不使用cobbler

目前用的是cobbler2.8,  不同版本是不一样的

  1. [root@linux-node1 ~]# rpm -qa | grep cobbler
  2. cobbler-2.8.0-4.el7.x86_64
  3. cobbler-web-2.8.0-4.el7.noarch
  4. [root@linux-node1 ~]#

  

Cobbler 配置结构


  Cobbler 的配置结构基于一组注册的对象。每个对象表示一个与另一个实体相关联的实体(该对象指向另一个对象,或者另一个对象指向该对象)。当一个对象指向另一个对象时,它就继承了被指向对象的数据,并可覆盖或添加更多特定信息。

以下对象类型的定义为:
  发行版:表示一个操作系统。它承载了内核和 initrd 的信息,以及内核参数等其他数据。
  配置文件:包含一个发行版、一个 kickstart 文件以及可能的存储库,还包含更多特定的内核参数等其他数据。
  系统:表示要配给的机器。它包含一个配置文件或一个镜像,还包含 IP 和 MAC 地址、电源管理(地址、凭据、类型)以及更为专业的数据等信息。
  存储库:保存一个 yum 或 rsync 存储库的镜像信息。
  镜像:可替换一个包含不属于此类别的文件的发行版对象(例如,无法分为内核和 initrd 的对象)。
  基于注册的对象以及各个对象之间的关联,Cobbler 知道如何更改文件系统以反映具体配置。
因为系统配置的内部是抽象的,所以您可以仅关注想要执行的操作。下面是Cobbler各对象之间的关系图,

repository类似自定义yum源
使用cobbler自定义yum源

下面地址可以周到Openstack的mitaka版本的yum源

https://mirrors.aliyun.com/centos/7.3.1611/cloud/x86_64/openstack-mitaka/

怎么把这些源加载到自己yum仓库呢,如果你不加,得从公网下载了。很慢
使用cobbler添加yum源
  1. [root@linux-node1 ~]# cobbler repo add --name=openstack-mitaka --mirror=https://mirrors.aliyun.com/centos/7.3.1611/cloud/x86_64/openstack-mitaka/ --arch=x86_64 --breed=yum
  2. [root@linux-node1 ~]#
这样就添加了Openstack的yum源
公网的yum源不仅仅支持http,还支持ftp和rsync
开始同步yum源

同步之前先查看本地cobbler的目录中是否有文件,方便同步之后比较,目前是没有任何rpm包的

  1. [root@linux-node1 cobbler]# cd /var/www/cobbler
  2. [root@linux-node1 cobbler]# ls
  3. aux images ks_mirror links localmirror pub rendered repo_mirror svc
  4. [root@linux-node1 cobbler]# cd repo_mirror/
  5. [root@linux-node1 repo_mirror]# ls
  6. [root@linux-node1 repo_mirror]# pwd
  7. /var/www/cobbler/repo_mirror
  8. [root@linux-node1 repo_mirror]# ls
  9. [root@linux-node1 repo_mirror]#

  

执行下载操作,省略一部分输出

  1. [root@linux-node1 ~]# cobbler reposync
  2. .
  3. .
  4. .
  5. .
  6. Spawning worker 3 with 305 pkgs
  7. Workers Finished
  8. Saving Primary metadata
  9. Saving file lists metadata
  10. Saving other metadata
  11. Generating sqlite DBs
  12. Sqlite DBs complete
  13.  
  14. received on stderr:
  15. running: chown -R root:apache /var/www/cobbler/repo_mirror/openstack-mitaka
  16. received on stdout:
  17. received on stderr:
  18. running: chmod -R 755 /var/www/cobbler/repo_mirror/openstack-mitaka
  19. received on stdout:
  20. received on stderr:
  21. *** TASK COMPLETE ***
  22. [root@linux-node1 ~]#

  

再次查看cobbler存放rpm包的位置,把Openstack-mitaka相关的包都下载了

  1. [root@linux-node1 repo_mirror]# pwd
  2. /var/www/cobbler/repo_mirror
  3. [root@linux-node1 repo_mirror]# ls
  4. openstack-mitaka
  5. [root@linux-node1 repo_mirror]# ls openstack-mitaka/* | wc -l
  6. 2456
  7. [root@linux-node1 repo_mirror]#

总共700多MB

  1. [root@linux-node1 repo_mirror]# du -sh openstack-mitaka/
  2. 732M openstack-mitaka/
  3. [root@linux-node1 repo_mirror]#
它会自动帮你把阿里云下面的rpm包下载到本地,并且自动帮你创建repo文件

 

怎么让装机的时候把Openstack的repo文件生成呢。cobbler端如下操作。
  1. [root@linux-node1 ~]# cobbler profile edit --name=CentOS-7-x86_64 --repo="openstack-mitaka"
  2. [root@linux-node1 ~]#
 
setting配置文件里面有下面东西。等于1 表示默认是开启的
vim /etc/cobbler/settings

ks文件里也写进去
vim /var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
添加一行,如下$yum_config_stanza

修改完毕,同步下cobbler配置信息,可以看到它在同步repo文件。
  1. [root@linux-node1 ~]# cobbler reposync
  2. task started: 2017-04-03_224404_reposync
  3. task started (id=Reposync, time=Mon Apr 3 22:44:04 2017)
  4. hello, reposync
  5. run, reposync, run!
  6. creating: /var/www/cobbler/repo_mirror/openstack-mitaka/config.repo
  7. creating: /var/www/cobbler/repo_mirror/openstack-mitaka/.origin/openstack-mitaka.repo
  8. running: /usr/bin/reposync -l -n -d --config=/var/www/cobbler/repo_mirror/openstack-mitaka/.origin/openstack-mitaka.repo --repoid=openstack-mitaka --download_path=/var/www/cobbler/repo_mirror -a x86_64

添加计划任务,定期跟新yum仓库

  1. [root@linux-node1 ~]# echo "1 3 * * * /usr/bin/cobbler reposync --tries=3 --no-fail" >> /var/spool/cron/root
  2. [root@linux-node1 ~]# crontab -l
  3. 1 3 * * * /usr/bin/cobbler reposync --tries=3 --no-fail
  4. [root@linux-node1 ~]#

  

总结以上过程

  1. 1、添加repo
  2. cobbler repo add --name=openstack-mitaka --mirror=https://mirrors.aliyun.com/centos/7.3.1611/cloud/x86_64/openstack-mitaka/ --arch=x86_64 --breed=yum
  3.  
  4. 2、同步repo
  5. cobbler reposync
  6.  
  7. 3、添加repo到对应的profile
  8. cobbler profile edit --name=CentOS-7-x86_64 --repo="openstack-mitaka"
  9.  
  10. 4、修改kickstart文件,添加。(在%post %end中间)
  11. %post
  12. systemctl disable postfix.service
  13.  
  14. $yum_config_stanza
  15. %end
  16.  
  17. 5、添加定时任务,定期同步repo
  18. echo "1 3 * * * /usr/bin/cobbler reposync --tries=3 --no-fail" >> /var/spool/cron/root

 

学习使用cobbler-web界面修改,运维。安全第一。页面修改也不low
cobbler自定义系统安装

通过它能进行定制的需求,比如装机时mac地址和ip地址的对应,让指定的mac地址的机器获取指定的IP
通过下面选中的部分实现此功能

实际生产中会有很多kickstart文件,即使相同系统的kickstart文件也有不同,比如根据业务,对应不同的分区方案(web服务器和数据库服务器对磁盘分区要求就不同)

比如新建一台虚拟机,根据mac地址给它指定一个IP地址

规划下,给它分配这个IP
00:50:56:31:E4:ED
IP:192.168.58.12
主机名:linux-node2.nmap.com
掩码:255.255.255.0
网关:192.168.58.2
DNS:192.168.58.2

自定义配置,注意下面配置需要在一行命令,这里处于美观写成了3行

注意--name不是主机名,就是自定义的一个配置规划的名字

  1. [root@linux-node1 ~]# ls /var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
  2. /var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
  3. [root@linux-node1 ~]# cobbler system add --name=linux-node2.nmap.com --mac=00:50:56:31:E4:ED --profile=CentOS-7-x86_64
  4. --ip-address=192.168.58.12 --subnet=255.255.255.0 --gateway=192.168.58.2 --interface=eth0 --static=1
  5. --hostname=linux-node2.nmap.com --name-servers="192.168.58.2" --kickstart=/var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
  6. [root@linux-node1 ~]#

 

查看是否添加成功

  1. [root@linux-node1 ~]# cobbler system list
  2. linux-node2.nmap.com
  3. [root@linux-node1 ~]#

  

执行cobbler sync  让配置生效

这里省略了一些输出

  1. [root@linux-node1 ~]# cobbler sync
  2. task started: 2017-04-03_231612_sync
  3. task started (id=Sync, time=Mon Apr 3 23:16:12 2017)
  4. running pre-sync triggers
  5. cleaning trees
  6. removing: /var/www/cobbler/images/CentOS-7-x86_64
  7. removing: /var/www/cobbler/images/CentOS-6-x86_64
  8. removing: /var/lib/tftpboot/pxelinux.cfg/default
  9. removing: /var/lib/tftpboot/pxelinux.cfg/01-00-50-56-31-e4-ed
  10. removing: /var/lib/tftpboot/grub/images
  11. removing: /var/lib/tftpboot/grub/grub-x86.efi
  12. removing: /var/lib/tftpboot/grub/grub-x86_64.efi
  13. removing: /var/lib/tftpboot/grub/efidefault
  14. removing: /var/lib/tftpboot/grub/01-00-50-56-31-E4-ED
  15. removing: /var/lib/tftpboot/images/CentOS-7-x86_64
  16. removing: /var/lib/tftpboot/images/CentOS-6-x86_64
  17. removing: /var/lib/tftpboot/s390x/profile_list
  18. copying bootloaders
  19. .
  20. .
  21. .
  22.  
  23. running shell triggers from /var/lib/cobbler/triggers/sync/post/*
  24. running python triggers from /var/lib/cobbler/triggers/change/*
  25. running python trigger cobbler.modules.scm_track
  26. running shell triggers from /var/lib/cobbler/triggers/change/*
  27. *** TASK COMPLETE ***
  28. [root@linux-node1 ~]#

  

 查看dhcp配置文件。末尾部分可以看到自定义的配置vim /etc/dhcp/dhcpd.conf

新建一个客户机并启动

都不经过选择系统,它自动安装了,没手工干预

下面还可以看到它的IP地址是192.168.58.12

 查看安装完毕的系统

cobbler-api


相关一些python脚本

  1. [root@linux-node1 ~]# mkdir /scripts -p
  2. [root@linux-node1 ~]# cd /scripts/
  3. [root@linux-node1 scripts]# vim cobbler_list.py

新建一个cobbler_list.py 的脚本

  1. [root@linux-node1 scripts]# cat cobbler_list.py
  2. #!/usr/bin/python
  3. import xmlrpclib
  4. server = xmlrpclib.Server("http://192.168.58.11/cobbler_api")
  5. print server.get_distros()
  6. print server.get_profiles()
  7. print server.get_systems()
  8. print server.get_images()
  9. print server.get_repos()
  10. [root@linux-node1 scripts]#

它能通过调用cobbler的api输出一些当前信息。格式是列表 

api的文档可以通过官网查看,它的官方文档地址
cobbler.github.io
 
下面通过api实现指定mac地址的机器自动装机

生成一个mac地址

脚本内容如下

注意mac地址是取上面的,规划给这个mac地址的主机分配IP是192.168.58.111,主机名是cobbler-api-test

注意cobbler-api的用户名和密码和网页登录的一致

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import xmlrpclib
  4. class CobblerAPI(object):
  5. def __init__(self,url,user,password):
  6. self.cobbler_user= user
  7. self.cobbler_pass = password
  8. self.cobbler_url = url
  9. def add_system(self,hostname,ip_add,mac_add,profile):
  10. '''
  11. Add Cobbler System Infomation
  12. '''
  13. ret = {
  14. "result": True,
  15. "comment": [],
  16. }
  17. #get token
  18. remote = xmlrpclib.Server(self.cobbler_url)
  19. token = remote.login(self.cobbler_user,self.cobbler_pass)
  20. #add system
  21. system_id = remote.new_system(token)
  22. remote.modify_system(system_id,"name",hostname,token)
  23. remote.modify_system(system_id,"hostname",hostname,token)
  24. remote.modify_system(system_id,'modify_interface', {
  25. "macaddress-eth0" : mac_add,
  26. "ipaddress-eth0" : ip_add,
  27. "dnsname-eth0" : hostname,
  28. }, token)
  29. remote.modify_system(system_id,"profile",profile,token)
  30. remote.save_system(system_id, token)
  31. try:
  32. remote.sync(token)
  33. except Exception as e:
  34. ret['result'] = False
  35. ret['comment'].append(str(e))
  36. return ret
  37. def main():
  38. cobbler = CobblerAPI("http://192.168.58.11/cobbler_api","cobbler","123123")
  39. ret = cobbler.add_system(hostname='cobbler-api-test',ip_add='192.168.58.111',mac_add='00:50:56:27:EC:40',profile='CentOS-7-x86_64')
  40. print ret
  41. if __name__ == '__main__':
  42. main()

  

通过执行上面脚本,在cobber在自己系统里加入一条记录,关于此mac地址的主机配置要求

  1. [root@linux-node1 scripts]# vim cobbler_system_api.py
  2. [root@linux-node1 scripts]# pwd
  3. /scripts
  4. [root@linux-node1 scripts]# ll
  5. total 8
  6. -rw-r--r-- 1 root root 234 Apr 3 23:51 cobbler_list.py
  7. -rw-r--r-- 1 root root 1533 Apr 4 00:01 cobbler_system_api.py
  8. [root@linux-node1 scripts]#

  

添加成功,这个mac地址的机器启动之后就自动装机了

  1. [root@linux-node1 scripts]# cobbler system list
  2. linux-node2.nmap.com
  3. [root@linux-node1 scripts]# python cobbler_system_api.py
  4. {'comment': [], 'result': True}
  5. [root@linux-node1 scripts]# cobbler system list
  6. cobbler-api-test
  7. linux-node2.nmap.com
  8. [root@linux-node1 scripts]#

  

启动此新建的机器。看到自动装机了,获取的IP地址就是上面指定的

安装完毕,登录检查

安装完的系统,yum源也会多出之前定义的Openstack-mitaka的源

之所以kickstart能装机后配置IP和主机名等,就是上面这些脚本实现的
  1. [root@linux-node1 scripts]# cd /var/lib/cobbler/snippets/
  2. [root@linux-node1 snippets]# ll post_install_network_config
  3. -rw-r--r-- 1 root root 16281 Nov 17 03:09 post_install_network_config
  4. [root@linux-node1 snippets]# ls
  5. cobbler_register networking.xml
  6. download_config_files partition_select
  7. download_config_files_deb post_anamon
  8. func_install_if_enabled post_install_kernel_options
  9. func_register_if_enabled post_install_network_config
  10. hosts.xml post_install_network_config_deb
  11. kdump.xml post_koan_add_reinstall_entry
  12. keep_cfengine_keys post_run_deb
  13. keep_files post_s390_reboot
  14. keep_rhn_keys pre_anamon
  15. keep_ssh_host_keys pre_install_network_config
  16. kickstart_done pre_partition_select
  17. kickstart_start preseed_apt_repo_config
  18. koan_environment proxy.xml
  19. late_apt_repo_config puppet_install_if_enabled
  20. log_ks_post puppet_register_if_enabled
  21. log_ks_post_nochroot redhat_register
  22. log_ks_pre restore_boot_device
  23. main_partition_select rhn_certificate_based_register
  24. network_config save_boot_device
  25. network_config_esx suse_scriptwrapper.xml
  26. network_config_esxi
  27. [root@linux-node1 snippets]#

  

查看官方文档,网卡绑定部分

http://cobbler.github.io/manuals/2.8.0/

这里能实现,装机后多网卡绑定
下面4条命令可以实现
mode=1 表示主备模式,mode=0表示负载均衡

Cobbler目录详细介绍


1、Cobbler配置文件目录:/etc/cobbler
/etc/cobbler/settings #cobbler主配置文件
/etc/cobbler/dhcp.template #DHCP服务的配置模板
/etc/cobbler/tftpd.template #tftp服务的配置模板
/etc/cobbler/rsync.template #rsync服务的配置模板
/etc/cobbler/iso #iso模板配置文件
/etc/cobbler/pxe #pxe模板文件
/etc/cobbler/power #电源的配置文件
/etc/cobbler/users.conf #Web服务授权配置文件
/etc/cobbler/users.digest #用于web访问的用户名密码配置文件
/etc/cobbler/dnsmasq.template #DNS服务的配置模板
/etc/cobbler/modules.conf #Cobbler模块配置文件
2、Cobbler数据目录:/var/lib/cobbler
/var/lib/cobbler/config #配置文件
/var/lib/cobbler/triggers #Cobbler命令
/var/lib/cobbler/kickstarts #默认存放kickstart文件
/var/lib/cobbler/loaders #存放的各种引导程序
3、系统安装镜像目录:/var/www/cobbler
/var/www/cobbler/ks_mirror #导入的系统镜像列表
/var/www/cobbler/images #导入的系统镜像启动文件
/var/www/cobbler/repo_mirror #yum源存储目录
4、日志目录:/var/log/cobbler
/var/log/cobbler/install.log #客户端系统安装日志
/var/log/cobbler/cobbler.log #cobbler日志

Cobbler自动装机--2的更多相关文章

  1. CentOS7中搭建cobbler自动装机服务

    一.实验环境 一台centos7 epel源网址 https://fedoraproject.org/wiki/EPEL?rd=Epel 使用nat模式 二.实验步骤 1.下载epel源后进行文件夹挂 ...

  2. Cobbler自动装机试验

    Cobbler自动装机简介:Cobbler是一个使用Python开发的开源项目,通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动的批量快速建立Linux系统的网络安装环境.Cobbler提供 ...

  3. Cobbler自动装机--1

    cobbler介绍 cobbler官网:http://cobbler.github.io/用个人的话来说就是cobbler就是一款通过网络快速安装Linux操作系统的产品.cobbler可以配置,管理 ...

  4. 1. 自动化运维系列之Cobbler自动装机

    preface 我们之前批量安装操作系统的时候都是采用pxe来安装,pxe也是通过网络安装操作系统的,但是PXE依赖于DHCP,HTTP/TFTP,kicstart等支持.安装流程如下所示: 对于上面 ...

  5. Cobbler自动装机

    preface 我们之前批量安装操作系统的时候都是采用pxe来安装,pxe也是通过网络安装操作系统的,但是PXE依赖于DHCP,HTTP/TFTP,kicstart等支持.安装流程如下所示: 对于上面 ...

  6. cobbler自动装机服务简介与配置

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

  7. Cobbler自动部署装机 轻松解决装机烦恼

    Cobbler自动部署装机一.实验准备二.搭建步骤1.导入epel源2.安装Cobbler以及其相关服务软件包3.修改Cobbler 主配置文件4.启动相关服务并关闭防火墙和selinux5.使用co ...

  8. pxe+kickstart cobbler无人值守装机

    环境准备: 一台服务器 [root@admin tftpboot]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [roo ...

  9. Cobbler自动部署主机系统

    Cobbler自动部署主机系统 简介: Cobbler由python语言开发,是对PXE和 Kickstart以及DHCP的封装.融合很多特性,提供了CLI和Web的管理形式.更加方便的实行网络安装. ...

随机推荐

  1. Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容

    Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...

  2. layer 问题 汇总

    1.搭配iframe  子页面遮罩层 覆盖父页面 window.parent.layer.open({      // type: 1, //skin: 'layui-layer-rim', //加上 ...

  3. Ajax 以及 前端JSP页面如何查看数值

    $.ajax({ url: ctx + "/unit/rsdl/qyjy/getDljgCode", type: "post", success: functi ...

  4. MySql笔记之数据备份与还原

    MySQL数据备份.还原与迁移 一.数据备份------mysqldump 1.语法: mysqldump -u user(用户名)-h host(登录用户的主机名称)-p password(登录密码 ...

  5. Vue extend 学习

    <div id="box"> <aa></aaa> </div> <script> var Aaa = Vue.exte ...

  6. doc转html

    Doc2Html  li标签没闭合 在线Word转HTML  style样式

  7. [LeetCode&Python] Problem 543. Diameter of Binary Tree

    Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...

  8. 安卓与Unity交互之-Android Studio创建Module库模块教程

    安卓开发工具创建Module库 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...

  9. XXS level4

    (1)查看PHP源代码 <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str ...

  10. loadrunner笔记---一

    1.Loadrunner主要由Vugen,Controller和Analyais3部分组成 2.简述描述集合点和集合点函数 集合点可以同步虚拟用户,以便能在同一时刻执行任务,集合点函数lr_rende ...