///////////第一部分:安装安装服务器

1.先安装一台RHEL6.6的服务器A(地址为192.168.139.132),作为安装服务器。这样后面的机器就可以指向这台服务器进行自动安装

2.在A上安装http服务器

3.将OS的文件拷贝到/var/www/html/rhel6.6

4.在A上安装createrepo工具/rhel6.6

5.在A上建立repo。指向http://192.168.139.132

6.准备kickstart文件

修改配置:由于安装服务器是用的cdrom安装,但后面的服务器需要从http服务上安装,所以需要修改

#cdrom
url --url http://192.168.139.132/rhel6.6/
将cdrom注释掉,增加一条url指令

当然也可以把fireware和selinux关掉

[root@localhost ~]# cp anaconda-ks.cfg /var/www/html/
[root@localhost ~]# chmod 777 /var/www/html/anaconda-ks.cfg

# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
#cdrom
url --url http://192.168.139.132/rhel6.6-install
lang en_US.UTF-
keyboard us
network --onboot yes --device eth0 --bootproto dhcp
rootpw --iscrypted $$3MFQKYIJ$ifM2hjwz62pookT7VokgJ.
# Reboot after installation
reboot
firewall --disabled
authconfig --useshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# 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 --all --initlabel
zerombr
part /boot --fstype=ext4 --size=
part / --fstype=ext4 --grow --size=
part swap --grow --maxsize= --size= %packages
@Base
@Core
@Desktop
@Fonts
@General Purpose Desktop
@Internet Browser
@Printing client
@X Window System
binutils
gcc
kernel-devel
make
patch
python %end %post
if [ -f /boot/grub/menu.lst -a ! -h /boot/grub/menu.lst ]; then cp /boot/grub/menu.lst /boot/grub/menu.lst.bak && sed -i 's/ rhgb//' /boot/grub/menu.lst; fi
if [ -f /boot/grub/grub.conf -a ! -h /boot/grub/grub.conf ]; then cp /boot/grub/grub.conf /boot/grub/grub.conf.bak && sed -i 's/ rhgb//' /boot/grub/grub.conf; fi
if [ -f /boot/grub2/grub.conf -a ! -h /boot/grub2/grub.conf ]; then cp /boot/grub2/grub.conf /boot/grub2/grub.conf.bak && sed -i 's/ rhgb//' /boot/grub2/grub.conf; fi
if [ -f /etc/rc.d/rc.local ]; then cp /etc/rc.d/rc.local /etc/rc.d/rc.local.backup; fi
cat >>/etc/rc.d/rc.local <<EOF
#!/bin/bash
echo
echo "Installing VMware Tools, please wait..."
if [ -x /usr/sbin/getenforce ]; then oldenforce=\$(/usr/sbin/getenforce); /usr/sbin/setenforce permissive || true; fi
mkdir -p /tmp/vmware-toolsmnt0
for i in hda sr0 scd0; do mount -t iso9660 /dev/\$i /tmp/vmware-toolsmnt0 && break; done
cp -a /tmp/vmware-toolsmnt0 /opt/vmware-tools-installer
chmod /opt/vmware-tools-installer
cd /opt/vmware-tools-installer
mv upgra32 vmware-tools-upgrader-
mv upgra64 vmware-tools-upgrader-
mv upgrade.sh run_upgrader.sh
chmod +x /opt/vmware-tools-installer/*upgr*
umount /tmp/vmware-toolsmnt0
rmdir /tmp/vmware-toolsmnt0
if [ -x /usr/bin/rhgb-client ]; then /usr/bin/rhgb-client --quit; fi
cd /opt/vmware-tools-installer
for s in sr0 sr1; do eject -s /dev/\$s; done
./run_upgrader.sh
if [ -f /etc/rc.d/rc.local.backup ]; then mv /etc/rc.d/rc.local.backup /etc/rc.d/rc.local; else rm -f /etc/rc.d/rc.local; fi
rm -rf /opt/vmware-tools-installer
sed -i 's/3:initdefault/5:initdefault/' /etc/inittab
if [ -f /boot/grub/menu.lst.bak ]; then mv /boot/grub/menu.lst.bak /boot/grub/menu.lst; fi
if [ -f /boot/grub/grub.conf.bak ]; then mv /boot/grub/grub.conf.bak /boot/grub/grub.conf; fi
if [ -f /boot/grub2/grub.conf.bak ]; then mv /boot/grub2/grub.conf.bak /boot/grub2/grub.conf; fi
if [ -x /usr/sbin/getenforce ]; then /usr/sbin/setenforce \$oldenforce || true; fi
if [ -x /bin/systemd ]; then systemctl restart prefdm.service; else telinit 5; fi
EOF
chmod 755 /etc/rc.d/rc.local
if [ -x /bin/systemd ]; then systemctl enable rc-local.service; fi
/usr/sbin/adduser littlesuccess
/usr/sbin/usermod -p '$1$3MFQKYIJ$ifM2hjwz62pookT7VokgJ.' littlesuccess
/usr/bin/chfn -f "RHEL6.6" littlesuccess
/bin/echo done
%end

///////////////第二部分:安装必要工具/////////////

1.安装syslinux

yum install syslinux

2.安装dhcp

yum install dhcp

需要进行配置

vi /etc/dhcp/dhcpd.conf

内容如下:

ddns-update-style interim;
ignore client-updates; allow booting;
allow bootp; class "pxeclients"{
match if substring(option vendor-class-identifier,,) = "PXEClient";
filename "pxelinux.0";
next-server 192.168.139.132;
} subnet 192.168.139.0 netmask 255.255.255.0 {
option routers 192.168.139.1;
option subnet-mask 255.255.255.0;
option time-offset -; # Eastern Standard Time
range dynamic-bootp 192.168.139.2 192.168.139.254;
default-lease-time ;
max-lease-time ;
}

service dhcpd start

chkconfig dhcpd on

3.安装tftp-server

yum install tftp-server

修改配置文件vi /etc/xinetd.d/tftp将disable由yes改为no

disable = no

拷贝启动引导文件

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

cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/

cp /var/www/html/rhel6.6/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinux.cfg

cp /var/www/html/rhel6.6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

修改/var/lib/tftpboot/pxelinux.cfg/default的配置:

default linux-ks
#prompt
timeout display boot.msg menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 6.6!
menu color border #ffffffff #
menu color sel #ffffffff #ff000000
menu color title #ffffffff #
menu color tabmsg #ffffffff #
menu color unsel #ffffffff #
menu color hotsel #ff000000 #ffffffff
menu color hotkey #ffffffff #ff000000
menu color scrollbar #ffffffff # label linux-ks
menu label ^Install or upgrade an existing system with kickstart
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.139.132/anaconda-ks.cfg

启动服务

service xinetd start

chkconfig xinetd on

///////////////第三部分:批量安装其他服务器

1.在VMWare中建立一个空白服务器。

2.启动空白服务器,此时空白服务器会自动找到安装服务器。整个过程无需人工干预

问题解决:

1.出现The storage may contain data的警告,这时需要人工干预。想去这个警告,进行全自动安装。

在ks.cfg中加入

# Clear the Master Boot Record
zerombr

2.出现ks.cfg无法访问的问题

确保ks.cfg的访问权限没问题

RHEL6.6 PXE安装-基于VMWare WorkStation的更多相关文章

  1. 基于VMware Workstation搭建开发服务器

    基于VMware Workstation搭建开发服务器   文章为本人原创,转载请联系作者并注明出处.晓松 源URL: https://www.jianshu.com/p/e62ab7de0124 我 ...

  2. RHEL 6.5 PXE 安装调试 VMWARE ESXi 5.1 安装

    测试环境:win10/vmware workstation 12 pro 操作系统:RHEL 6.5(PXE服务器) [2016.11.30] [遗留问题] 1.ks.cfg通过本地文件方式加载不成功 ...

  3. 基于VMware Workstation下Windows server的搭建

    网络安全学习内容 一.VMware安装Windows系统   1.1安装配置虚拟机 需要提前准备的东西: 配置网络实验室的IP: 为了满足实验中一些需要用到网络的需求,学校为我们提供了每个人学号密码的 ...

  4. 《软件安装》VMware Workstation 不注册 下载

    问答环节 问:为什么要下载安装VMware Workstation 答:VMware Workstation 可以安装虚拟机,我们可以把我们安装的一些软件装在虚拟机上面,防止自己的电脑卡顿(软件装多了 ...

  5. 基于VMware Workstation下CentOS的搭建

    网络安全学习内容 二.VMware安装CentOS系统 需要准备的文件: 从http://mirrors.huaweicloud.com/centos/7.7.1908/isos/x86_64/中下载 ...

  6. 基于VMware Workstation在Windows Server 2008 R2上搭建SQL Server 2012高可用性组(AlwaysOn Group)测试环境(二)

    接上篇: 以SERVER02为例,将服务器加入域,并安装故障转移群集:(SERVER02-SERVER-04操作相同)

  7. VMware workstation批量创建虚拟机和自动化安装操作系统(一)

    一. 简述 作为从事IT行业运维工作的Linuxer,大多情况下需要在测试环境中部署业务系统并进行测试,在没有足够的计算存储网络条件下,使用虚拟机进行虚拟集群的创建和使用,是一种不错的学习和实践方式. ...

  8. VMWare Workstation 11的安装

    不多说,直接上干货! 说白了   VMWare Workstation是收费的! VMware Player 和 VirtualBox是免费的! 虚拟机软件可让你在一个操作系统上直接运行的多个不同的虚 ...

  9. VMware Workstation 10安装详解

    虚拟机软件可让你在一个操作系统上直接运行的多个不同的虚拟操作系统,譬如可在 Windows 8.1 上运行 Ubuntu 或 Win7 等.免费的 VMware Player 和 VirtualBox ...

随机推荐

  1. LINQ之路 9:LINQ to SQL 和 Entity Framework(上)

    在上一篇中,我们从理论和概念上详细的了解了LINQ的第二种架构“解释查询”.在这接下来的二个篇章中,我们将使用LINQ to SQL和Entity Framework来实践“解释查询”,学习这些技术的 ...

  2. 1010. Radix (25)(未完成)

    Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The an ...

  3. MySQL 数据备份与还原

    一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...

  4. c++程序判断系统是Linux还是Windows

    用C++来实现,本来想了很多,后来越写越烂,而且结果总是不尽人意,干脆这样子好了: int main() { int judge = system("cls"); ) cout & ...

  5. 在eclipse中用gradle搭建MapReduce项目

    我用的系统是ubuntu14.04新建一个Java Project. 这里用的是gradle打包,gradle默认找src/main/java下的类编译.src目录已经有了,手动在src下创建main ...

  6. java父类与接口有相同的方法

    这是java多态的一个体现,如果一个类classA继承了类classB,有实现了接口interfaceA,并且接口中有方法funA(),且父类classB中也有funA(),那么对于classA来说既 ...

  7. 滴滴快车,安全把你带到凡科安全知识h5大赛

    滴滴出行提出"安全第一.体验第二.效率第三"的可持续发展宗旨.近期,滴滴出行还推广了"安全带"宣传,包括明星夫妻CP安全带姿势和明星后排安全带语音播报等,来提升 ...

  8. Java数组扩容算法及Java对它的应用

    1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...

  9. 本地测试Sql

    数据库sqlserver2008 编程vs2008,C# 该测试是数据库和程序在一台计算机上,如果不在一台计算机上就不一样了 我的数据库最大链接是127,好像不固定. 一.测试链接对速度的影响 sta ...

  10. ListView 的使用

    一.ListView:不同视图中一种显示想的集合,显示表格样式的数据信息1.视图:            在其右上方小箭头点击将视图改为Details:或者右键属性在外观View将其改为Details ...