运维自动化工具 Kickstart

简介:

批量安装操作系统工具之 Kickstart ,RedHat 早前推出的产品( 不多说了,现在都玩 Cobbler 啦 )。

测试环境:CentOS 6.6 x86_64 minimal

一、安装软件包

shell > yum -y install dhcp tftp-server syslinux nfs-utils kickstart

二、配置 DHCP

shell > cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y

shell > vim /etc/dhcp/dhcpd.conf

# dhcpd.conf
# option definitions common to all supported networks...
option domain-name-servers 192.168.214.2, 202.106.46.151;
# A slightly different configuration for an internal subnet.
subnet 192.168.214.0 netmask 255.255.255.0 {
range 192.168.214.100 192.168.214.120;
option routers 192.168.214.2;
option subnet-mask 255.255.255.0;
filename "/pxelinux.0";
default-lease-time 600;
max-lease-time 7200;
}

三、配置 tftp

shell > vim /etc/xinetd.d/tftp

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no ## 原为 yes
per_source = 11
cps = 100 2
flags = IPv4
}

四、pxelinux.0

shell > cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
shell > mount /dev/cdrom /mnt/
shell > cp /mnt/isolinux/* /var/lib/tftpboot/
shell > cd /var/lib/tftpboot/
shell > mkdir pxelinux.cfg
shell > mv isolinux.cfg pxelinux.cfg/default

五、配置 NFS

shell > vim /etc/exports

/mnt 192.168.0.0/24(ro,sync)

六、最后的调整

shell > chkconfig --add nfs
shell > chkconfig --add dhcpd
shell > chkconfig --add xinetd
shell > chkconfig --add rpcbind
shell > chkconfig --level 35 nfs on
shell > chkconfig --level 35 dhcpd on
shell > chkconfig --level 35 xinetd on
shell > chkconfig --level 35 rpcbind on

shell > exportfs -ar
shell > service dhcpd restart
关闭 dhcpd: [确定]
正在启动 dhcpd: [确定]
shell > service xinetd restart
停止 xinetd: [确定]
正在启动 xinetd: [确定]
shell > service rpcbind restart
停止 rpcbind: [确定]
正在启动 rpcbind: [确定]
shell > service nfs restart
关闭 NFS 守护进程: [确定]
关闭 NFS mountd: [确定]
关闭 NFS 服务: [确定]
Shutting down RPC idmapd: [确定]
启动 NFS 服务: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]

shell > setenforce 0
shell > service iptables stop

七、测试 PXE 引导安装

1、客户机设置从网络引导(其实不用设置,本地找不到自然会去网络找),就可以看到安装界面

2、选择语言( Chinese Simplified )

3、OK

4、选择键盘( us )OK

5、选择媒体位置( NFS Directory )OK

6、配置网络( 默认即可 )OK

7、设置 NFS 服务( NFS server name: 192.168.214.10 ## NFS 服务器地址
                           CentOS directroy: /mnt ## ISO 存放位置 )OK

8、这里出现正常的安装界面,证明没有问题( 跟光盘安装一模样即可 )

## 这是实现了 PXE 引导安装,想要无人干预还得配置 Kickstart !

八、安装桌面环境

## 以下操作直接在虚拟机中执行,非终端连接 !(不是必要的)

shell > yum grouplist | grep -iP "(x window system|desktop)"

Desktop
X Winsow System

## 其中搜索出来的这两个包是我们需要安装的。

shell > yum update ## 首先需要更新一下 yum

shell > yum -y groupinstall "X Window System"

shell > yum -y groupinstall "Desktop"

shell > yum -y groupinstall "Chinese Support" ## 安装中文支持

shell > init 5

## 现在已经进入桌面环境

1、设置字体(不是必须的)

## 打开终端时,默认显示的字体简直难看到极致,中间还有空格乱入,对处女座来说根本忍不了!

系统--首选项--外观--字体--( 将等宽字体改为 AR PL UKai CN )--确定即可

2、安装软件包 system-config-kickstart

shell > yum -y install system-config-kickstart

shell > system-config-kickstart ## 启动 Kickstart 配置程序

## 接下来就全是鼠标点点点啦 !

·基本配置
                 默认语言 :简体中文,也可以默认 ( English )
                 键盘 :默认即可
                 时区 :Asia/Shanghai ,按实际情况来
                 UTC 时钟 :勾选
                 根口令 :123456
                 确认根口令:123456
                 根口令加密:默认是勾上的,不用管

高级配置
                       安装后重新引导系统:勾选
·安装方法
                 执行新安装:勾选
                 选择 NFS :
                       NFS 服务器:192.168.214.10
                       NFS 目录 :/mnt ## NFS 共享的 ISO 存放目录
·引导装载程序选项

安装类型
                       安装新引导装载程序:勾选
                 安装选项
                       在主引导记录(MBR)上安装引导装载程序
·分区信息
                 主引导记录
                       清除主引导记录:勾选
                 分区
                       删除所有现存分区:勾选
                 磁盘标签
                       初始化磁盘标签:勾选
                 布局
                       添加分区( 跟装真机一样 )
·网络配置
                 添加网络设备--网络设备(eth0)--网络类型(DHCP)--确认即可
·验证
                 默认
·防火墙配置
                 全部禁用
·显示配置
                 安装图形环境:不勾选(如果不想安装的话)
                 禁用
·软件包选择
                 默认
·预安装脚本
                 默认
·安装后脚本
                 默认

选择--文件--保存--(将文件保存到 /root 目录下,文件名为 ks.cfg)

shell > mkdir /nfsdir

shell > cp ks.cfg /nfsdir

shell > chown 777 /nfsdir/ks.cfg

shell > vim /etc/exports

/mnt 192.168.214.0/24(ro,sync)
/nfsdir 192.168.214.0/24(ro,sync) ## 添加共享目录

shell > exportfs -ar

shell > vim /var/lib/tftpboot/pxelinux.cfg/default

default vesamenu.c32
#prompt 1
timeout 50

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.6!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append ks=nfs:192.168.214.10:/nfsdir/ks.cfg initrd=initrd.img
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -

## 其中,timeout 50 ( 这个参数原为 600 ,就是一进去系统时那个选择模式的时间,我们不想等待太长时间所以调为 5 秒 )

## 在第一个 label 中加入了:ks=nfs:192.168.214.10:/nfsdir/ks.cfg ( 定义 ks.cfg 路径 )

label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append ks=nfs:192.168.214.10:/nfsdir/ks.cfg initrd=initrd.img

## 下面贴一下 ks.cfg 的文件内容( 不需要修改 )

shell > vim /nfsdir/ks.cfg

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use NFS installation media
nfs --server=192.168.214.10 --dir=/mnt
# Root password
rootpw --iscrypted $1$56NxQt/e$3fz.wnuWl7Ak7q9TIpwl0.
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang zh_CN
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone --isUtc 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 --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=200
part swap --fstype="swap" --size=1024
part / --fstype="ext4" --grow --size=1

4、重新启动服务,测试无人值守

## 执行第 六 步操作

## 现在客户机只需开机( 引导方式为网络引导,其实不用设置,自己会去找的),即可 !

## 经测试没问题 !

时间: 2024-10-30 04:06:06

运维自动化工具 Kickstart的相关文章

运维自动化工具Cobbler之——安装实践

运维自动化工具--Cobbler实践 第1章 About Cobbler 1.1 Cobbler Introduction Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等. Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用.Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web

运维自动化工具cobbler实现系统自动化安装

Cobbler是一款开源的,自动化操作系统安装的运维工具,使用 Cobbler,无需进行人工干预即可安装操作系统,使得操作系统的安装变得非常简单. Cobbler 支持众多的发行版:Red Hat.Fedora.CentOS.Debian.Ubuntu 和 SuSE. Cobbler 可使用 kickstart 模板.基于 Red Hat 或 Fedora 的系统使用 kickstart 文件来自动化安装流程.下面的实验使用kickstart文件来实现CentOS 6.5系统的自动化安装. 一.

自动化运维-自动化工具其实只是个噱头

现在运维圈子里都流行利用各个自动化工具进行运维,个人感觉,这些只是一个噱头,是一些培训机构利益获取的幌子,也是各个运维人员提高身价的砝码,本身并没有什么. 对于大批量的系统运维,不外乎几大业务场景: 1.统一配置管理 (如批量更改服务器的某个参数,批量上传一个文件,批量更改服务器的一个文件) 有人说puppet可以做得很好,其实,写个循环脚本,针对每一个ip,执行一个实现配置功能shell脚本 (ssh可以实现远程更改一个参数,远程更改一个文件,scp可以实现upload一个文件),是一个件ea

使用Chef管理windows集群 | 运维自动化工具

但凡服务器上了一定规模(百台以上),普通的ssh登录管理的模式就越来越举步维艰.试想Linux发布了一个高危漏洞的补丁,你要把手下成百上千台机器都更新该补丁,如果没有一种自动化方式,那么至少要耗上大半天时间.虽然你编写了大量的shell(或python,perl)脚本来实现各种自动化场景,但最后会发现你又陷入了脚本的汪洋大海之中,管理和维护这么多的脚本的成本也不小.你需要一款基础设施自动化工具,希望它能具有以下功能. 1批量执行 这个不多说了吧,试想要为每一台机器打补丁的情形吧. 2任务编排 现

运维自动化工具ansible

一.基础知识: 1. 简介 ansible基于python开发,集合了众多运维工具的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力. 真正具有批量部署的是ansible运行的模块,ansible只是一个框架 ansible架构 (1) 连接插件connection plugins: 负责和被监控端实现通信: (2) host inventory: 指定操作的主机,是一个配置文件里面定义监控的主机 (3) 各种模块核心模块.com

运维自动化工具 Cobbler

from http://www.cnblogs.com/wangxiaoqiangs/p/5354846.html 简介: 关于操作系统安装方面的自动化,早前我们使用 RedHat 推出的 Kickstart 来批量安装操作系统,近年来 RedHat 又推出一个 Cobbler . Cobbler 使用 Python 开发,小巧轻便,能够完成系统安装.甚至一些服务的管理.( 号称是补鞋匠都能学会的工具 ) Cobbler 支持命令行管理.web 界面管理.还提供了 API 接口,以便二次开法.

运维自动化工具ansible学习笔记

利用五一假期的时间学习了下ansible,看了一天的官方文档,对其中需要注意的地方,做下笔记整理下思绪. 一.简介 Ansible是与puppet.saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet.saltstack那样都需要客户端.puppet与saltstack这2个软件都需要安装客户端,而saltstack与ansible很相似,都是属于python流的,但saltstack不是很稳定:puppet虽然稳定,但命令执行的时候,需要配置模块

运维自动化工具ansible(安装)

一.安装 注意:强烈建议升级python版本到2.6以上,不然运行会出错或者有些功能会没有,在编译安装其他包的时候也会因为兼容问题报错. (1).python2.7安装 https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz # tar xvzf Python-2.7.8.tgz # cd Python-2.7.8 # ./configure --prefix=/usr/local # make # make install ## 将py

运维自动化工具 Ansible

一.Ansible介绍 Ansible 简单的说是一个配置管理系统(configuration management system).你只需要可以使用 ssh 访问你的服务器或设备就行.它也不同于其他工具,因为它使用推送的方式,而不是像 puppet 等 那样使用拉取安装agent的方式.你可以将代码部署到任意数量的服务器上! 1.Ansible能做什么 ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作. 比如:同时在100台服务器上安装nginx服务,并在安装后启动它