vmware上搭建kickstart 网络安装centos6.2的过程
前言
什么是PXE?
PXE(Pre-boot Execution Environment,预启动执行环境)协议使计算机可以通过网络启动。协议分client和server。
- PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。
- PXE server 需要配置 DHCP 服务器和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 支持。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。
什么是kickstart?
KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。 如安装完centos后,/root/anaconda-ks.cfg 记录了安装过程中需要人工选择的项,这个文件就是 kickstart 配置文件,可以用于其他同样配置的centos自动安装,使用方法是配置安装树里边的 isolinux.cfg
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
#append ks=cdrom:/ks.cfg initrd=initrd.img text // ks 文件放在安装ISO盘里
append ks=http://192.168.0.1/ks.cfg initrd=initrd.img text // ks 文件放在服务器上
pxe 和 kickstart 技术在大规模部署的时候是必备技术
实验环境
本次实验在 vmware workstation 10 虚拟平台上进行,所有虚拟机使用的OS都是 CentOS-6.2-x86_64-minimal。实验的拓扑图如下, 共三台虚拟机,从网络安装实验角度,vm0 作为 tftp和http 服务器,上面存放要安装的系统和软件包; vm1 作为 dhcp 服务器,提供dhcp服务及响应pxe dhcp请求;vm2 是客户机。由于实验过程中,vm0和vm1都需要访问外网以便安装各种服务器,所以vm0和vm1都有2块网卡(vm1没画出来),其中eth0采用nat的方式共享物理主机的网络,通过它可以访问外网,可以在主机上用xshell等客户端连进去控制vm0和vm1

- 按照普通从ISO文件安装系统的步骤,在vmware上安装 vm0 和 vm1, 使用的ISO 是 CentOS-6.2-x86_64-minimal.iso
- vm0 网络配置

eth0 网络配置
DEVICE="eth0"
BOOTPROTO=dhcp
NM_CONTROLLED="yes"
ONBOOT="yes"
eth1 网络配置
DEVICE="eth1"
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NM_CONTROLLED="yes"
ONBOOT="yes"
- vm1 网络配置

eth0 网络配置
DEVICE="eth0"
IPADDR=192.168.0.12
GATEWAY=192.168.0.1
NETMASK=255.255.255.0
NM_CONTROLLED="yes"
ONBOOT="yes"
服务器配置
准备要安装的系统
将 minimal iso 挂载到 /mnt/iso 目录备用
mkdir -p /mnt/iso
mount -o loop CentOS-6.2-x86_64-minimal.iso /mnt/iso
DHCP 服务器
在vm1上, yum install dhcp, 修改配置文件 /etc/dhcp/dhcpd.conf
ddns-update-style none;
allow booting;
allow bootp;
filename "pxelinux.0";
next-server 192.168.0.1;
subnet 192.168.0.0 netmask 255.255.255.0 {
option domain-name-servers 8.8.8.8, 192.168.0.1;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
default-lease-time ;
range dynamic-bootp 192.168.0.10 192.168.0.190;
}
chkconfig dhcpd on 重启dhcp服务, service dhcpd restart
httpd 服务器
yum -y install httpd
- 关闭防火墙
service iptables stop 或者 iptables -t filter -F
- 关闭 selinux
setenforce 或者 修改 /etc/selinux/config 确保: SELINUX=disabled
- 配置系统
vi /etc/httpd/conf.d/pxeboot.conf ...
Alias /centos6. /boot-images/centos/x86_64/6.2
<Directory /centos6.>
Options Indexes FollowSymLinks
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 192.168.0.0/
</Directory>
将ISO挂载目录里的内容全部拷贝到 http 目录里
mkdir -p /boot-images/centos/x86_64/6.2/
cp -Rv /mnt/iso /boot-images/centos/x86_64/6.2/
chmod -R o+rx /boot-images/
chkconfig httpd on service httpd restart
tftp 服务器
在vm0上,yum -y install tftp-server syslinux xinetd
- tftp server 配置, 将 /etc/xinet.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 #disable的直由yes变为no
per_source =
cps =
flags = IPv4
}
chkconfig xinetd on service xinetd restart
- tftp server 内容
从挂载iso的目录 /mnt/iso 拷贝需要的文件到 tftpboot 从 syslinux 安装目录拷贝 pxelinux.0 到 tftpboot
cd /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux. .
mkdir -p pxelinux.cfg
cp /mnt/iso/isolinux/isolinux.cfg pxelinux.cfg/default
cp /mnt/iso/isolinux/initrd.img .
cp /mnt/iso/isolinux/vmlinuz .
cp /mnt/iso/isolinux/vesamenu.c32 .
接下去修改 /var/lib/tftpboot/pxelinux.cfg/default
timeout
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrdinitrd=initrd.img ks=http://192.168.0.1/centos6.2/ks.cfg // kickstart 安装
#append initrdinitrd=initrd.img method=http://192.168.0.1/centos6.2 // 交互安装
chmod +x /var/lib/tftpboot/pxelinux.cfg/default
- kickstart 配置文件
cp anaconda-ks.cfg /boot-images/centos/6.2/ks.cfg
chmod +r /boot-images/centos/6.2/ks.cfg
修改ks.cfg内容,下面是一种例子:
# Kickstart file automatically generated by anaconda. #version=DEVEL
install
url --url=http://192.168.0.1/centos6.2
lang en_US.UTF-
keyboard us
network --bootproto=dhcp --onboot=on --device=eth0
network --nameserver=8.8.8.8 --hostname=jiayy.com
rootpw
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc America/New_York
bootloader --location=mbr --driveorder=sda --append=" rhgb crashkernel=auto 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 --linux --drives=sda
part /boot --fstype=ext4 --size=
part pv. --grow --size=
volgroup VolGroup pv.
logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --grow --size= --maxsize=
logvol swap --name=lv_swap --vgname=VolGroup --grow --size= --maxsize=
logvol /tmp --name=lv_tmp --vgname=VolGroup --grow --size= --maxsize= repo --name="CentOS" --baseurl=http://192.168.0.1/centos6.2 --cost=100 %packages --nobase
@core
%end
客户端
新建虚拟机,注意选"稍后安装系统",如下图

编辑虚拟机设置-网络适配器-选自定义网络vmnet0,如下图

启动之后按F2进入bios,选择从网络启动,然后就会一路安装

参考
http://my.oschina.net/lionel45/blog/111618
http://wiki.centos.org/HowTos/NetworkInstallServer
http://carllai.blog.51cto.com/1664997/1053292
http://darktraining.com/linux/88/http://javaarm.com/faces/display.xhtml?tid=2972
vmware上搭建kickstart 网络安装centos6.2的过程的更多相关文章
- 烂泥:kickstart无人值守安装CentOS6.5
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在本次实验进行之前,首先我们要把公司的网络环境进行介绍. 注意这个网络拓扑图,也是生产环境的一个实例.同时服务器192.168.1.214已关闭ipta ...
- PXE+kickstart网络安装CentOS7.4系统及过程中各种报错
环境:关闭防火墙.selinux 注意:虚拟机进行网络安装的话,7.3以后的系统是需要2G以上的内存 [root@kickstart ~]# cat /etc/redhat-release CentO ...
- 网络安装CentOS6.4
第一步:所需工具安装包下载地址: http://115.com/file/antbtamu#网络安装CentOS.rar(或者下载NetbootM.exe和hfs.exe) 第二步:将CentOS6. ...
- VMWare上Linux系统下载安装教程
原文链接:http://www.studyshare.cn/blog-front//software/details/1162/0 一.下载 linux镜像文件下载,此处只提供CentOS 6.8版本 ...
- CentOS6.4 上搭建NIS网络信息服务器
NIS(Network Information Service)网络信息服务,主要功能是提供用户登录信息给客户端主机查询之用,用于企业局域网Linux主机账户的集中管理(非跨平台).NIS服务器在大型 ...
- VMware Workstation pro14 虚拟机下安装CentOS6.5图文教程
1 启动VMware的画面 2.点击 创建新的虚拟机 3 选择 典型(推荐) 4 选择 稍后安装操作系统 5 选择客户机操作系统类型 6 设置虚拟机名称 和 安装路径 7 指定磁盘容量 8 点击 自定 ...
- VMware Workstation pro14 虚拟机下安装CentOS6.8图文教程
转载收藏于 https://www.cnblogs.com/jepson6669/p/8371823.html 1 启动VMware的画面 2.点击 创建新的虚拟机 3 选择 典型(推荐) 4 选择 ...
- VMware空虚拟机通过网络安装系统时获取不到IP地址情况(基于Linux的DHCP服务器)
当虚拟机提示no DHCP or proxyDHCP offers were received时 1.dhcp服务配置错误(留意句尾分号“ :”) 2.dhcp服务未启动(用 systemctl s ...
- VM VirtualBox 上安装 CentOs6.4(详细)
在网上下载:CentOS-6.4-i386-bin-DVD1.iso镜像. 这是我在VBox上安装CentOs6.4的过程: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12 ...
随机推荐
- Pandas 数值计算和统计基础
1.(1) # 基本参数:axis.skipna import numpy as np import pandas as pd df = pd.DataFrame({'key1':[4,5,3,np. ...
- POJ:3292-Semi-prime H-numbers(艾氏筛选法拓展)
Semi-prime H-numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10466 Accepted: 4665 ...
- [Bzoj4818]序列计数(矩阵乘法+DP)
Description 题目链接 Solution 容斥原理,答案为忽略质数限制的方案数减去不含质数的方案数 然后矩阵乘法优化一下DP即可 Code #include <cstdio> # ...
- __builtin_popcount() 函数
详解 该函数的主要作用是计算一个数字的二进制中有多少个1,返回值就是其中1的个数. 它使用一张基于表的方法来进行位搜索,因此这个操作的执行效率很高 此处举一题 P1582 倒水 #include &l ...
- 購買管理(MM)
■購買管理■ [購買伝票]EKKO: ヘッダ EKPO: 明細 EKET: 納入日程行 EKPA: 取引先機能 EKKN: 勘定設定 EKBE: 後続伝票 EKBEH: 削除済み後続伝票履歴 [請求書 ...
- 关于学习less后一些感悟
学习了一天的less发现,自己被自己弄的晕头转向,好在是学明白了! 一.写自己的第一个less css样式编程: 网址:http://www.1024i.com/demo/less/document. ...
- 6 Django的视图层
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . ...
- [bzoj1552][Cerc2007]robotic sort&&[bzoj3506][Cqoi2014]排序机械臂
非常垃圾的一道平衡树,结果被日了一天.很难受嗷嗷嗷 首先不得不说网上的题解让我这个本来就不熟悉平衡树的彩笔很难受——并不好理解. 还好Sinogi大佬非常的神,一眼就切掉了,而且用更加美妙的解法. 题 ...
- CodeForces 805F Expected diameter of a tree 期望
题意: 给出一个森林,有若干询问\(u, v\): 从\(u, v\)中所在子树中随机各选一个点连起来,构成一棵新树,求新树直径的期望. 分析: 回顾一下和树的直径有关的东西: 求树的直径 从树的任意 ...
- 【Pascal's Triangle II 】cpp
题目: Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [ ...