linux运维自动化之系统安装专题

自动化安装简介

所谓自动化安装,就是整个安装过程中不需要人工的参与,完全自动化配置系统,这样可以大大简化运维人员的时间成本和繁琐的机械的工作。我们知道,正常的安装过程中,我们会进入一个配置的页面。其实这个页面背后运行的是anaconda安装程序,我们进入的配置页面,便是在背后生成了一个文件,安装系统会根据文件来安装我们的系统。既然这个文件可以自己手动通过图形化配置,那我们就可以在安装系统的时候自动实现应答,实现整个系统的自动化安装。下面我们介绍两种配置kickstart文件的方式。
方式一
其实我们首次安装完系统的时候,我们的系统自动在我们的root的家目录下形成一个基于上次安装的配置所形成的一个配置文件
一般叫做“anaconda-ks.cfg”

配置项

方式二:制用kickstart文件
Linux下为我们提供了一个图形化的工具,我们可以使用这个工具一步步的进行我们的配置,然后生成配置文件,还可以打开模板文件进行修改,非常的方便,下面我们来介绍一下:

首先我们进行安装这个工具,如果你没有安装图形化还需要安装图形化才可以安装这个工具,我已经安装好图形化,这里我直接安装工具,执行下面的命令:
yum install system-config-kickstart -y #安装工具
system-config-kickstart #打开工具
具体项目详解
1.第一步

1.第二步

第三步

加 这个内核参数后,可以吧网卡名改成eth0

第四步

第五步

第六步

第七步

第八步

第九步
这里有坑 就是 centos7 yum源name 必须改成development 模式,否则不展示

第十 十一步 安装构建 相当于 setup 和teardown

实验:dhcp服务器

第一步初始化设置

第二步装包

启动服务报错

修改配置文件
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf


再次启动服务,成功 查看监听端口 67

配置客户端 ,ip地址自动获取

配置服务端,和项目说明

配置完重启

测试
用刚才的客户端进行测试



客户端租期查看

服务端租期查看

到此DHCP服务实验结束

实验:基于centos7的PXE自动化安装centos7,6

环境:
两台主机
一台DHCP,HTTPD,TFTP服务器(一个网卡,仅主机),一台测试机(一个网卡,仅主机)
关闭仅主机的vmware中dhcp服务

1 yum install httpd tftp-server dhcp syslinux
systemctl start httpd tftp

2 准备yum 源
1)准备两张盘,一个挂6,一个挂7

2)创建存放yum的文件夹
mkdir /var/www/html/centos/{6,7}/os/x86_64 -pv

3)挂载
mount /dev/sr0 /var/www/html/centos/7/os/x86_64
mount /dev/sr1 /var/www/html/centos/6/os/x86_64

3 ks文件
system-config-kickstart 此步骤参考 kickstart文件制作得过程博客
mkdir /var/www/html/ksdir/

ls /var/www/html/ksdir/

4 配置dhcp服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

systemctl start dhcpd

5 准备相关的文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/centos{6,7}
cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7
cp /var/www/html/centos/6/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /var/www/html/centos/7/os/x86_64/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

[root@centos7 tftpboot]#tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── centos6
│   ├── initrd.img
│   └── vmlinuz
├── centos7
│   ├── initrd.img
│   └── vmlinuz
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
└── default
3 directories, 7 files

6 准备启动菜单
vim /var/lib/tftpboot/pxelinux.cfg/default
变更前菜单

变更后菜单
default menu.c32
timeout 600
menu title CentOS Auto Install

label mini7
menu label Install CentOS ^Mini 7
kernel centos7/vmlinuz
append initrd=centos7/initrd.img ks=http://192.168.37.7/ksdir/ks7_mini.cfg

label desktop
menu label Install CentOS ^Desktop 7
kernel centos7/vmlinuz
append initrd=centos7/initrd.img ks=http://192.168.37.7/ksdir/ks7_desktop.cfg

label mini6
menu label Install CentOS Mi^ni 6
kernel centos6/vmlinuz
append initrd=centos6/initrd.img ks=http://192.168.37.7/ksdir/ks6_mini.cfg

label local
menu default
menu label Boot from ^local drive
localboot 0xffff

7 测式机网卡启动
安装个新的虚拟机直接启动,看到启动菜单证明环境搭建成功

实验:基于cobbler自动化安装

1 yum install cobbler(EPEL源) dhcp

2 systemctl start cobblerd httpd tftp

3 cobbler check

4 vim /etc/cobbler/settings
default_password_crypted: "$1$RFO.hOYF$g79MJdrxFJMgpggQlhjev/" #openssl passwd -1

next_server: 192.168.37.17

manage_dhcp: 1

server: 192.168.37.17

systemctl restart cobblerd

5 修改dhcp
vim /etc/cobbler/dhcp.template
subnet 192.168.37.0 netmask 255.255.255.0 {
option routers 192.168.37.2;
option domain-name-servers 192.168.37.2;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.37.100 192.168.37.254;

cobbler sync

此时dhcp 配置文件已经自动生成

systemctl start dhcpd

6 下载boot loader 连外网
cobbler get-loaders

cobbler sync

7 创建yum 源
cobbler import --path=/misic/cd --name=CentOS7.6-x86_64 --arch=x86_64

这时 我们看到正在拷贝

自动生成菜单,不用手工创建

客户端测试 可以安装使用

cobbler profile list
cobbler distro list

8 自定义安装,准备ks文件
cp ks7_mini.cfg /var/lib/cobbler/kickstarts/
vim /var/lib/cobbler/kickstarts/ks7_mini.cfg
url --url=$tree

cobbler profile add --name CentOS7.6-x86_64_desktop --distro=CentOS7.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/czq-ks.cfg

9 测试安装

10 实现web cobbler管理
yum install cobbler-web (sohu EPEL)
systemctl restart httpd

https://192.168.111.34/cobbler_web

posted on 2020-09-10 06:43  jiapengchu  阅读(288)  评论(0编辑  收藏  举报

导航