前言

在上一篇博文《cobbler批量安装系统使用详解-技术流ken》中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统。

pxe+kickstart单台服务器只能安装一个版本的操作系统,这就造成了实际工作中的局限性。

系统环境准备

  1. 一台安装好cobbler的服务器
  2. 准备centos7.3版本的镜像

添加centos7镜像

关掉虚拟机,在虚拟机CD/DVD选项中选择准备好的centos6镜像。

挂载光盘

把centos7的光盘挂载到/mnt下,并检查是否挂载成功。

[root@ken ~]# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@ken ~]# ls /mnt
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL

cobbler导入镜像

复制过程会有点慢,大概三四分钟左右,等待完成即可。

[root@ken ~]# cobbler import --path=/mnt --name=centos7.3

导入完成,进行同步。

[root@ken ~]# cobbler sync

制作ks文件

不同版本的系统要求的ks文件内容都是不同的,下面这个7.3版本系统的ks文件是我根据7.5修改的

大家如果需要一个ks文件。可以事先使用该镜像下载一个系统出来,获取到该ks文件。

[root@ken ~]# cat /var/lib/cobbler/kickstarts/ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
url --url=http://192.168.182.152/cobbler/ks_mirror/centos7.3/ #这里需要修改成与上面centos7.3定义的名称一致
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF- # Network information
network --bootproto=dhcp --device=ens33 --ipv6=auto #这里的--no-active需要删掉
network --hostname=localhost.localdomain # Root password
rootpw --iscrypted $$7zu1wIUDgBGEFV1Y$KsLVeaGmyN92.QHr1fqKdTqPu8PDmd8K9V/s3Ru8NxE53NZz4gQKsmP6K0udcXVvDtponekICYUwBD7tYZJqU/
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel %packages
@^minimal
@core %end %addon com_redhat_kdump --disable --reserve-mb='auto' %end #%anaconda #从这里开始下面注释掉
#pwpolicy root --minlen= --minquality= --notstrict --nochanges --notempty
#pwpolicy user --minlen= --minquality= --notstrict --nochanges --emptyok
#pwpolicy luks --minlen= --minquality= --notstrict --nochanges --notempty
#%end

CentOS 6.x 的一个kickstart配置文件示例:

# Kickstart file automatically generated by anaconda.

#version=RHEL6.
install
url --url=http://mirrors.ustc.edu.cn/centos/6.7/os/x86_64
#url --url=http://mirrors.163.com/centos/6.7/os/x86_64
#url --url=http://mirrors.aliyun.com/centos/6.7/os/x86_64 lang en_US.UTF-
keyboard us
network --device eth0 --bootproto dhcp --noipv6
#network --device eth0 --bootproto dhcp --ipv6 dhcp
rootpw --iscrypted $$45lFuCoyFZwpy3Gn$kvCuoEVXyK0q6ow7qBmo9vaEyajunJ62LR5HlmAKRAOpK/Z2ZyrSSbaPsSHnhZU2P1MF5e.QDu2wkOOo661It.
zerombr
clearpart --all --initlabel
autopart
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512 --enablefingerprint
selinux --enforcing
timezone --utc America/New_York
bootloader --location=partition --driveorder=sda --append="rhgb quiet"
skipx
text
cmdline
poweroff %packages @base
nfs-utils
NetworkManager
%end

自定义制作profile

自定义profile,指定kickstart文件。

[root@ken ~]# cobbler profile add --distro=centos7.-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks.cfg  --name=centos7.3_ken

制作完成,进行同步。

[root@ken ~]# cobbler sync

查看所有的profile

[root@ken ~]# cobbler profile list
centos7.-x86_64
centos7.3_ken
centos7.5_ken

可以发现,我们现在已经有了不同版本的系统了。

删除没有ks文件的profile

[root@ken ~]# cobbler profile remove --name=centos7.-x86_64
[root@ken ~]# cobbler profile list
centos7.3_ken
centos7.5_ken

新建虚拟机测试

现在我们可以根据工作需要可以选择不同版本的系统了。

我们选择我们刚才创建的第1个centos7.3系统进行测试安装。

开始安装软件包

安装完成。

故障排除

在安装的时候如果出现了这个错误,需要把内存加到两个G以上即可。

进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken的更多相关文章

  1. cobbler单台服务器实现批量自动化安装不同版本系统-技术流ken

    前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...

  2. 解放双手—Cobbler批量自动化部署多版本系统

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

  3. 实战!基于lamp安装Discuz论坛-技术流ken

    简介 我前面的博客已经详细介绍了lamp采用yum安装以及编译安装的方式,这篇博客将基于yum安装的lamp架构来实战安装Discuz论坛,你可以任选其一来完成. 系统环境 centos7.5 服务器 ...

  4. 高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少

    高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少     阅读(81374) | 评论(9)收藏16 淘帖1 赞3   JackJiang Lv.9    1 年前 | 前言 曾几何时我 ...

  5. 【 Linux 】单台服务器上并发TCP连接数

    单台服务器上并发TCP连接数    问题:一台服务器到底能够支持多少TCP并发连接呢? 1. 文件描述符限制:    对于服务器来说,每一个TCP连接都要占用一个文件描述符,一旦文件描述符使用完,新的 ...

  6. 【 Linux 】单台服务器上并发TCP连接数(转)

    单台服务器上并发TCP连接数    问题:一台服务器到底能够支持多少TCP并发连接呢? 1. 文件描述符限制:    对于服务器来说,每一个TCP连接都要占用一个文件描述符,一旦文件描述符使用完,新的 ...

  7. 网络编程释疑之:单台服务器上的并发TCP连接数可以有多少

    曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了.我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来 ...

  8. Memcached解决单台服务器故障问题

    <beitmemcached> <add key="name1" value="server1:port" /> <add key ...

  9. 单台服务器最大tcp连接

    如果对服务器进行压力测试,常常出现这种情况 tcp连接数过多 netstat   -an    windows查看tcp连接数 那么怎么增加单台服务器的最大连接数呢?       最简单的办法,增加内 ...

随机推荐

  1. nginx + tomcat 反向代理

    简单的配置:# my test java+nginx project server { listen ; server_name localhost; root /home/user/Desktop/ ...

  2. MDK5使用Jlink下载显示 no cortex m sw divice 解决办法

    问题: (1)下面界面中找不到设备 (2)下载程序的时候提示" no cortex m sw divice " 然后是"target dll has been cance ...

  3. layui导航栏和layui.layui.msg问题

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 字符串、List集合、数组互转

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "Songti SC"; color: #3933ff } p.p2 { ...

  5. 基于SDRAM的视频图像采集系统

    本文是在前面设计好的简易SDRAM控制器的基础上完善,逐步实现使用SDRAM存储视频流数据,实现视频图像采集系统,CMOS使用的是OV7725. SDRAM控制器的完善 1. 修改SDRAM的时钟到1 ...

  6. SVM分类器实现实例

    我正在做一个关于SVM的小项目,在我执行验证SVM训练后的模型的时候,得到的report分数总是很高,无论是召回率(查全率).精准度.还是f1-score都很高: 图1 分类器分数report 但是, ...

  7. asp.net core系列 51 Identity 授权(下)

    1.6 基于资源的授权 前面二篇中,熟悉了五种授权方式(对于上篇讲的策略授权,还有IAuthorizationPolicyProvider的自定义授权策略提供程序没有讲,后面再补充).本篇讲的授权方式 ...

  8. (leetcode:选择不相邻元素,求和最大问题):打家劫舍(DP:198/213/337)

    题型:从数组中选择不相邻元素,求和最大 (1)对于数组中的每个元素,都存在两种可能性:(1)选择(2)不选择,所以对于这类问题,暴力方法(递归思路)的时间复杂度为:O(2^n): (2)递归思路中往往 ...

  9. api接口参数问题

    对于取数据,我们使用最多的应该就是get请求了吧.下面通过几个示例看看我们的get请求参数传递. 回到顶部 1.基础类型参数 [HttpGet] public string GetAllChargin ...

  10. 工程文件csproj使用编译条件指定属性

    csproj工程文件中有很多xml格式的属性,比如PropertyGroup.ItemGroup,某些属性操作默认是全部的或者是当前编译条件的而已,当我们想指定某些属性只在某个编译条件下发生时就可以通 ...