《liNUX学习:PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7》要点:
本文介绍了liNUX学习:PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7,希望对您有用。如果有疑问,可以联系我们。
Cobbler(补鞋匠)是通过将DHCP、TFTP、DNS、http等服务进行集成,创立一个中央管理节点,其可以实现的功能有配置服务,创立存储库,解压缩 *** 作系统媒介,代理或集成一个配置管理系统,控制电源管理等. Cobbler的最终目的是实现无需进行人工干预即可安装机器.
pxe概述
预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装 *** 作系统
PXE ClIEnt发送广播包哀求DHCP分配IP地址DHCP
Server回复哀求,给出IP地址以及Boot
Server的地址PXE下载引导文件执行引导程序
总结来说,
pxe客户端会挪用网际协议(ip)、用户数据报协议(udp)、动态主机设定协议(DHCP)、小型文件传输协议(TFTP)
pxe客户端(clIEnt)指机器在pxe启动进程中的角色.一个pxe客户端可以是一台服务器、笔记本电脑或者其他装有pxe启动代码的机器
PXE主要是通过广播的方式发送一个包,并请注获取一个地址,而后交给TFTP法式下载一个引导文件.
cobbler和Kickstart批量装机软件
Cobbler由python语言开发,是对PXE和Kickstart以及DHCP的封装.融合很多特性,提供了Cli和Web的管理形式.更加便利的实行网络安装.同时,Cobbler也提供了API接口,使用其它语言也很容易做扩展.它不紧可以安装物理机,同时也支持kvm、xen虚拟化、Guest OS的安装.更多的是它还能结合Puppet等集中化管理软件,实现自动化的管理.
Kickstart 是一种无人值守的安装方式,它的工作原理是在安装过程中记录人工干预填写的各种参数,并生成一个名为ks.cfg的文件.我们可以简单理解为一个自动安装应答配置管理法式.通过读取这个配置文件,系统知道怎么去分区,要安装什么包,配什么IP,优化什么内核参数等等
一句话总结:Cobbler补鞋匠是对Kickstart的封装,简化安装步调、使用流程,官方号称补鞋匠都能学会的批量装机.
Cobbler 事情流程
server端:
第一步,启动Cobbler服务
第二步,进行Cobbler差错检查,执行cobbler check命令
第三步,进行配置同步,执行cobbler sync命令
第四步,复制相关启动文件文件到TFTP目录中
第五步,启动DHCP服务,提供地址分配
第六步,DHCP服务分配IP地址
第七步,TFTP传输启动文件
第八步,Server端接收安装信息
第九步,Server端发送ISO镜像与Kickstart文件
ClIEnt端:
第一步,客户端以PXE模式启动
第二步,客户端获取IP地址
第三步,通过TFTP服务器获取启动文件
第四步,进入Cobbler安装选择界面
第五步,客户端确定加载信息
第六步,根据配置信息准备安装系统
第七步,加载Kickstart文件
第八步,传输系统安装的其它文件
第九步,进行安装系统
正式情况准备:
1.网络环境:host-only、nat网络,因为Cobbler需要用到本身的dhcp服务器,所以为了防止都在同一个网络造成dhcp获取混乱,需要切换网络!~
2.类似安装服务必要的环境准备:1,关闭iptables,selinux 2,配置静态IP、设置主机名 并且在hosts文件下绑定 3.时间同步 4.配置当地iso镜像里的yum仓库,163源epel源 (安装软件)
cobbler server ------- clIEnt
192.168.100.221/24 ------------------------------------ 装机时候由DHCP自动设置装备摆设
一. 在cobbler server上安装cobbler
yum install cobbler cobbler-web tftP* rsync xinetd http* syslinux dhcP* pykickstart
@H_403_118@[root@bokeyuan ~]
# yum install cobbler cobbler-web tftP* rsync xinetd http* syslinux dhcP* pykickstart
Loaded plugins: fastestmirror,langpacks
Loading mirror speeds from cached hostfile
Package
rsync
-3.0.9-17.el7.x86_64 already installed and latest version
Package 12:dhcp-common-4.2.5-47.el7.CentOS.x86_64 already installed and latest version
Package 12:dhcp-libs-4.2.5-47.el7.centos.x86_64 already installed and latest version
Package pykickstart-1.99.66.10-1.el7.noarch already installed and latest version
Resolving DependencIEs
--> Running transaction check
---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed
--> Processing Dependency: python-simpleJson
for
package: cobbler-2.6.3-1.el6.noarch
--> Processing Dependency: python-cheetah
for
package: cobbler-2.6.3-1.el6.noarch
--> Processing Dependency: mod_wsgi
for
package: cobbler-2.6.3-1.el6.noarch
--> Processing Dependency: PyYAML
for
package: cobbler-2.6.3-1.el6.noarch
---> Package cobbler-web.noarch 0:2.6.3-1.el6 will be installed
--> Processing Dependency: mod_ssl
for
package: cobbler-web-2.6.3-1.el6.noarch
--> Processing Dependency: Django
for
package: cobbler-web-2.6.3-1.el6.noarch
---> Package dhcp.x86_64 12:4.2.5-47.el7.centos will be installed
---> Package httpcomponents-clIEnt.noarch 0:4.2.5-5.el7_0 will be installed
--> Processing Dependency: mvn(commons-logging:commons-logging)
for
package: httpcomponents-clIEnt-4.2.5-5.el7_0.noarch
--> Processing Dependency: mvn(commons-codec:commons-codec)
for
package: httpcomponents-clIEnt-4.2.5-5.el7_0.noarch
---> Package httpcomponents-core.noarch 0:4.2.4-6.el7 will be installed
---> Package httpd.x86_64 0:2.4.6-45.el7.centos will be installed
--> Processing Dependency:
/etc/mime
.types
for
package: httpd-2.4.6-45.el7.centos.x86_64
---> Package httpd-devel.x86_64 0:2.4.6-45.el7.centos will be installed
--> Processing Dependency: apr-util-devel
for
package: httpd-devel-2.4.6-45.el7.centos.x86_64
--> Processing Dependency: apr-devel
for
package: httpd-devel-2.4.6-45.el7.centos.x86_64
---> Package httpd-manual.noarch 0:2.4.6-45.el7.centos will be installed
---> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos will be installed
---> Package syslinux.x86_64 0:4.05-13.el7 will be installed
---> Package tftp.x86_64 0:5.2-13.el7 will be installed
---> Package tftp-server.x86_64 0:5.2-13.el7 will be installed
@H_683_301@---> Package xinetd.x86_64 2:2.3.15-13.el7 will be installed
--> Running transaction check
---> Package Django14.noarch 0:1.4.20-1.el6 will be installed
--> Processing Dependency: python(abi) = 2.6
for
package: Django14-1.4.20-1.el6.noarch
--> Processing Dependency: python-simpleJson
for
package: Django14-1.4.20-1.el6.noarch
---> Package PyYAML.x86_64 0:3.10-11.el7 will be installed
--> Processing Dependency: libyaml-0.so.2()(64bit)
for
package: PyYAML-3.10-11.el7.x86_64
---> Package apache-commons-codec.noarch 0:1.8-7.el7 will be installed
---> Package apache-commons-logging.noarch 0:1.1.2-7.el7 will be installed
--> Processing Dependency: mvn(logkit:logkit)
for
package: apache-commons-logging-1.1.2-7.el7.noarch
--> Processing Dependency: mvn(log4j:log4j)
for
package: apache-commons-logging-1.1.2-7.el7.noarch
--> Processing Dependency: mvn(avalon-framework:avalon-framework-API)
for
package: apache-commons-logging-1.1.2-7.el7.noarch
---> Package apr-devel.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util-devel.x86_64 0:1.5.2-6.el7 will be installed
--> Processing Dependency: openldap-devel(x86-64)
for
package: apr-util-devel-1.5.2-6.el7.x86_64
--> Processing Dependency: libdb-devel(x86-64)
for
package: apr-util-devel-1.5.2-6.el7.x86_64
--> Processing Dependency: expat-devel(x86-64)
for
package: apr-util-devel-1.5.2-6.el7.x86_64
---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed
--> Processing Dependency: python-simpleJson
for
package: cobbler-2.6.3-1.el6.noarch
--> Processing Dependency: python-cheetah
for
package: cobbler-2.6.3-1.el6.noarch
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
---> Package mod_ssl.x86_64 1:2.4.6-45.el7.centos will be installed
---> Package mod_wsgi.x86_64 0:3.4-12.el7_0 will be installed
--> Running transaction check
---> Package Django14.noarch 0:1.4.20-1.el6 will be installed
--> Processing Dependency: python(abi) = 2.6
for
package: Django14-1.4.20-1.el6.noarch
--> Processing Dependency: python-simpleJson
for
package: Django14-1.4.20-1.el6.noarch
---> Package avalon-framework.noarch 0:4.3-10.el7 will be installed
--> Processing Dependency: xalan-j2
for
package: avalon-framework-4.3-10.el7.noarch
@H_403_473@---> Package avalon-logkit.noarch 0:2.1-14.el7 will be installed
--> Processing Dependency: tomcat-servlet-3.0-API
for
package: avalon-logkit-2.1-14.el7.noarch
--> Processing Dependency: jms
for
package: avalon-logkit-2.1-14.el7.noarch
---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed
--> Processing Dependency: python-simpleJson
for
package: cobbler-2.6.3-1.el6.noarch
--> Processing Dependency: python-cheetah
for
package: cobbler-2.6.3-1.el6.noarch
---> Package expat-devel.x86_64 0:2.1.0-8.el7 will be installed
---> Package libdb-devel.x86_64 0:5.3.21-19.el7 will be installed
---> Package libyaml.x86_64 0:0.1.4-11.el7_0 will be installed
---> Package log4j.noarch 0:1.2.17-15.el7 will be installed
--> Processing Dependency: mvn(javax.mail:mail)
for
package: log4j-1.2.17-15.el7.noarch
---> Package openldap-devel.x86_64 0:2.4.40-13.el7 will be installed
--> Processing Dependency: cyrus-sasl-devel(x86-64)
for
package: openldap-devel-2.4.40-13.el7.x86_64
--> Running transaction check
---> Package Django14.noarch 0:1.4.20-1.el6 will be installed
--> Processing Dependency: python(abi) = 2.6
for
package: Django14-1.4.20-1.el6.noarch
--> Processing Dependency: python-simpleJson
for
package: Django14-1.4.20-1.el6.noarch
---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed
--> Processing Dependency: python-simpleJson
for
package: cobbler-2.6.3-1.el6.noarch
--> Processing Dependency: python-cheetah
for
package: cobbler-2.6.3-1.el6.noarch
---> Package cyrus-sasl-devel.x86_64 0:2.1.26-20.el7_2 will be installed
---> Package geronimo-jms.noarch 0:1.1.1-19.el7 will be installed
---> Package javamail.noarch 0:1.4.6-8.el7 will be installed
---> Package tomcat-servlet-3.0-API.noarch 0:7.0.69-10.el7 will be installed
---> Package xalan-j2.noarch 0:2.7.1-23.el7 will be installed
--> Processing Dependency: xerces-j2
for
package: xalan-j2-2.7.1-23.el7.noarch
--> Processing Dependency: osgi(org.apache.xerces)
for
package: xalan-j2-2.7.1-23.el7.noarch
--> Running transaction check
---> Package Django14.noarch 0:1.4.20-1.el6 will be installed
--> Processing Dependency: python(abi) = 2.6
for
package: Django14-1.4.20-1.el6.noarch
--> Processing Dependency: python-simpleJson
for
package: Django14-1.4.20-1.el6.noarch
@H_404_653@---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed
--> Processing Dependency: python-simpleJson
for
package: cobbler-2.6.3-1.el6.noarch
--> Processing Dependency: python-cheetah
for
package: cobbler-2.6.3-1.el6.noarch
---> Package xerces-j2.noarch 0:2.11.0-17.el7_0 will be installed
--> Processing Dependency: xml-commons-resolver >= 1.2
for
package: xerces-j2-2.11.0-17.el7_0.noarch
--> Processing Dependency: xml-commons-APIs >= 1.4.01
for
package: xerces-j2-2.11.0-17.el7_0.noarch
--> Processing Dependency: osgi(org.apache.xml.resolver)
for
package: xerces-j2-2.11.0-17.el7_0.noarch
--> Processing Dependency: osgi(javax.xml)
for
package: xerces-j2-2.11.0-17.el7_0.noarch
--> Running transaction check
---> Package Django14.noarch 0:1.4.20-1.el6 will be installed
--> Processing Dependency: python(abi) = 2.6
for
package: Django14-1.4.20-1.el6.noarch
--> Processing Dependency: python-simpleJson
for
package: Django14-1.4.20-1.el6.noarch
---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed
--> Processing Dependency: python-simpleJson
for
package: cobbler-2.6.3-1.el6.noarch
--> Processing Dependency: python-cheetah
for
package: cobbler-2.6.3-1.el6.noarch
---> Package xml-commons-APIs.noarch 0:1.4.01-16.el7 will be installed
---> Package xml-commons-resolver.noarch 0:1.2-15.el7 will be installed
--> Finished Dependency Resolution
Error: Package: Django14-1.4.20-1.el6.noarch (cobbler)
Requires: python-simpleJson
Error: Package: cobbler-2.6.3-1.el6.noarch (cobbler)
Requires: python-simpleJson
Error: Package: Django14-1.4.20-1.el6.noarch (cobbler)
Requires: python(abi) = 2.6
Installed: python-2.7.5-48.el7.x86_64 (@anaconda)
python(abi) = 2.7
python(abi) = 2.7
Error: Package: cobbler-2.6.3-1.el6.noarch (cobbler)
Requires: python-cheetah
You Could try using --skip-broken to work around the problem
** Found 3 pre-existing rpmdb problem(s),
'yum check'
output follows:
ipa-clIEnt-4.4.0-12.el7.centos.x86_64 has installed conflicts freeipa-clIEnt: ipa-clIEnt-4.4.0-12.el7.centos.x86_64
ipa-clIEnt-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-clIEnt-common: ipa-clIEnt-common-4.4.0-12.el7.centos.noarch
ipa-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-common: ipa-common-4.4.0-12.el7.centos.noarch
报错办理:提示--skip-broken,检查发现自己yum源不全yum无法安装上面三个依赖包.补全yum源办理
安装完成,启动软件
[root@bokeyuan ~]# systemctl restart cobblerd.service
[root@bokeyuan ~]# systemctl restart httpd.service
[root@bokeyuan ~]# systemctl enable cobblerd.service //开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/cobblerd.service to /usr/lib/systemd/system/cobblerd.service.
[root@bokeyuan ~]# systemctl enable httpd.service //开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
为什么启动apache?血的教训,排了很久.不先启动apache 后续cobbler check 报python file 的差错!!!
二.根本配置
@H_403_118@[root@bokeyuan ~]
# cobbler check
The following are potential configuration items that you may want to fix:
1 : The
'server'
fIEld
in
/etc/cobbler/settings
must be
set
to something other than localhost,or kickstarting features will not work. This should be a resolvable
hostname
or IP
for
the boot server as reachable by all machines that will use it.
2 : For PXE to be functional,the
'next_server'
fIEld
in
/etc/cobbler/settings
must be
set
to something other than 127.0.0.1,and should match the IP of the boot server on the PXE network.
3 : change
'disable'
to
'no'
in
/etc/xinetd
.d
/tftp
4 : some network boot-loaders are missing from
/var/lib/cobbler/loaders
,you may run
'cobbler get-loaders'
to download them,or,
if
you only want to handle x86
/x86_64
netbooting,you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. files
in
this directory,should you want to support all architectures,should include pxelinux.0,menu.c32,elilo.efi,and yaboot. The
'cobbler get-loaders'
command
is the easIEst way to resolve these requirements.
5 :
enable
and start rsyncd.service with systemctl
6 : debmirror package is not installed,it will be required to manage debian deployments and repositorIEs
7 : The default password used by the sample templates
for
newly installed machines (default_password_crypted
in
/etc/cobbler/settings
) is still
set
to
'cobbler'
and should be changed,try:
"openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'"
to generate new one
8 : 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.
一步步办理上述需求,部分需求可忽略.个体差异不同 每个人需求数量也不同,基本上大同小异
解决需求1、2、7
# openssl passwd -1 -salt 'werwqerwqr' '123456' --123456为暗码(这是自动安装客户端系统成功后的root登录暗码),werwqerwqr为随机字节干扰码(随便写)
$1$werwqerw$.prcfrYFbwuvkD8XspayN.
# vim /etc/cobbler/settings
384 server: 192.168.100.221 --换成cobbler服务器端的IP
272 next_server: 192.168.100.221 --同上
101 default_password_crypted: "$1$werwqerw$.prcfrYFbwuvkD8XspayN." --把暗码字符串换成你上面产生的字符串(此暗码为客户机安装后的root登录暗码)
解决需求3
# vim /etc/xinetd.d/tftp
disable = no --yes改为no
办理需求5
#systemctl restart rsyncd.service
#systemctl enable rsyncd.service
办理需求8
# yum install fence-agents
OK,剩下的需求像
4 : some network boot-loaders are missing from /var/lib/cobbler/loaders,you may run 'cobbler get-loaders' to download them,if you only want to handle x86/x86_64 netbooting,you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. files in this directory,and yaboot. The 'cobbler get-loaders' command is the easIEst way to resolve these requirements.
6 : debmirror package is not installed,it will be required to manage debian deployments and repositorIEs
(问题4可以使用cobbler get-loaders办理,但需要有外网和外网的yum源 跳过,现在是NAT模式;问题6 是关于debian系统的,我们这里可以忽略)
末了# systemctl restart cobblerd.service 重起下cobbler补鞋匠服务!
三.导入centos7.3的iso镜像
我的环境iso镜像挂载在/yum目录,此拷贝步调时间较长
# cobbler import --path=/yum/ --name=centos7.3
# cobbler distro List --导入成功后,确认导入的镜像名
centos7.3-x86_64
# cobbler profile List --导入成功后,确认默认的profile名
centos7.3-x86_64
[root@bokeyuan ~]# cobbler import --path=/yum/ --name=centos7.3task started: 2017-09-03_175701_importtask started (ID=Media import,time=Sun Sep 3 17:57:01 2017)Found a candIDate signature: breed=RedHat,version=rhel6Found a candIDate signature: breed=redhat,version=rhel7Found a matching signature: breed=redhat,version=rhel7Adding distros from path /var/www/cobbler/ks_mirror/centos7.3:creating new distro: centos7.3-x86_64trying symlink: /var/www/cobbler/ks_mirror/centos7.3 -> /var/www/cobbler/links/centos7.3-x86_64creating new profile: centos7.3-x86_64associating reposchecking for rsync repo(s)checking for rhn repo(s)checking for yum repo(s)starting descent into /var/www/cobbler/ks_mirror/centos7.3 for centos7.3-x86_64processing repo at : /var/www/cobbler/ks_mirror/centos7.3need to process repo/comps: /var/www/cobbler/ks_mirror/centos7.3looking for /var/www/cobbler/ks_mirror/centos7.3/repodata/*comps*.xmlKeePing repodata as-is :/var/www/cobbler/ks_mirror/centos7.3/repodata*** TASK COMPLETE ***
四.改动dhcp配置
# vim /etc/cobbler/dhcp.template --在此文件的第21行到第25行改动成你对应的网段和ip
subnet 192.168.100.0 netmask 255.255.255.0 {
option routers 192.168.100.221;
option domain-name-servers 192.168.100.221;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.100.100 192.168.100.254;
--图形的 *** 作进程这里省略后续还有这一步 重要
# vim /etc/cobbler/settings --再去修改这个配置文件,改成dhcp服务由cobbler来管理
242 manage_dhcp: 1 --把0改为1
# systemctl restart cobblerd.service --保留后,再重启此服务
五.使用cobbler sync同步,并启动xinetd服务
下面的cobbler sync 很重要,如果这步报错必定要排出来,就经验来说这步出错一般是IP配置出错,记得细心一点,个体差异不用就不详细表述~
# cobbler sync
@H_403_118@[root@bokeyuan ~]
# cobbler sync
task started: 2017-09-03_180107_sync
task started (
ID
=Sync,
time
=Sun Sep 3 18:01:07 2017)
running pre-
sync
triggers
cleaning trees
removing:
/var/www/cobbler/images/centos7
.3-x86_64
removing:
/var/lib/tftpboot/pxelinux
.cfg
/default
removing:
/var/lib/tftpboot/grub/images
removing:
/var/lib/tftpboot/grub/efIDefault
removing:
/var/lib/tftpboot/images/centos7
.3-x86_64
removing:
/var/lib/tftpboot/s390x/profile_List
copying bootloaders
trying hardlink
/usr/share/syslinux/pxelinux
.0 ->
/var/lib/tftpboot/pxelinux
.0
trying hardlink
/usr/share/syslinux/menu
.c32 ->
/var/lib/tftpboot/menu
.c32
trying hardlink
/usr/share/syslinux/memdisk
->
/var/lib/tftpboot/memdisk
copying distros to tftpboot
copying files
for
distro: centos7.3-x86_64
trying hardlink
/var/www/cobbler/ks_mirror/centos7
.3
/images/pxeboot/vmlinuz
->
/var/lib/tftpboot/images/centos7
.3-x86_64
/vmlinuz
trying hardlink
/var/www/cobbler/ks_mirror/centos7
.3
/images/pxeboot/initrd
.img ->
/var/lib/tftpboot/images/centos7
.3-x86_64
/initrd
.img
copying images
generating PXE configuration files
generating PXE menu structure
copying files
for
distro: centos7.3-x86_64
trying hardlink
/var/www/cobbler/ks_mirror/centos7
.3
/images/pxeboot/vmlinuz
->
/var/www/cobbler/images/centos7
.3-x86_64
/vmlinuz
trying hardlink
/var/www/cobbler/ks_mirror/centos7
.3
/images/pxeboot/initrd
.img ->
/var/www/cobbler/images/centos7
.3-x86_64
/initrd
.img
Writing template files
for
centos7.3-x86_64
rendering TFTPD files
generating
/etc/xinetd
.d
/tftp
processing boot_files
for
distro: centos7.3-x86_64
cleaning link caches
running post-
sync
triggers
running python triggers from
/var/lib/cobbler/triggers/sync/post/
*
@H_683_301@running python trigger cobbler.modules.sync_post_restart_services
running shell triggers from
/var/lib/cobbler/triggers/sync/post/
*
running python triggers from
/var/lib/cobbler/triggers/change/
*
running python trigger cobbler.modules.scm_track
running shell triggers from
/var/lib/cobbler/triggers/change/
*
淫乱 TASK COMPLETE 淫乱
# systemctl restart xinetd.service
# systemctl enable xinetd.service
六.新建另一个虚拟机 选择网络安装PXE (保证相同私有网络,而且最好2G内存,内存小的话会在安装时报空间不够的错误),进行安装测试
安装完成后,变动boot引导
更多详情见请继续阅读下一页的出色内容:
_baIDu_page_break_tag_自动安装我们已经实现了,但如何自定义我们想安装的profile
重点就是你需要自定义一个ks文件
自定义ks文件的方法
1,如果你很熟悉此文件,直接拷别人的模版修改或者直接使用/root/anaconda-ks.cfg来修改
2,使用一个图形工具system-config-kickstart来帮助你配置(下面我就是使用这种方法)
# yum install system-config-kickstart
# system-config-kickstart
--图形的 *** 作过程这里省略
给大家两个做好的ks.cfg文件参考:
第一个文件就是用来安装CentOS7.3宿主机的ks文件,内容如下:
#platform=x86,AMD64,or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$6RbFC2nC$GBUGZL7ACuGhck8DbUZgM/
# Use network installation
url --url="http://172.16.13.250/cobbler/ks_mirror/centos7.3/"
# System language
lang en_US
# Firewall configuration
firewall --Disabled
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SElinux configuration
selinux --Disabled
# Network information
network --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --append="rhgb quIEt" --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# disk partitioning information
part /boot --fstype="xfs" --size=300
part swap --fstype="swap" --size=4000
part / --fstype="xfs" --size=150000
part /data --fstype="xfs" --size=80000
%packages
@additional-devel
@desktop-deBUGging
@development
@Fonts
@gnome-desktop
@input-methods
@kde-desktop
@legacy-x
@platform-devel
@remote-desktop-clIEnts
@x11
initial-setup
initial-setup-gui
vinagre
%end
第二个文件是用来宿主机安装双系统的ks文件
#platform=x86,or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$6RbFC2nC$GBUGZL7ACuGhck8DbUZgM/
# Use network installation
url --url="http://172.16.13.250/cobbler/ks_mirror/centos7.3/"
# System language
lang en_US
# Firewall configuration
firewall --Disabled
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SElinux configuration
selinux --Disabled
# Network information
network --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --append="rhgb quIEt" --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --none
# disk partitioning information
part swap --fstype="swap" --size=4000
part / --fstype="xfs" --grow --size=1
%packages
@additional-devel
@desktop-deBUGging
@development
@Fonts
@gnome-desktop
@input-methods
@kde-desktop
@legacy-x
@platform-devel
@remote-desktop-clIEnts
@x11
initial-setup
initial-setup-gui
vinagre
%end
=========================================================================
# cobbler profile help --查看帮助
# cobbler profile List --查看有哪些profile
centos7.3-x86_64
# cobbler profile report --name=centos7.3-x86_64 |grep Kickstart
Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks --这就是这个安装方案的kickstart文件
Kickstart Metadata : {}
我现在自定义一个ks文件,也想做成一个profile,步骤如下:
步骤一:
自定义ks文件(使用system-config-kickstart或直接找一个模版文件修改),得到如下的文件
# vim /var/lib/cobbler/kickstarts/centos7.3.ks --复制下面一大段信息,粘到此文件里
#platform=x86,or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$6RbFC2nC$GBUGZL7ACuGhck8DbUZgM/
# Use network installation
url --url="http://192.168.100.2/cobbler/ks_mirror/centos7.3/"
# System language
lang en_US
# Firewall configuration
firewall --Disabled
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SElinux configuration
selinux --Disabled
# Network information
network --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --append="rhgb quIEt" --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# disk partitioning information
part /boot --fstype="xfs" --size=300
part swap --fstype="swap" --size=2000
part / --fstype="xfs" --grow --size=1
%post
rm /etc/yum.repos.d/* -rf
cat > /etc/yum.repos.d/local.repo << EOF
[base]
name=base
baseurl=file:///yum
enabled=1
gpgcheck=0
EOF
%end
%packages
@additional-devel
@desktop-deBUGging
@development
@Fonts
@gnome-desktop
@input-methods
@kde-desktop
@legacy-x
@platform-devel
@remote-desktop-clIEnts
@x11
initial-setup
initial-setup-gui
vinagre
%end
步骤二:把准备好的ks文件做成一个新的profile
# cobbler profile add --name=new_centos7.3 --distro=centos7.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.3.ks
# cobbler profile List --在原来基础上就多了自定义的安装方案
centos7.3-x86_64
new_centos7.3
步骤三:
测试
然后就可以新建一个客户端虚拟机,使用上面的new_centos7.3安装名字来测试了
==================================================================
对上面 *** 作的扩展(仅供参考)
# cobbler profile edit --name=new_centos7.3 --kickstart=/var/lib/cobbler/kickstarts/xxx.ks
# cobbler profile remove --name=new_centos7.3
======================================================================
客户端使用koan与服务器的cobbler联系,实现自动重装系统
客户端需要安装koan软件包(epel源里就有)
# yum install koan
# koan --server=192.168.100.2 --List=profiles --192.168.100.2为cobbler服务器IP,得到的结果和在cobbler服务器上cobbler profile List命令得到的结果一样
centos7.3-x86_64
new_centos7.3
# koan --replace-self --server=192.168.100.2 --profile=new_centos7.3 --指定本客户端依照名为new_centos7.3的profile重装系统
# reboot --敲完上面的命令,使用reboot,就会重装了(没敲上面的命令那reboot就是重启)
本文永远更新链接地址:
学习更多liNUX教程,请查看站内专栏,如果有liNUX疑问,可以加QQ交流《liNUX学习:PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7》。
总结以上是内存溢出为你收集整理的LINUX学习:PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7全部内容,希望文章能够帮你解决LINUX学习:PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)