pxe kickstart 配置+TFTP+NFS多版本系统部署
系统centos6.5x86_64
1.DHCP服务配置.
yum安装dncp
[root@cnhzdhcp16593 ~]# yum -y install dhcp
配置dhcp服务,新建dhcpd.conf在/etc/dhcp下:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gatewayt
option routers 192.168.1.1; #我的eth1为192.168.1.1,两张网卡
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.2 192.168.1.254;
default-lease-time 21600;
max-lease-time 43200;
allow bootp;
allow booting;
next-server 192.168.1.1; #tftpserver IP地址
filename "pxelinux.0";
}
配置完成重新启动. service dhcpd restart
2.配置tftp服务.
yum安装tftp
[root@cnhzdhcp16593 ~]# yum -y install tftp-server tftp
配置xinetd.d下tftp文件.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /tftpboot #加入-u nobody 任何人可以访问.
disable = no #yes改为no
per_source = 11
cps = 100 2
flags = IPv4
}
重新启动tftp服务,需要重启xinetd服务(xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。)
service xinetd restart
3.NFS服务配置.
yum安装NFS.
[root@cnhzdhcp16593 ~]# yum -y install nfs*
配置nfs文件.
[root@cnhzdhcp16593 ~]# vim /etc/exports
/netinstall/centos6.7 192.168.1.0/24(rw,sync) #指定共享目录和IP网段
/netinstall/centos6.8 192.168.1.0/24(rw,sync) #指定共享目录和IP网段
mkdir –p /netinstall/centos{6.7,6.8} #创建netinstall文件夹和需要的文件
4.pxe启动文件创建
[root@cnhzdhcp16593 tftpboot]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/ #copy pxelinux.0文件到tftpboot下.
[root@cnhzdhcp16593 /]# mount -o loop CentOS-6.8-x86_64-bin-DVD1.iso /mnt #挂载iso系统至/mnt下.
[root@cnhzdhcp16593 ~]# mkdir /tftpboot/centos{6.7,6.8} –p #创建pxe所需启动文件目录.
[root@cnhzdhcp16593 ~]# cp -r /mnt/images/pxeboot/* /tftpboot/centos6.8/ #copy centos6.8启动文件至/tftpboot/centos6.8下[root@cnhzdhcp16593 ~]# cp -r /mnt/images/pxeboot/* /tftpboot/centos6.7/ #挂载centos6.7至mnt下进行copy
[root@cnhzdhcp16593 ~]# mkdir /tftpboot/pxelinux.cfg/{default,list} #创建default和list文件,(也可以从/mnt/isolinux/isolinux.cfg修改为default)系统引导菜单和版本.
编辑default文件:
default 0
prompt 1
timeout 600
display pxelinux.cfg/list #启动列表
label 0
localboot 0xffff #设置label 0为本地启动
label 1
kernel centos6.7/vmlinuz #修改kernel路径
append ks=nfs:192.168.1.1:/netinstall/centos6.7/ks.cfg initrd=centos6.7/initrd.img #添加nfs路径
label 2
kernel centos6.8/vmlinuz
append ks=nfs:192.168.1.1:/netinstall/centos6.8/ks.cfg initrd=centos6.8/initrd.img #同上
编辑list文件:
Welcome to my linux pxe install:
########################################################################Num Name Distribution Arch. Installation media
-----------------------------------------------------------------------------------------------------
0) local boot
1) Centos-6.7 Centos-6.7-x86_64 x86_64 nfs://192.168.1.1/netinstall/centos6.7
2) Centos-6.8 Centos-6.8-x86_64 x86_64 nfs://192.168.1.1/netinstall/centos6.8
[root@cnhzdhcp16593 pxelinux.cfg]# cp -r /mnt/* /netinstall/centos6.8/ #copy系统文件
[root@cnhzdhcp16593 pxelinux.cfg]# cp -r /mnt/* /netinstall/centos6.7/ #copy系统文件
5.生成ks.cfg文件.
yum安装system-config-kickstart:
yum -y install system-config-kickstart
system-config-kickstart #在图形化运行,配置应答文件.
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use NFS installation media
nfs --server=192.168.1.1 --dir=/netinstall/centos6.7
# Root password
rootpw --iscrypted $1$VYnTpm4f$7XYrGJwCS4EmMm26l1pmh.
# 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 --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all
# Disk partitioning information
part swap --fstype="swap" --size=4000
part / --fstype="ext4" --grow --size=1%packages
@basic-desktop
@desktop-debugging
@desktop-platform
@fonts
@general-desktop
@graphical-admin-tools
@guest-agents
@input-methods
@legacy-x
@perl-runtime
@remote-desktop-clients
@virtualization
@virtualization-client
@virtualization-platform
@x11%end
把生成的ks.cfg文件copy至/netinstall/centos6.7和6.8下,修改nfs --server=192.168.1.1 --dir=/netinstall/centos6.7或者centos6.8
需要注意的是关闭防火墙和selinux或者修改以下:
vim /etc/sysconfig/selinux #修改SELinux状态
SELINUX=permissive #默认的enforcing修改为permissive
setenforce 0 #或者重启系统
#防火墙开放服务和端口号
firewall-cmd --permanent --add-port=111/tcp
firewall-cmd --permanent --add-port=111/udp
firewall-cmd --permanent --add-port=20048/tcp
firewall-cmd --permanent --add-port=20048/udp
firewall-cmd --permanent --add-port=69/udp
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=dhcp
firewall-cmd --reload
在客户端进行测试从nic网卡启动.
pxe kickstart 配置+TFTP+NFS多版本系统部署的更多相关文章
- PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统
PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统 PXE + Kickstart PXE的工作流程及配置文件 Kickstart的配置文件 Linux安装大致可以分为2个阶段 第 ...
- PXE+kickstart无人值守安装CentOS 7
kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...
- (转)PXE+kickstart无人值守安装CentOS 7
kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...
- PXE+Kickstart 批量安装CentOS 7
安装之前 将需要安装 CentOS 的服务器与 PXE 服务器通过网络设备连接:PXE 服务器安装 CentOS,并且关闭firewalld.selinux,设置静态IP地址,本例设为10.0.0.1 ...
- kickstart自动化安装--tftp+nfs+dhcp
使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: ( ...
- 使用 PXE+Kickstart 实现无人值守批量部署系统
一.废话两句 在云数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常繁琐,系统安装好了后还会涉及很多配置,如果一台台来安装的话工作量非常大.(虽然有加班费,开个玩笑)为了解决这个问题,我们需 ...
- pxe+kickstart部署多个版本的Linux操作系统(下)---实践篇
我们在企业运维环境中,难免会遇到使用多个Linux操作系统的情况,如果每天都需要安装不同版本的Linux系统的话,那么使用Kickstart只能安装一种版本的Linux系统的方法则显得有些捉襟 ...
- linux系统PXE+Kickstart自动安装系统
一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...
- pxe+kickstart自动化批量安装系统详解-技术流ken
前言 pxe+kickstart是一款可以实现自动化批量安装系统的服务,比较经典,下面将详细介绍此服务的安装和使用. 系统环境准备 系统版本:CentOS release 6.7 (Final) 内网 ...
随机推荐
- python基础07 函数
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后 ...
- 9.S5PV210的时钟系统
1.时钟域:MSYS.DSYS.PSYS(1)因为S5PV210的时钟体系比较复杂,内部外设模块太多,因此把整个内部的时钟划分为3大块,叫做3个域.(2)MSYS: CPU(Cortex-A8内核). ...
- 【EF学习笔记09】----------使用 EntityState 枚举标记实体状态,实现增删改查
讲解之前,先来看一下我们的数据库结构:班级表 学生表 如上图,实体状态由EntityState枚举定义:Detached(未跟踪).Unchanged(未改变).Added(已添加).Deleted( ...
- django中自定义标签和过滤器
想要实现自定义标签和过滤器需要进行准备工作: 准备(必需)工作: 1 在某个app下创建一个名为templatetags(必需,且包名不可变)的包.假设我们在名为polls的app下创建了一个tem ...
- centos6.x下手工安装二进制Docker v1.1x
Docker在 centos 6.x 下面默认最新的版本是1.7, 然而这个并不符合我的实际需求, 尤其我需要 docker-compose 来作为编配工具部署swarm, 所以只有使用二进制的安装包 ...
- avalon2学习教程09循环操作
avalon2的循环指令的用法完全改变了.avalon最早期从knockout那样抄来ms-each,ms-with,分别用于数组循环与对象循环.它们都是针对元素内容进行循环.后来又从angular那 ...
- jafka的zk数据
查看topics: ls /brokers/topics [mytopic] 查看topic所在的broker,下面例子,mytopic在broker 0 中管理. ls /brokers/topic ...
- java基础十一[远程部署的RMI](阅读Head First Java记录)
方法的调用都是发生在相同堆上的两个对象之间(同一台机器的Java虚拟机),如果想要调用另一台机器上的对象,可以通过Socket进行输入/输出. 远程过程调用需要创建出4种东西:服务器.客户端.服务器辅 ...
- java自带BASE64工具进行图片和字符串转换
java自带BASE64工具进行图片和字符串转换 import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...
- JAVA学习<四>
一. 数组: Java 中操作数组只需要四个步骤: 1. 声明数组 语法: 数据类型[ ] 数组名: 或者 数据类型 数组名[ ]: 其中,数组名可以是任意合法的变量名. 2. 分配空间 简单地 ...