设为首页 收藏本站
查看: 683|回复: 0

[经验分享] Redhat 7 配置Kickstart自动化部署多种系统

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-28 10:34:08 | 显示全部楼层 |阅读模式
使用kickstart自动化部署多种系统,我想到的有两种场景,一种适合于日常运维,当机房上架个别新增的服务器时,根据不同的用途需求,通过一个多系统的启动菜单,输入相应的操作系统名称,即可自动化部署对应的操作系统。例如我在网上看到如下图这样的方案:

wKioL1hiFh-R3STNAAJU7OQxVT8839.jpg
但是在第二种场景即系统集成项目中,如果同时要安装50台、100台的话,每台都要去输入,那也真是令人蛋疼了。系统集成项目通常会遇到服务器数量较多、且不同的项目对操作系统的需求不同的情况,如果准备一台Kickstart一次只是推送一种操作系统的自动化部署,免去了输入的尴尬,但是又具备自动化部署多种系统的能力,只要略作改动,就能摇身一变切换成推送另一种系统,这样就能灵活地适应不同的项目需求了,本文要介绍的便是这种场景的自动化部署。关于Kickstart、PXE的原理性的说明网上有很多资料,在此不再赘述,直接单刀直入进入部署配置环节。

一、测试环境
主机名:KSserver

操作系统:Red Hat Enterprise Linux Server release 7.2 (Maipo)最小化安装
IP地址:192.168.10.11
安装的服务:DHCP服务、tftp服务、PXE服务、vsftpd服务、autofs服务、kickstart服务
防火墙与SELinux:关闭
准备的介质:(1)rhel-server-7.2-x86_64-dvd.iso、(2)rhel-server-6.5-x86_64-dvd.iso


二、安装配置DHCP服务
1、[iyunv@KSserver ~]#yum install -y dhcp
2、[iyunv@KSserver ~]#systemctl start dhcpd
3、[iyunv@KSserver ~]#systemctl enable dhcpd
4、[iyunv@KSserver ~]#cat /etc/dhcp/dhcpd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page

default-lease-time 600;
max-lease-time 7200;
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.10.0 netmask 255.255.255.0 {
option routers 192.168.10.254;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.10.100 192.168.10.200;
next-server 192.168.10.11;
filename "pxelinux.0";
}



5、[iyunv@KSserver ~]#systemctl restart dhcpd

三、安装配置tftp服务和PXE服务
1、[iyunv@KSserver ~]#yum install -y tftp-server syslinux
2、[iyunv@KSserver ~]#systemctl start tftp
3、[iyunv@KSserver ~]#systemctl enable tftp
4、[iyunv@KSserver ~]#vi /etc/xinetd.d/tftp
wKioL1hhwrXTqoZCAABT5f4hPDc063.jpg
5、[iyunv@KSserver ~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
6、[iyunv@KSserver ~]#mount /dev/cdrom /mnt
7、[iyunv@KSserver ~]#cp /mnt/image/pxeboot/initrd.img /var/lib/tftpboot
8、[iyunv@KSserver ~]#cp /mnt/image/pxeboot/vmlinuz /var/lib/tftpboot
9、[iyunv@KSserver ~]#cp /mnt/isolinux/*.msg /var/lib/tftpboot
10、[iyunv@KSserver ~]#mkdir /var/lib/tftpboot/pxelinux.cfg
11、[iyunv@KSserver ~]#cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
12、[iyunv@KSserver ~]vi /var/lib/tftpboot/pxelinux.cfg/default
default RH72 #控制默认从哪个label启动timeout 50  #显示时间5秒 wKiom1hiK97QaDghAABQaYCUnMI301.jpg
四、安装vsftpd服务

1、[iyunv@KSserver ~]yum -y install vsftpd
2、[iyunv@KSserver ~]systemctl start vsftpd
3、[iyunv@KSserver ~]systemctl enable vsftpd

五、安装配置autofs服务
1、[iyunv@KSserver ~]yum -y install autofs
2、[iyunv@KSserver ~]systemctl start autofs
3、[iyunv@KSserver ~]systemctl enable autofs
4、[iyunv@KSserver ~]mkdir /data
5、[iyunv@KSserver ~]ll /data
wKiom1hiCYKBeMNQAABCYpalkTw029.jpg
6、[iyunv@KSserver ~]echo "/var/ftp/pub /etc/auto.ftp" >> /etc/auto.master
7、[iyunv@KSserver ~]cat /etc/auto.ftp
wKioL1hiCgyDeJsUAAA8IVlJPqA835.jpg
8、[iyunv@KSserver ~]df -ah
wKiom1hiCl3AN6hXAAEm3C5gTGk541.jpg
五、安装配置kickstart服务

1、[iyunv@KSserver ~]yum -y install system-config-kickstart
2、准备RH72_ks.cfg和RH65_ks.cfg,分别用于RedHat7.2和Redhat6.5的自动化部署,放在FTP的根目录下,确保可以通过FTP访问到,其中RH72_ks.cfg的内容如下:
[iyunv@KSserver ~]vi /var/ftp/RH72_ks.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Kickstart file automatically generated by anaconda.

#version=DEVEL

# Install OS instead of upgrade
install

#key --skip

# Use network installation
url --url="ftp://192.168.10.11/pub/RH72"

#use graphical install
graphical

lang en_US.UTF-8
keyboard us
timezone --utc Asia/Shanghai

#Network informaton
network --onboot yes --device eth0 --bootproto dhcp --noipv6

# Root password
rootpw p@ssw0rd

# Firewall configuration
firewall --disabled

#SElinux configuration
selinux --disabled

# System authorization information
authconfig --enableshadow --passalgo=sha512

# System bootloader configuration
bootloader --location=mbr

# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --none
firstboot --disable
logging --level=info

# Clear the Master Boot Record
zerombr

#Clear all partion
clearpart --all --initlabel

# Disk partitioning information
part /boot --fstype=ext4 --size=200
part swap --size=1024
#part / --fstype=ext4 --grow --size=20000
part pv.01 --size 20480 --grow
volgroup vg01 pv.01
logvol / --fstype=ext4 --vgname=vg01 --size=10240 --name=lv_root
logvol /var --fstype=ext4 --vgname=vg01 --size=10000 --name=lv_var

reboot

%packages --nobase
@core
%end




六、测试自动化部署RedHat 7.2

wKiom1hiDZ7BVrBfAAAOINGg3XE459.jpg
wKioL1hiDZ_w22ZPAAKIjlc4xGc629.jpg
wKioL1hiDajR2uwqAANcnFePcGY965.jpg
wKiom1hiDajyTPSnAABZC1vFAn4275.jpg

七、测试自动化部署RedHat 6.5

目前我们配置的kickstart默认只提供RedHat7.2的自动化部署,但是从上文也可以看到我也做好了提供Redhat 6.5的相关准备,怎么使用呢?其实很简单,只要略作修改,就可以变身为提供RedHat 6.5自动化部署。修改的地方如下:
1、修改default文件,将第一行的default RH72改为default RH65,这样默认就从default文件的label RH65启动,也就是默认提供RedHat 6.5的自动化部署了。
[iyunv@KSserver ~]vi /var/lib/tftpboot/pxelinux.cfg/default
default RH65
2、但是这时启动引导文件还是Redhat7.2的,必须将原来tftpboot目录中适用于Redhat7.2的文件转移走,拷贝适用于RedHat6.5的文件进来

[iyunv@KSserver ~]mv /var/lib/tftpboot/* /var/lib/RH72
[iyunv@KSserver ~]cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[iyunv@KSserver ~]cp /var/ftp/pub/RH65/image/pxeboot/initrd.img /var/lib/tftpboot
[iyunv@KSserver ~]cp /var/ftp/pub/RH65/image/pxeboot/vmlinuz /var/lib/tftpboot
[iyunv@KSserver ~]cp /var/ftp/pub/RH65/isolinux/*.msg /var/lib/tftpboot
[iyunv@KSserver ~]cp -r /var/lib/RH72/pxelinux.cfg /var/lib/tftpboot
3、进行测试,成功自动化部署Redhat 6.5

wKiom1hiE5ixoos6AAAiyirlnrY122.jpg
wKiom1hiE6ChS0DtAAMLeY9Io88801.jpg
wKioL1hiE6OzWPgfAAAhiD0KPWM285.jpg
4、以后如果要切换成自动化部署Redhat7.2,那么把default文件的第一行修改成default RH72后,只要两条命令把RH65的启动引导文件转移走、把RH72的转移进来,就搞定了。
[iyunv@KSserver ~]mv /var/lib/tftpboot/*  /var/lib/RH65/
[iyunv@KSserver ~]mv /var/lib/RH72/*  /var/lib/tftpboot/


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-320583-1-1.html 上篇帖子: Linux迁移Azure后ssh不能访问 下篇帖子: 配置Linux禁止ping和请允许ping Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表