自动化配置 kickstart 服务器

上一篇刚刚完成了nagios的自动安装,这篇继续吧,想到前些天手动配置kickstart服务器过程比较繁琐,思路也不够清晰,还是把安装配置过程写进脚本非常方便,感觉是一劳永逸,降低后续工作的劳动量,而且整个思路过程比较清晰。

实验环境:centos6.3 x86_64

关闭了防火墙, SELinux设为Disabled

注意:虚拟机需要先载入centos6.3 x86_64的安装镜像iso

脚本里的MAC地址需要修改为你当前机器的MAC地址

ks.cfg配置文件中关于设定客户机密码需要改为自己设定

直接执行该脚本即可开始安装配置kickstart。

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/zs/

#!/bin/bash
#auto install kickstart server 

LANG=C
mkdir /tftpboot
mkdir /tftpboot/pxelinux.cfg
mkdir /mnt/iso
mount -o loop /dev/dvd /mnt/iso 

function init_pack()
{
     yum -y install dhcp httpd xinetd tftp tftp-server syslinux
     chkconfig httpd on
     chkconfig dhcpd on
     chkconfig xinetd on
     service httpd start
     service dhcpd start
     service xinetd start 

} 

function set_tftp()
{
     cp /etc/xinetd.d/tftp /etc/xinetd.d/tftp.bak
     echo 'service tftp
{
          disable                 = no
          socket_type             = dgram
          protocol                = udp
          wait                    = yes
          user                    = root
          server                  = /usr/sbin/in.tftpd
          server_args             = -u nobody -s /tftpboot
          per_source              = 11
          cps                     = 100 2
          flags                   = IPv4
 }' > /etc/xinetd.d/tftp                    #need to format the text
} 

function set_eth()
{
     echo 'DEVICE="eth0"
     BOOTPROTO="static"
     IPADDR="192.168.10.1"
     NETMASK="255.255.255.0"
     GATEWAY="192.168.10.1"
     HWADDR="08:00:27:6B:2F:46"
     NM_CONTROLLED="yes"
     ONBOOT="yes"' > /etc/sysconfig/network-scripts/ifcfg-eth0          #need to format the text
     sed -i 's/^ *//g' /etc/sysconfig/network-scripts/ifcfg-eth0
     ifdown eth0;ifup eth0
} 

function set_dhcp()
{
     sed -i '1,$s/^/#/g' /etc/dhcp/dhcpd.conf
     echo 'subnet 192.168.10.0 netmask 255.255.255.0 {
     option routers 192.168.10.1;
     option subnet-mask 255.255.255.0;
     range 192.168.10.10 192.168.10.50;
     next-server 192.168.10.1;
     default-lease-time 600;
     max-lease-time 7200;
     filename "pxelinux.0";
     allow booting;
     allow bootp;
     }' >> /etc/dhcp/dhcpd.conf             #need to format the text
     sed -i 's/^ *//g' /etc/dhcp/dhcpd.conf  #remove the blanks at beginning
     service dhcpd restart
} 

function cp_files()
{
     cp -rv /mnt/iso/* /var/www/html
     cp -v /mnt/iso/isolinux/initrd.img /tftpboot
     cp -v /mnt/iso/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
     cp -v /mnt/iso/isolinux/vmlinuz /tftpboot
     cp -v /mnt/iso/isolinux/vesamenu.c32 /tftpboot/vesamenu.c32
     cp -v /usr/share/syslinux/pxelinux.0 /tftpboot
     chmod +x /tftpboot/pxelinux.cfg/default
     chcon -u system_u -t tftpdir_t /tftpboot -R        #modify the selinux context type
     chcon --reference=/var/www/html /var/www/html -R 

} 

function set_kscfg()
{
     echo '#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.10.1/"
     # Root password
     rootpw --iscrypted $1$xhuJUwps$czE5aVuNeRhrbQYZ8YAmy1  #密码自己设定,可用明文也可加密
     # System authorization information
     auth  --useshadow  --passalgo=sha512
     # Use graphical install
     graphical
     firstboot --disable
     # System keyboard
     keyboard us
     # System language
     lang en_US
     # SELinux configuration
     selinux --permissive
     # Do not configure the X Window System
     skipx
     # Installation logging level
     logging --level=info
     # Reboot after installation
     reboot
     # System timezone
     timezone --isUtc Asia/Chongqing
     # Network information
     network  --bootproto=dhcp --device=eth0 --onboot=on
     # System bootloader configuration
     bootloader --location=mbr
     # Partition clearing information
     clearpart --all --initlabel
     # Disk partitioning information
     part /boot --fstype="ext4" --size=200
     part / --fstype="ext4" --size=6000
     part swap --fstype="swap" --size=512
     part /home --fstype="ext4" --size=1024 

     %packages
     @additional-devel
     @development 

     %end' > /var/www/html/ks.cfg
     sed -i 's/^ *//g' /var/www/html/ks.cfg
     chmod 755 /var/www/html/ks.cfg
     chcon --reference=/var/www/html /var/www/html/ks.cfg
}
function set_default()
{
     echo 'default vesamenu.c32
     #prompt 1
     timeout 30 

     display boot.msg 

     menu background splash.jpg
     menu title Welcome to CentOS 6.3!
     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 initrd=initrd.img ks=http://192.168.10.1/ks.cfg
     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 -' > /tftpboot/pxelinux.cfg/default
     sed -i 's/^ *//g' /tftpboot/pxelinux.cfg/default
     chcon -u system_u -t tftpdir_t /tftpboot/pxelinux.cfg/default
} 

init_pack
if [ $(rpm -q tftp) -a $(rpm -q dhcp) -a $(rpm -q httpd) -a $(rpm -q syslinux) ]; then      #check if these services have been installed
    set_tftp
    set_eth
    set_dhcp
    cp_files
    set_kscfg
    set_default
else
    echo "installed incompleted."
fi

本文出自 “努力为之” 博客,请务必保留此出处http://carllai.blog.51cto.com/1664997/1060719

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索menu
, color
, function
, label
, default
ext 权限 menu 动态
kickstart 配置、kickstart配置文件、kickstart 分区配置、kickstart配置界面、服务器自动化部署,以便于您获取更多的相关知识。

时间: 2024-12-31 03:07:16

自动化配置 kickstart 服务器的相关文章

脚本-求推荐几个linux系统自动化配置的软件或系统

问题描述 求推荐几个linux系统自动化配置的软件或系统 求推荐几个linux系统自动化配置的软件或系统,就是利用这样的软件可以,进行一些linux系统的自动配置,而不用再去手动配置,最好软件中可根据需求添加自己写的脚本???有这样的软件或系统吗?求推荐几个. 解决方案 系统部署 一.Kickstart 主要针对Redhat和CentOS操作系统的安装和初始配置,不过网络的配置仍然需要一台一台地进行. 二.Cobbler 与Kickstart类似,主要支持的也是Redhat和CentOS,不过它

云计算-关于集群的自动化配置部署和更新方案

问题描述 关于集群的自动化配置部署和更新方案 先花些时间唠叨下我做的<XX行业生产云>的需求,然后结合着这些需求请教各位专家一系列的问题. 功能需求: 生产企业内部有局域网,连接办公环境和相关的生产设备,并且有连接互联网的出口.生产过程由办公环境(B/S架构)向局域网内的设备发送生产指令,生产的运行状态实时可以回显给办公环境.局域网内满足该需求就需要部署一个常规的Web应用服务站点加关系型数据库(目前尚不需要实时数据库)就可以完成.云计算-关于集群的自动化配置部署和更新方案-集群自动化部署&q

配置IIS服务器时需要注意的地方

介绍五种配置IIS服务器时需要注意的地方,把好安全关是所有网站都必须要做好的功课,如果服务器本身不安全,给网站带来的将是毁灭性的. 一.操作系统的安装 我这里说的操作系统以Windows 2000为例,高版本的Windows也有类似功能. 格式化硬盘时候,必须格式化为NTFS的,绝对不要使用FAT32类型. C盘为操作系统盘,D盘放常用软件,E盘网站,格式化完成后立刻设置磁盘权限,C盘默认,D盘的安全设置为Administrator和System完全控制,其他用户删除,E盘放网站,如果只有一个网

Linux操作系统下配置DNS服务器的方法介绍

有两台邮件服务器分别为192.168.1.1(windows下主机名为b.test.cn)和192.168.1.3(linux下主机名为a.test.com). 在linux下配置DNS服务器,下面是配置过程中设置过的一些文件, /etc/hosts 文件的具体内容如下: # Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 l

在linux下配置DNS服务器的方法

有两台邮件服务器分别为192.168.1.1(windows下主机名为b.test.cn)和192.168.1.3(linux下主机名为a.test.com). 在linux下配置DNS服务器,下面是配置过程中设置过的一些文件, /etc/hosts 文件的具体内容如下: # Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 l

用Win 2003配置邮件服务器

一.概述 大家知道,邮件服务器系统由POP3服务.简单邮件传输协议(SMTP)服务以及电子邮件客户端三个组件组成.其中的POP3服务与SMTP服务一起使用,POP3为用户提供邮件下载服务,而SMTP则用于发送邮件以及邮件在服务器之间的传递.电子邮件客户端是用于读取.撰写以及管理电子邮件的软件. Windows Server 2003操作系统新增的POP3服务组件可以使用户无需借助任何工具软件,即可搭建一个邮件服务器.通过电子邮件服务,可以在服务器计算机上安装POP3组件,以便将其配置为邮件服务器

部署Postfix邮件服务(二)配置邮件服务器的收、发信服务

配置SMTP发信服务 Postfix基于SMTP协议提供邮件传递服务,并负责将邮件分发到用户的邮箱空间.对于Postfix服务的配置主要通过修改主配置文件main.cf来进行的. [root@localhost /]#vim /etc/postfix/main.cf ......//省略部分内容 inet_interfaces=192.168.1.10,127.0.0.1     //监听服务的IP地址,默认为all myhostname=mail.cshbk.com   //邮件服务器的主机名

在vCenter中配置邮件服务器地址

当VMware vCenter云管理平台出现警告时,您的邮箱就自动接收到警告件事,是否会让您觉得安全和便利了? 下面我们在局域网的环境中来配置一台邮件服务器,建立一个收件账户,在vCenter中配置邮件服务器地址,设置触发规则,具体步骤如下 1. 新建一台windows server 2003 enterprise虚拟机,在服务器管理中选择配置邮件服务器,如图1-1所示. 图1-1 配置邮件服务器 2. 在POP3服务中添加邮箱账户,如图1-2所示. 图1-2 添加邮箱 3. 在SMTP虚拟服务

在RedHat Linux 9下配置DHCP服务器

DHCP的全称是动态主机配置协议,它的目的就是为了减轻TCP/IP网络的规划.管理和维护的负担,解决IP地址空间缺乏问题.DHCP分为两个部分:一个是服务器端,而另一个则是客户端.所有的IP网络设定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP要求:而客户端则会使用从服务器分配下来的IP环境资料.DHCP协议通过"租约" 的概念,有效且动态的分配客户端的TCP/IP设定. 一.DHCPD进程 dhcpd进程为了向网络提供服务,需要知道网络的地址和掩码,并且还要知道地址分配的