pxe+kickstart cobbler无人值守装机
2016-03-22 17:19
651 查看
环境准备:
一台服务器
###########################pxe+kickstart###############################
pxe+kickstart自动装机原理:
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户?)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux等。
原理图
菜谱
菜谱的存放位置:
/var/lib/cobbler/kickstarts
查看一下我们都已经准备了什么东西:
九.什么样的原材料使用什么样的菜谱
我们前面也说了,cobbler可以导入多个镜像文件,提供多样化的安装,并且菜谱也可以有多个,那么不同的镜像就需要使用不同的配置文件,比如centos6分区的类型应该是ext4,centos7应该是xfs,所以我们需要将不用的镜像和不同的配置文件对应起来。
执行:
CentOS7的特殊性:
修改安装系统的内核参数,在centos7系统有一个地方变了,就是网卡名变为eno16777736这种形式,但是为了运维标准化,我们需要将它变成我们常用的eth0,因此使用下面的参数。但是注意是centOS7才需要下面的步骤,centOS6不需要!!
十.自定义系统
虽然是自动化安装,但是有时候还是避免不了对某些机器做一些特殊化操作,但是这些裸机都还没有系统,主机名等信息,如何将他们区别对待,好对某一台进行特殊化设置呢?OK,那就是MAC地址,都能做哪些设置呢,见下文。
一台服务器
[root@admin tftpboot]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@admin tftpboot]# uname -a Linux admin 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [root@admin tftpboot]#
###########################pxe+kickstart###############################
pxe+kickstart自动装机原理:
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户?)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux等。
原理图
#Kickstart Configurator by Jason Zhao #platform=x86, AMD64, or Intel EM64T #System language lang en_US #System keyboard keyboard us #Sytem timezone timezone Asia/Shanghai #Root password rootpw --iscrypted $default_password_crypted #rootpw --iscrypted $1$ops-node$7hqdpgEmIE7Z0RbtQkxW20 #Use text mode install text #Install OS instead of upgrade install #Use NFS installation Media url --url=$tree #这些$开头的变量都是调用配置文件里的值。 #url --url=http://192.168.56.11/CentOS-7.1-x86_64 #System bootloader configuration bootloader --location=mbr #Clear the Master Boot Record zerombr #Partition clearing information clearpart --all --initlabel #Disk partitioning information part /boot --fstype xfs --size 1024 --ondisk sda #centos7系统磁盘默认格式xfs part swap --size 16384 --ondisk sda part / --fstype xfs --size 1 --grow --ondisk sda #System authorization infomation auth --useshadow --enablemd5 #Network information $SNIPPET('network_config') #network --bootproto=dhcp --device=eth0 --onboot=on # Reboot after installation reboot #Firewall configuration firewall --disabled #SELinux configuration selinux --disabled #Do not configure XWindows skipx %pre $SNIPPET('log_ks_pre') $SNIPPET('kickstart_start') $SNIPPET('pre_install_network_config') # Enable installation monitoring $SNIPPET('pre_anamon') %end #Package install information %packages @ base @ core sysstat iptraf ntp lrzsz ncurses-devel openssl-devel zlib-devel OpenIPMI-tools mysql nmap screen %end %post systemctl disable postfix.service %end
菜谱
菜谱的存放位置:
/var/lib/cobbler/kickstarts
查看一下我们都已经准备了什么东西:
[root@admin ~]# cobbler list distros: CentOS-7.2-x86_64 //原材料(镜像)的名字 profiles: CentOS-7.2-x86_64 //菜谱(配置文件的名字) systems: repos: images: mgmtclasses: packages: files: [root@admin ~]# cobbler profile report Name : CentOS-7.2-x86_64 TFTP Boot Files : {} Comment : DHCP Tag : default Distribution : CentOS-7.2-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 //这就默认的 Kickstart Metadata : {} Management Classes : [] Management Parameters : <<inherit>> Name Servers : [] Name Servers Search Path : [] Owners : ['admin'] Parent Profile : Internal proxy : Red Hat Management Key : <<inherit>> Red Hat Management Server : <<inherit>> Repos : [] Server Override : <<inherit>> Template Files : {} Virt Auto Boot : 1 Virt Bridge : xenbr0 Virt CPUs : 1 Virt Disk Driver Type : raw Virt File Size(GB) : 5 Virt Path : Virt RAM (MB) : 512 Virt Type : kvm
九.什么样的原材料使用什么样的菜谱
我们前面也说了,cobbler可以导入多个镜像文件,提供多样化的安装,并且菜谱也可以有多个,那么不同的镜像就需要使用不同的配置文件,比如centos6分区的类型应该是ext4,centos7应该是xfs,所以我们需要将不用的镜像和不同的配置文件对应起来。
执行:
cobbler profile edit --name=CentOS-7.1-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.1-x86_64.cfg
CentOS7的特殊性:
修改安装系统的内核参数,在centos7系统有一个地方变了,就是网卡名变为eno16777736这种形式,但是为了运维标准化,我们需要将它变成我们常用的eth0,因此使用下面的参数。但是注意是centOS7才需要下面的步骤,centOS6不需要!!
cobbler profile edit --name=CentOS-7.1-x86_64 --kopts='net.ifnames=0 biosdevname=0'
十.自定义系统
虽然是自动化安装,但是有时候还是避免不了对某些机器做一些特殊化操作,但是这些裸机都还没有系统,主机名等信息,如何将他们区别对待,好对某一台进行特殊化设置呢?OK,那就是MAC地址,都能做哪些设置呢,见下文。
[root@admin kickstarts]# cobbler system add --name=chenyao --mac=00:0C:29:82:8D:1F --profile=CentOS-7.2-x86_64 --ip-address=192.168.220.10 --subnet=255.255.255.0 --gateway=192.168.220.2 --interface=eth0 --static=1 --hostname=lvs --name-servers="114.114.114.144 8.8.8.8" [root@admin kickstarts]# cobbler system list chenyao [root@admin kickstarts]#
相关文章推荐
- Android开发之assets目录下资源使用总结
- VS2015 使用 Web Deploy 发布网站到 WindowsServer2008 R2服务器详解
- python环境配置
- laravel提示Mcrypt PHP extension required
- 早来的圣诞礼物!--android 逆向菜鸟速參手冊完蛋版
- 贝塞尔曲线与CAShapeLayer
- SSH学习之Struts1入门的简单登陆案例。
- Android中attrs.xml文件的使用详解
- 思博伦压测工具host设置方法
- Oracle取TOP N条记录
- 小汪Hibernate 学习之一 Hibernate 小例子
- 第四周项目3:随机数函数用于游戏!
- [重写开源框架源码]HorizontalListView的滑动冲突解决
- Nginx动静分离经典案例配置
- Python 能干什么(一)
- oslo_config中的DuplicateOptError坑
- Unity3D UGUI之ScrollView弹簧效果
- ABAP 权限程序
- 扩展easyui 的表单验证
- 利用js、jQuery和css实现环形进度条组件封装