Linux自动化部署操作系统

最近工作比较不是很忙,自己部署了一套Linux自动化部署操作系统,现将操作步骤记上,加深印象。

一、环境

准备两台虚拟机,其中一台已以Desktop、BASE SERVER 的方式安装好了,操作系统是CentOS6.5-x86_64,作为服务端使用;另一台只安装了虚拟机,未安装操作系统,用于自动化部署测试使用;

注:必须安装桌面图形化,要不然后面用到的kickstart无人值守的功能,没办法启动配置;

需要用到的主要软件:

http

dhcp

xinetd

tftp-server

tftp

syslinux

system-config-kickstart

以上这些软件,都可以直接使用yum安装使用,非常方便;

二、安装配置DHCP

yum -y install dhcp

chkconfig dhcpd on

cd /etc/dhcp/

mv dhcpd.conf dhcpd.conf.bak

cp /usr/share/doc/dhcp*/dhcpd.conf.sample ./dhcpd.conf

vim dhcpd.conf    //编辑DHCP服务的主体配置文件;

大约在11行下新增如下内容:

filename "pxelinux.0";    //PXE网络引导程序;

next-server 192.168.1.231;    //IP为本机的IP地址,即服务端的IP地址;

更改大约49-57行的内容如下(根据您的实际情况进行调整):

subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.241 192.168.1.245;
   option domain-name-servers 192.168.1.1;
   option domain-name "example.com";
   option routers 192.168.1.1;
   option broadcast-address 192.168.1.255;
   default-lease-time 600;
   max-lease-time 7200;
 }

最后保存退出;

vim /etc/rsyslog.conf    //定义DHCP日志;

在文件中间位置增加如下内容:

local7.*                                                /var/log/dhcpd.log

service dhcpd configtest    //测试配置文件是否异常;

service rsyslog restart    //重启日志服务;

service dhcpd restart    //重启DHCP服务;

防火墙开启TCP/UDP 67端口;

三、安装配置TFTP

yum -y install xinetd tftp-server tftp syslinux

chkconfig xinetd on

chkconfig tftp on

service xinetd restart

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

mkdir /mnt/share

mkdir /mnt/centos6

mount -t cifs -o usernaem=administrator,password=123456 //192.168.1.77/ISO /mnt/share/    //linux访问windows共享的ISO文件夹的目录;

[[email protected] tftpboot]# ll /mnt/share/

total 4363264

-rwxr-xr-x 1 root user1 4467982336 Mar  3 10:48 centos6.5x86_64.iso

mount -o loop /mnt/share/centos6.5x86_64.iso /mnt/centos6    //挂载iso到相应目录;

防火墙开启TCP/UDP 69端口;

四、安装配置HTTP

yum -y install httpd

chkconfig httpd on

mkdir /var/www/html/pub

mount --bind /mnt/centos6/ /var/www/html/pub/

service httpd start

防火墙开启TCP 80端口;

五、安装配置kickstart

yum -y install system-config-kickstart

system-config-kickstart    //启动图形化配置界面,此处省略,最后生成文件"ks.cfg"保存至/var/www/html/ 目录下,内容大概如下:

[[email protected] html]# cat ks.cfg

# Reboot after instal#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://192.168.1.231/pub"
# Root password
rootpw --iscrypted $1$GywDU125$2FuR.r57g/J7bKHX7F6pk1
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=infolation
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  
# Disk partitioning information
part /boot --fstype="ext4" --size=100
part swap --fstype="swap" --size=2000
part / --fstype="ext4" --grow --size=1

打开浏览器,输入:http://192.168.1.231/ks.cfg 正常即可查阅文件;

六、配置PXE

cd /var/lib/tftpboot/

mkdir pxelinux.cfg

cp /mnt/centos6/isolinux/* /var/lib/tftpboot/

cp isolinux.cfg ./pxelinux.cfg/default

vim ./pxelinux.cfg/default    //编辑PXE配置文件,在大约22行下增加一个label,内容如下:

label centos6.5
   menu label ^Install CentOS6.5-x86_64 system
   kernel vmlinuz
   append initrd=initrd.img ks=http://192.168.1.231/ks.cfg

service xinetd restart

最后 就打开未安装操作系统的虚拟机,开机后,选择我们自定义的label进行安装,约等15分钟,系统全自动的安装好了。

时间: 2024-08-29 05:03:55

Linux自动化部署操作系统的相关文章

LINUX自动化安装操作系统

自动化就是无人职守安装大量操作系统,只要客户机开机,就能自动安装操作系统. 首先调试环境: 基于DHCP.TFTP.HTTP来完成PXE自动的实现 1.  安装服务 [[email protected]/]# yum install dhcp---------dhcp服务 [[email protected]/]# yum install tftp tftp-server-----tftp服务 [[email protected]/]# yum install http--------http服

Linux 自动化部署Rsyslog服务

源码如下: #/bin/bash #该脚本用于自动化部署Ryslog服务配置 #作者:雨中落叶 #博客:https://www.cnblogs.com/yuzly/ echo "**************************** 1.部署Rsyslog服务器 2.部署Rsyslog客户端 ****************************" read -p "请输入部署选项:" Num case $Num in 1) #部署服务端 echo "

linux 自动化部署脚本

1 概述 在工作中,需要对环境中的机器打补丁或者安装软件.如果机器太多,有可能会漏掉机器,或者有些机器上版本不一致.如果能实现同一的部署,不仅能降低人为导致的错误,而且能大大提高工作效率 本文,我将介绍通过crontab设置定时任务,来实现自动化部署安装脚本,只需将脚本放在指定的路径下,就可以实现统一部署 2 环境准备 环境如下 A 环境中机器 服务器端: 192.168.32.75, 客户端: 两台CentOS6 :ip 192.168.32.61 和 ip 192.168.32.62 三台C

自动化部署操作系统-Kickstart+PXE自动部署

Kickstart+PXE自动部署 目录: 无人值守安装简介 实战:PXE批量部署linux操作系统 前言 部署dhcp服务 HTTP服务 TFTP服务 复制PXE启动时需要的文件 修改引导启动菜单 配置kickstart自动安装文件(ks.cfg) 装机测试 无人值守安装简介 无人值守安装(Unattended Setup)指软件安装时无需任何用户干预,直接按默认或通过应答文件设置安装,这对于无特殊需求的用户或企业大批量部署安装操作系统及软件时非常方便.无人值守安装也称为静默安装,在安装过程中

一次Linux自动化部署尝试

最近做一个项目临近测试,购买的是阿里云的服务器,每次部署都是手动打包war,然后上传到服务器,然后修改配置文件,不仅繁琐,而且费时,就思索着找一个一键式的部署方式,今天终于腾出时间来做这件事,记录一下. 先决条件 远程服务器已配置ssh免密码登录(因为免密码登录便于实现全自动化) 本地具备ssh环境(我的开发环境是windows,呜呜...我使用的是babun,还不错,推荐,当然了,我之前是因为其他原因安装了) Linux shell编程(其实这里用的很少),sed工具的使用 主要思路 主要就是

Linux基于PXE实现系统自动化部署

一.前言: 通常为计算机安装操作系统的方式主要是,光盘安装和U盘安装:在企业生产环境中,会需要对多台客户机或服务器安装Linux操作系统,如果还用常规的方法去安装,费时又费力:PXE批量部署系统即可高效完成此类工作. 二.原理: 使用光盘(镜像)安装Linux操作系统过程:POST(加电自检)-->引导序列(通过BISO发现引导CD-ROM或U盘)--Bootloader(kernel+ramdisk)-->anaconda(安装程序) 1.自动化部署服务器所需环境: PXE:Preboot

自动化运维之Cobbler自动化部署安装操作系统

Cobbler概述: Cobbler可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会. 在生产环境中,经常批量部署几十甚至上百台服务器时,实现自动化安装操作系统尤为重要,按照传统的光盘引导安装工作量是不可预估的:此前我们通过pxe+kickstart简单实现了自动化安装,但只能实现单一版本安装,当需要部署不同版本或不同引导模式(BIOS.EFI)时,此种方式就不够灵活.而Cobbler正是为了解决此问题而

Linux LTMP手动编译安装以及全自动化部署实践

前言 现在很多朋友都了解或者已经在使用LNMP架构,一般可以理解为Linux Shell为CentOS/RadHat/Fedora/Debian/Ubuntu/等平台安装LNMP(Nginx/MySQL/PHP),LNMPA(Nginx/MySQL/PHP/Apache),LAMP(Apache/MySQL/PHP)等类似的开发或生产环境.我自己是从SuSE/Oracle商业化环境走出来的,对于开源的部署方案也是在一点一点摸索,我相信其中也必然包含某些坑爹的配置.这篇文章较为详细的描述了基于LT

Linux中kettle自动化部署脚本

自己写的一个自动化在Linux中部署kettle的脚本,包括一些遇到的问题在脚本中都有涉及. kettle是官网版本pdi-ce-6.1.0.1-196.zip 脚本: #!/bin/bash #Record the current directory! mulu=`pwd` #The output of JAVA_HOME number of bytes c=`echo $JAVA_HOME|wc -c` echo "Tips:Install JDK rather than JRE!Confi