运维自动化之系统安装

做一个完整版的iso,不依赖于网络



1 准备相关文件,yum源



mkdir /app/fulliso
cp -r /misc/cd  /app/fulliso

这里要注意,因为没有隐藏文件拷过来所以在考将/misc/cd里的隐藏文件拷过来ls -a后就可以看到隐藏文件

cp .treeinfo .discinfo /app/fulliso/
rm -rf /app/fulliso/repodata/*

在repodate里面有一个没有压缩的那个文件拷贝过来

cp /misc/cd/repodata/*777d-c6-x86_64-comps.xml /app/fulliso/repodata/
cd /app/fulliso

(*777d-c6-x86_64-comps.xml)这一长串是放包组信息的,要依赖这个包租创建yum源数据。

然后创建yum源

createrepo -g repodata/*777d-c6-x86_64-comps.xml   ./

-g指定包组的文件名,根据它来创建yum源

find /app/fulliso  -name TRANS.TBL -exec rm {} \

;待会这个文件会自动生成所以先删除

2 准备ks文件



cp /root/anaconda-ks.cfg /app/fulliso然后改名为ks.cfg
vim  /app/fulliso/ks6.cfg

下述就是修改该应答文件的内容,其他默认就好了

selinux --disabled
zerombr
 clearpart --all
 text
 reboot
 part /boot --fstype=ext4 --size=1000
  part / --fstype=ext4 --size=50000
 part /app --fstype=ext4 --size=40000
 part swap --size=2048
 %post
 rm -rf /etc/yum.repos.d/*
 cat > /etc/yum.repos.d/base.repo <<eof
 [base]
 name=base
 baseurl=file:///misc/cd
 gpgcheck=0
eof
 %end

3 定制启动菜单



vim  /app/fulliso/isolinux/isolinux.cfg
default vesamenu.c32
label desktop自动化安装
  menu label Install an ^desktop system
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/ks6.cfg
label mini最小化安装
  menu label Install an m^ini system
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/ks6-mini.cfg
label manual手动安装
  menu label ^Manual install an  system
  kernel vmlinuz
  append initrd=initrd.img 
label local本地安装
  menu label Boot from ^local drive
  menu default
  localboot 0xffff

4 制作ISO文件


mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 autoinstall" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6.iso /app/fulliso/

制作完之后就可以将iso文件导出,用一个新的centos系统就可以尝试安装了!

PXE自动化安装CentOS 7



1 安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP

2 安装相关软件包



yum install httpd tftp-server dhcp syslinux

3 配置DHCP服务



vim /etc/dhcp/dhcpd.conf
subnet 192.168.96.0 netmask 255.255.255.0 {
        range 192.168.96.50 192.168.96.100;
        next-server 192.168.96.7;
        filename "pxelinux.0";
}
systemctl enable dhcpd
systemctl start dhcpd

4 配置文件共享服务和yum源



在httpd服务中准备yum源

systemctl enable httpd
systemctl start httpd
cd /var/www/html
mkdir /var/www/html/centos/7
mkdir /var/www/html/mkdir 专门放置应答文件
mount /dev/sr0 /var/www/html/centos/7

5 准备kickstart文件



cp /root/anaconda-ks.cfg   /var/www/html/ksdir/ks7-1.cfg
chmod +r /var/www/html/ksdir/ks7-1.cfg
vim /var/www/html/ksdir/ks7-1.cfg 
selinux --disabled
zerombr
 clearpart --all
 text
 Reboot
autofs
systemctl enable autofs 
 part /boot --fstype=ext4 --size=1000
part / --fstype=ext4 --size=50000
 part /app --fstype=ext4 --size=40000
 part swap --size=2048
%post
 rm -rf /etc/yum.repos.d/*
 cat > /etc/yum.repos.d/base.repo <<eof
 [base]
 name=base
 baseurl=file:///misc/cd
 gpgcheck=0
eof
%end

6 配置tftp服务



systemctl enable tftp.socket
systemctl start tftp.socket

7准备PXE相关文件



mkdir/var/lib/tftpboot/pxelinux.cfg/
yum install syslinux -y
cp/usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp/misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp/misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

8制作启动菜单文件



vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
menu title CentOS Linux 7 PXE Install
label desktop
  menu label Auto Install CentOS Linux 7  ^Desktop
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.25.107/ksdir/ks7-1.cfg
label mini
  menu label Auto Install CentOS Linux 7  M^ini
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.25.107/ksdir/ks7-2.cfg
label manual
  menu label ^Manual Install CentOS Linux 7 
  kernel vmlinuz
  append initrd=initrd.img inst.repo=http://192.168.25.107/centos/7
label local
  menu default
  menu label Boot from ^local drive
  localboot 0xffff
menu end

完成上述配置后,就可以利用网络来自动安装了,其中涉及到了三个服务,httpd,tftp,dhcp服务。
在本文中只介绍了两种自动化安装方法,当然还有很多方法,可以根据自己的兴趣去研究
时间: 2024-10-08 06:10:41

运维自动化之系统安装的相关文章

第19章,运维自动化之系统安装

更多内容请点击: Linux学习从入门到打死也不放弃,完全笔记整理(持续更新,求收藏,求点赞~~~~) http://blog.51cto.com/13683480/2095439 本章内容: 系统安装过程 配置anaconda 自动化安装系统 制作引导光盘和U盘 DHCP服务 PXE安装系统 cobbler企业级应用 运维自动化发展历程及技术应用: 全人工阶段----> 工具化阶段----> 平台化阶段----> 自驱动阶段 无流程规范----> 制定规范----> 完善规

运维自动化之系统安装(基于PXE)

1.安装流程及架构 2.搭建环境前准备:关闭防火墙,关闭selinux,如果是centos6最好也把NetworkManager关闭 3.准备ks应答文件(ks 应答文件是针对系统安装过程中的默认设置,如键盘布局,编码,城市,分区,主机名,网络等) 三种方式制作ks应答文件:一:vim 编辑 二:根据/root/anaconda-ks.cfg文件为模版修改编辑 三:yum安装system-config-kickstart图形化软件制作   在这里笔者用第二种:(注意()里为笔者注释) 4.安装配

运维自动化之系统安装-应答文件制作并结合ftp和http完成半自动安装

应答文件的制作方式:cat /root/anaconda-ks.cfg 参考模板进行制作yum install system-config-kickstart 使用图形工具进行制作system-config-kickstart 启动工具进行设置centos6:将应答文件放到共享网络访问中以便进行系统的安装依靠光盘和应答文件的半自动化安装:(1)搭建存放应答文件的共享服务 在额外机器上yum install vsftpdsystemctl start vsftpdcp ks.cfg /var/ft

运维自动化之Cobbler系统安装详解

原文链接 参考文档 参考文档SA们现在都知道运维自动化的重要性,尤其是对于在服务器数量按几百台.几千台增加的公司而言,单单是装系统,如果不通过自动化来完成,根本是不可想象的. 运维自动化安装方面,早期一般使用人工配置pxe+dhcp+tftp配合kickstart,现在开源工具就多了,如cobbler,OpenQRM和Spacewalk.本文重点介绍Cobbler. Cobbler介绍 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用p

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

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

运维自动化之使用Cobbler自动化部署Linux操作系统

1.Cobbler是什么? Cobbler是一个Linux安装服务器,能够快速设置好网络安装环境.它实现了许多与Linux相关的任务的自动化和组合,因此你在部署新的(操作)系统或更改已经存在的操作系统时不需要在繁多的命令和应用程序之间来回切换.Cobbler能帮助(用户.管理者)置备和管理DNS.DHCP.软件包更新.电源管理.配置管理以及更多. "Cobbler is a Linux installation server that allows for rapid setup of netw

运维自动化 Cobbler 安装

运维自动化之Cobbler系统安装详解 设置epel源 rpm -Uvh 'http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm' yum 安装 yum -y installcobbler dhcp httpd xinetd tftp-server ==========================================================================

开源运维自动化

1. 开源运维自动化工具体系: 系统安装部署-Cobbler 配置管理部署--Saltstack 系统应用监控--zabbix 日志收集分析--fluentd or Elasticsearch 2. 集成开源自动化系统流程设计 裸机机房上架--->填写一些预配置信息(后期考虑直接实现"扫一扫")--->交给平台进行系统安装,进度控制等(cobbler的api实现)--->系统安装完成进行初始化和环境部署(saltstack的api完成)--->添加监控(zabb

[转载]运维自动化201009

运维趋势 第 0 期 运维自动化 [人物]基于开源服务的运维自动化实现 [国际前沿]什么是 DevOps ? [运维漫画阁]正则表达式有什么用? [命令行 & 工具]面向 Linux 系统管理员的开源工具链 [命令行 & 工具]自动化开源工具一览 [实战] Kickstart 无人值守安装搭建 RHCE 实验室 [实战]戏说 Cobbler : Linux 网络安装的革命 1  [人物]运维专家李洋:漫谈基于开源服务的运维自动化实现 随着各种业务对 IT 的依赖性渐重以及云计算技术的普及,