Linux cobbler实现自动化安装CentOS6和7

背景:

  在学习Linux自动化安装时,接触到了cobbler工具来实现自动化安装CentOS系统,这里将实现过程记录在此,为以后使用做参考作用。

实验设备:

  在VMware上安装好一台centos6.9的虚拟机,配置好epel的yum源(安装cobbler)

实验步骤:

  1、安装cobbler和dhcp

  提示:cobbler需要epel的yum源来安装,光盘里是没有的,可以自己配置一个阿里云的地址;

cat >> /etc/yum.repos.d/base.repo <<EOF
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64/
gpgcheck=0
EOF

  安装cobbler和dhcp的命令:yum -y install cobbler dhcp

  2、进行cobbler检测,看看环境是否能够使用cobbler工具

  命令:clobber check

  下图是第一次执行出现的情况

spacer.gifwKioL1m7ffyjdaroAACTluj5bis139.png-wh_50    虽然提示有很多地方需要修改,不过有的项可以不理它;

 接着我们根据提示去修改配置

  3、编辑配置文件/etc/cobbler/settings

    命令:vim /etc/cobbler/settings

    在配置文件中一共需要修改四项:

    (1)修改serverIP地址为虚拟机地址

    wKioL1m7gN-iMQ23AAApkQh6Jg0576.png-wh_50

    (2)修改next_server地址为虚拟机地址wKiom1m7gYaQsp2uAAAXvCrY8PI896.png    (3)修改dhcp服务器选项,1表示同意让cobbler来管理dhcp服务器,这样可以不用自己去配置dhcp服务器,cobbler会自动填写相关配置wKiom1m7gcHAgoJPAAAV2k0PeHI202.png

    (4)修改初始密码,密码是加密的,需要加密后放入,可以任选加密方式,生成加密密码命令:openssl passwd -1;然后替换/etc/cobbler/settings文件里的对应项

wKiom1nDm2rQxrSuAAElsYIRY4c346.jpg

    (5)下载启动菜单cobbler get-loaders

    如果当前节点可以访问互联网,直接执行“cobbler getloaders”命令即可;否则,需要安装syslinux程序包,而后复制/usr/share/syslinux/{pxelinux.0,memu.c32}等文件至/var/lib/cobbler/loaders/目录中

    修改完后的结果:

wKiom1m7j2CypL7TAACDdk8cvu8532.png

 

  4、重启cobbler和dhcp服务

    重启cobbler命令:service cobblerd restart 

    同步cobbler配置命令:cobbler sync

    重启dhcp:service dhcpd restart

    这时可以看看dhcp的配置文件是否以生成,命令:vim /etc/dhcp/dhcpd.conf

  5、导入系统安装源文件

    这里我们需要两个系统源文件,一个是CentOS6的一个CentOS7的

    所以增加一个分区,挂两个光盘wKioL1m7hYPAPj1fAABH7aawR50449.png

           

    导入命令:cobbler import --path=/mnt/cd2/ --name=centos7.3

         cobbler import --path=/media/CentOS_6.9_Final/ --name=centos6.9

    这里需要注意,两个光盘的内容是比较大的,需要足够的空间来存放文件,并且时间会比较长,要耐心等待

    导入的文件会放在/var/www/cobbler目录,以后系统安装会用到这里的源文件,http服务在安装cobbler时就自动帮你安装上了,并且自动开启,可以用浏览器看看里面是否已经有刚刚导入的文件了

    导入完后用cobbler distro list 来查看导入的源文件

    wKiom1m7jBbD8S-3AAANVUmtY7M792.png

  6、制作kickstart文件,下面是centos6.9的kickstar文件

   # Firewall configuration
   firewall --disabled  #禁止开启防火墙
   # Install OS instead of upgrade
   install
   # Use network installation
   url --url=$tree #这里的$tree表示安装源文件位置,这里一定要写$tree
   # Root password
   rootpw --iscrypted $1$tIVD5XDE$PrF0U5p93laMMIaiscKNG/ #root密码
   # System authorization information
   auth  --useshadow  --passalgo=sha512
   # Use graphical install
   graphical
   firstboot --disable
   # System keyboard
   keyboard us
   # System language
   lang en_US #语言
   # SELinux configuration
   selinux --disabled #禁用selinux
   # Installation logging level
   logging --level=info
   # Reboot
   reboot #重启选项
   # System timezone
   timezone  Asia/Shanghai #时间区
   # Network information
   network  --bootproto=dhcp --device=eth0 --onboot=on
   # System bootloader configuration
   bootloader --location=mbr
   # Clear the Master Boot Record
   zerombr #清空磁盘分区
   # Partition clearing information
   clearpart --all
   # Disk partitioning information
   # 配置分区
   part /boot --fstype="ext4" --size=1024
   part / --fstype="ext4" --size=50000
   part /app --fstype="ext4" --size=50000
   part swap --fstype="swap" --size=2048
  #需要安装的包
   %packages
   @base
   @core
   vim
   autofs
   openssh
   %end

  其实不自己写kickstart也可以,cobbler在导入系统源文件时就有kickstart文件,也就是现在已经可以实现自动化安装了,如果自己定制了kickstart文件

  如果要让自己定制的kickstart文件出现在安装系统选择界面,使用命令:

cobbler profile add --name=centos6.9-custom --kickstart=/var/lib/cobbler/kickstarts/centos6.cfg --distro=centos6.9-x86_64

  --name后接的是安装系统时的选项名称

  --distro后接的源文件,也就是安装哪个系统版本

  --kickstart后接的是自己的kickstart文件位置

如果有多个kickstart文件就使用多次这个命令,来实现多个安装选项


  到此用VMware开一个全新的linux虚拟机,可以不要光盘,下面是开机后出现的选择界面

wKioL1m7kJvwYYTyAABQm-Xvj9s542.png

 

选择好安装哪个系统后就可以自动化安装了