CentOS7.2下PXE+kickstart自动化安装系统
一、实验环境
- 操作系统:CentOS Linux release 7.2.1511 (Core)
- 网卡地址:192.168.100.147/24
- 光盘镜像:CentOS-7-x86_64-Minimal-1511.iso
- 安装工具:kickstart + dhcp + tftp + ftp
二、准备工作
2.1 关闭防火墙
[root@localhost ~]# systemctl stop iptables
[root@localhost ~]# systemctl stop firewalld
2.2 关闭selinux
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
三、原理和流程图
四、DHCP服务安装及配置
4.1 安装dhcp
[root@localhost ~]# yum install dhcp -y
4.2 配置dhcpd
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.100.0 netmask 255.255.255.0 {
option routers 192.168.100.2;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.100.2;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.100.60 192.168.100.100;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.100.147;
filename "pxelinux.0";
}
4.3 启动dhcpd
[root@localhost ~]# systemctl start dhcpd
4.4 dhcp服务测试
[root@localhost ~]# ss -nulp | grep dhcpd
UNCONN 0 0 *:67 *:* users:(("dhcpd",pid=8769,fd=7))
UNCONN 0 0 *:7773 *:* users:(("dhcpd",pid=8769,fd=20))
UNCONN 0 0 :::55406 :::* users:(("dhcpd",pid=8769,fd=21))
也可以启动新服务器,看看能否获取到IP地址
4.5 设置开机自启动(可选)
[root@localhost ~]# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
五、ftp服务安装及配置
5.1 安装vsftpd
[root@localhost ~]# yum install -y vsftpd
5.2 配置vsftpd
使用默认配置即可
5.3 挂载系统盘
系统安装盘挂载到 /var/ftp/pub
目录下,不要挂载到其它地方,因为 /var/ftp
是 anonymous
匿名用户的家目录
如果是光驱,可以这样挂
[root@localhost ~]# mount /dev/cdrom /var/ftp/pub
mount: /dev/sr0 is write-protected, mounting read-only
如果是光盘镜像,可以这样挂
[root@localhost ~]# mount /opt/CentOS-7-x86_64-Minimal-1511.iso /var/ftp/pub -o loop
mount: /dev/loop0 is write-protected, mounting read-only
查看光盘内容
[root@localhost ~]# ls /var/ftp/pub
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
5.4 启动vsftpd服务
[root@localhost ~]# systemctl start vsftpd
5.5 ftp服务器测试
[root@localhost ~]# ftp 192.168.100.147
Connected to 192.168.100.147 (192.168.100.147).
220 (vsFTPd 3.0.2)
Name (192.168.100.147:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,100,147,113,88).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 1068 Aug 09 08:56 ks.cfg
dr-xr-xr-x 8 0 0 2048 Dec 09 2015 pub
226 Directory send OK.
ftp> get ks.cfg
local: ks.cfg remote: ks.cfg
227 Entering Passive Mode (192,168,100,147,126,155).
150 Opening BINARY mode data connection for ks.cfg (1068 bytes).
226 Transfer complete.
1068 bytes received in 6.8e-05 secs (15705.88 Kbytes/sec)
ftp> quit
221 Goodbye.
[root@localhost ~]# ls
anaconda-ks.cfg ks.cfg
成功拿到 ks.cfg
则表示 ftp
服务正常
5.6 设置开机自启动(可选)
[root@localhost ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
六、tftp服务安装及配置
6.1 安装tftp和xinetd服务
[root@localhost ~]# yum install -y xinetd
[root@localhost ~]# yum install -y tftp-server tftp syslinux-tftpboot
6.2 配置xinetd
[root@localhost ~]# vi /etc/xinetd.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是yes的,把它改为no即可
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
6.3 配置tftp-server
[root@localhost ~]# cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot/
[root@localhost ~]# cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 60
display boot.msg
label linux
kernel vmlinuz
append initrd=initrd.img text ks=ftp://192.168.100.147/ks.cfg
6.4 配置kickstart
以 ~/anaconda-ks.cfg
为模板,再做一些适当的修改
[root@localhost ~]# cp ~/anaconda-ks.cfg /var/ftp/ks.cfg
[root@localhost ~]# vi /var/ftp/ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Install OS instead of upgrade
install
# Use network installation
url --url=ftp://192.168.100.147/pub
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8 --addsupport=zh_CN.UTF-8
# Network information
network --bootproto=dhcp --device=eno16777736 --onboot=yes --ipv6=auto
network --hostname=localhost.localdomain
# Root password
# root密码是: rootroot
rootpw --iscrypted $6$7gdZF8XhDef10LyT$2uRiP4qFYaBBTgpggKU/BXKgMDJLWN/BriXXgBwyzkjaz9G9YP/xD08I1OJfgBcPMoURsE5inVIoX.J6aERmR0
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
%packages
@^minimal
@core
%end
%addon com_RedHat_kdump --disable --reserve-mb='auto'
%end
修改访问权限
[root@localhost ~]# ll /var/ftp/ks.cfg
-rw-------. 1 root root 1083 Aug 8 16:39 /var/ftp/ks.cfg
[root@localhost ~]# chmod +r /var/ftp/ks.cfg
[root@localhost ~]# ll /var/ftp/ks.cfg
-rw-r--r--. 1 root root 1083 Aug 8 16:39 /var/ftp/ks.cfg
6.5 启动tftp服务
[root@localhost ~]# systemctl start xinetd
6.6 测试tftp服务
[root@localhost ~]# ls
anaconda-ks.cfg ks.cfg
[root@localhost ~]# tftp 192.168.100.147
tftp> get vmlinuz
tftp> quit
[root@localhost ~]# ls
anaconda-ks.cfg ks.cfg vmlinuz
如果能成功拿到 vmlinuz
文件,则表示 tftp
服务器状态正常
6.7 设置开机自启动(可选)
[root@localhost ~]# systemctl enable xinetd
Created symlink from /etc/systemd/system/multi-user.target.wants/xinetd.service to /usr/lib/systemd/system/xinetd.service.
七、启动安装
到这里已经配置完成了。
系统安装前,需要设置BIOS从网卡启动,安装完后马上改回去
八、注意事项
- 注意dhcp冲突
- 注意权限
- 注意防火墙
- 注意selinux
CentOS7.2下PXE+kickstart自动化安装系统的更多相关文章
- CentOS 7.2 下 PXE+kickstart 自动安装系统
一.简单概述 1.1 Kickstart 概述 对于网络安装系统,在linux 下面最熟悉的应该就是 Kickstart 以及 cobbler.写这篇文章的目的在于我公司目前使用的就是 Kicksta ...
- CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3
CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行 ...
- 【转载】CentOS 6.4下PXE+Kickstart无人值守安装操作系统
[转载]CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转自:CentOS 6.4下PXE+Kickstart无人值守安装操作系统 - David_Tang - 博客园 http ...
- 使用PXE+Kickstart无人值守安装系统
PXE预启动执行环境(即Preboot execute environment) 是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用,用于在无人值守安装系统服务中引导客户机安装服 ...
- CentOS 6.6下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- [转]CentOS 6.4下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- Centos下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- redhat 6.4下PXE+Kickstart无人值守安装操作系统
一 前言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装.常规的办法有什么?1.光盘安装系统:每个服务器DVD内置光 ...
随机推荐
- js的split()和join()的用法
split() 方法用于把一个字符串分割成字符串数组.split[splɪt]:vt. 分离:使分离:劈开:离开:分解 stringObject.split(separator,howmany) se ...
- [LC]643题 Maximum Average Subarray I(子数组最大平均数 I)
①英文题目 Given an array consisting of n integers, find the contiguous subarray of given length k that h ...
- Win10专业版和企业版的区别
微软最新的Windows 10版本诸多,包括精简版(S).家庭版(Home).专业版(Pro).企业版(Enterprise),而论功能体验,Win10专业版和企业版无疑是最完善的.那么,Win10专 ...
- 解决FirewallD is not running问题
centos7 1.查看firewalld状态:systemctl status firewalld,如果是dead状态,即防火墙未开启. 2.开启防火墙systemctl start firewal ...
- git操作忽略.iml文件
git操作忽略.iml文件** 参考:https://blog.csdn.net/m0_38001814/article/details/87354584 因为.iml文件的修改导致代码pull失败 ...
- Java并发之volatile关键字
引言 说到多线程,我觉得我们最重要的是要理解一个临界区概念. 举个例子,一个班上1个女孩子(临界区),49个男孩子(线程),男孩子的目标就是这一个女孩子,就是会有竞争关系(线程安全问题).推广到实际场 ...
- PostGIS mysql_fdw安装(Linux)
##本人在安装过程中,可能因为系统环境因素或是其他原因,参考网上的文章没有一篇是非常顺利的,所以自己总结一下. ##安装过程中非常坎坷,有些地方反复了好几次,弄的有点模糊,但模糊的地方在文中我会指出. ...
- 【POJ 2823】【Luogu P1886】Sliding Window 滑动窗口
POJ 2823 Luogu P1886 [解题思路] 这是一个单调队列算法的经典题目,几乎学习单调队列的人都接触过这题. 利用单调队列算法求出每一个固定区间内的最(大/小)值. 以下以最大值为例: ...
- find_all的用法 Python(bs4,BeautifulSoup)
find_all()简单说明: find_all() find_all() 方法搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件 用法一: rs=soup.find_all('a') 将返 ...
- 2019/12/1 智能硬件实验室(ROS方向)
浅谈安装ubuntu与ros感想 ubuntu 以前看电脑软件安装管家上的教程尝试在另一台电脑上安装ubuntu(虚拟机上),但是后面遇到了无法解决的问题,放弃了.这次因为选的ros方向,所以昨天在学 ...