一、PXE介绍

         PXE全名Pre-boot Execution Environment,预启动执行环境;通过网络接口启动计算机,不依赖本地存储设备或本地已安装的操作系统;Client/Server的工作模式

二、PXE+Kickstart无人值守过程

三、PXE+Kickstart实现自动化安装系统

1、环境

[root@m01 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@m01 ~]# uname -r
2.6.-.el6.x86_64
[root@m01 ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@m01 ~]# getenforce
Disabled
[root@m01 ~]# hostname -I
10.0.0.61 172.16.1.61

2、配置DHCP服务

yum install dhcp -y #安装DHCP服务
cat >>/etc/dhcp/dhcpd.conf<<EOF
subnet 172.16.1.0 netmask 255.255.255.0 {
range 172.16.1.120 172.16.1.200; #可分配的地址池
option subnet-mask 255.255.255.0; #子网掩码
default-lease-time ; #默认IP租用期限
max-lease-time ; #默认最大的IP租用期限
next-server 172.16.1.61; #指明tftp服务器的IP地址
filename "/pxelinux.0"; #告知客户端从TFTP根目录下载pxelinux.0文件
}
EOF [root@m01 ~]# /etc/init.d/dhcpd start
Starting dhcpd: [ OK ]
[root@m01 ~]# lsof -i:67 #检查dhcp服务是否启动
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dhcpd dhcpd 7u IPv4 0t0 UDP *:bootps

3、配置tftp服务

[root@m01 ~]# yum -y install tftp-server
[root@m01 ~]# sed -i '14s#yes#no#' /etc/xinetd.d/tftp
[root@m01 ~]# /etc/init.d/xinetd start
Starting xinetd: [ OK ]
[root@m01 ~]# lsof -i:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
xinetd root 5u IPv4 0t0 UDP *:tftp

4、配置HTTP服务

[root@m01 ~]# yum -y install httpd
sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf #去掉提示信息
[root@m01 ~]# /etc/init.d/httpd start
Starting httpd: [ OK ] [root@m01 ~]# mkdir -p /var/www/html/CentOS6.9 #创建镜像目录
[root@m01 ~]# mount /dev/cdrom /var/www/html/CentOS6.9 #挂载光盘到镜像目录
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@m01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 .9G .8G .8G % /
tmpfs 242M 242M % /dev/shm
/dev/sda1 190M 34M 146M % /boot
/dev/sr0 .7G .7G % /var/www/html/CentOS6.

5、配置PXE启动需要的文件

yum -y install syslinux #为了使用pxelinux.0而安装的包
cp /usr/share/syslinux/pxelinux. /var/lib/tftpboot/ #复制pxe启动文件
cp -a /var/www/html/CentOS6./isolinux/* /var/lib/tftpboot/ #从镜像中复制相关文件
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/CentOS6.9/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@m01 tftpboot]# ll /var/lib/tftpboot/
total 45356
-r--r--r-- 1 root root 2048 Mar 29 2017 boot.cat
-r--r--r-- 1 root root 84 Mar 29 2017 boot.msg
-r--r--r-- 1 root root 321 Mar 29 2017 grub.conf
-r--r--r-- 1 root root 41587792 Mar 29 2017 initrd.img
-r--r--r-- 1 root root 24576 Mar 29 2017 isolinux.bin
-r--r--r-- 1 root root 923 Mar 29 2017 isolinux.cfg #修改此文件可以定制安装系统界面
-r--r--r-- 1 root root 183012 Mar 29 2017 memtest
-rw-r--r-- 1 root root 26759 Oct 11 05:56 pxelinux.0
drwxr-xr-x 2 root root 4096 Oct 11 05:56 pxelinux.cfg
-r--r--r-- 1 root root 151230 Mar 29 2017 splash.jpg
-r--r--r-- 1 root root 2215 Mar 29 2017 TRANS.TBL
-r--r--r-- 1 root root 163728 Mar 29 2017 vesamenu.c32
-r-xr-xr-x 1 root root 4274992 Mar 29 2017 vmlinuz

此时打开浏览器输入

6、配置ks.cfg文件

[root@m01 ks_config]# mkdir /var/www/html/ks_config/ -p
[root@m01 ks_config]# grub-crypt #设置加密密码
Password:
Retype password:
$$3SU6kWgqSBiRVqre$w8L3Tll51SaEWzxyOBDb8AxIT468hMj0hwmQXqAx1ozQKn3rXHRB7hvp6BewtFRlqljqCmTVvaGje5DQVNNXZ. [root@m01 ks_config]# vi /var/www/html/ks_config/CentOS-6.9-ks.cfg
# Kickstart Configurator for CentOS 6.9 by yan xinjiang
install
url --url="http://172.16.1.61/CentOS6.9/"
text
lang en_US.UTF-
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS6
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYG
WlgKsn945fFTjRC658UXjuocwJbAjVI5D6/
clearpart --all --initlabel
[root@m01 ks_config]# cat /var/www/html/ks_config/CentOS-6.9-ks.cfg
# Kickstart Configurator for CentOS 6.7 by yao zhang
install
url --url="http://172.16.1.61/CentOS6.9/"
text
lang en_US.UTF-
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS6
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/
clearpart --all --initlabel
part /boot --fstype=ext4 --asprimary --size=
part swap --size=
part / --fstype=ext4 --grow --asprimary --size=
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot %packages #选择安装系统需要的一些库和安装包
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet %post #可以放安装执行的脚本,可以把自己的优化放在其中
wget -O /tmp/optimization.sh http://172.16.1.61/ks_config/optimization.sh &>/dev/null
/bin/sh /tmp/optimization.sh
%end

7、配置default文件

[root@m01 ks_config]# cat /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt label ks
kernel vmlinuz
append initrd=initrd.img ks=http://172.16.1.61/ks_config/CentOS-6.9-ks.cfg ksdevice=eth1 #告诉安装程序ks.cfg文件在哪里
ksdevice=eth1#指定从eth1网卡安装,不指定的话会让你选择

8、完成无人值守自动安装系统

打开系统电源,喝个小茶,上个厕所回来系统就OK了

linux运维、架构之路-Kickstart无人值守的更多相关文章

  1. linux运维架构师职业规划

    1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...

  2. 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

    做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...

  3. Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!

    Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...

  4. Linux运维企业架构实战系列

    Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...

  5. Linux运维企业架构项目实战系列

    Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...

  6. Linux 运维入门到跑路书单推荐

    一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统. https://b ...

  7. 从零起步做到Linux运维经理, 你必须管好的23个细节

    “不想成为将军的士兵,不是好士兵”-拿破仑 如何成为运维经理? 一般来说,运维经理大概有两种出身:一种是从底层最基础的维护做起,通过出色的维护工作,让公司领导对这个人非常认可,同时对Linux运维工作 ...

  8. linux运维工程师面试题收集

    面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...

  9. 从零起步做到Linux运维经理,你必须管好的23个细节

    不想成为将军的士兵,不是好士兵-拿破仑 如何成为运维经理?成为运维经理需要什么样的能力?我想很多运维工程师都会有这样的思考和问题. 如何成为运维经理.一般来说,运维经理大概有两种出身,一种是从底层最基 ...

随机推荐

  1. Python学习之==>线程&&进程

    一.什么是线程(thread) 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一个线程指的是进程中一个单一顺序的控制流,一个进程中可以包含多个线程,每条线程并行 ...

  2. Flink容错机制

    Flink的Fault Tolerance,是在在Chandy Lamport Algorithm的基础上扩展实现了一套分布式Checkpointing机制,这个机制在论文"Lightwei ...

  3. 基于原生XMLHttpRequest封装

    用了一段时间的Ajax,感觉有很多的不足之处,于是就封装原生了 XMLHttpRequest . 废话不多说,直接上代码. var http = function () { 'use strict'; ...

  4. 【MM系列】 MM60增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列] MM60增强   前言部分 大家可 ...

  5. 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)

    ubuntu更新软件时 apt-get upgrade 遇到 E: 无法获得锁 /: 资源暂时不可用) E: Unable to acquire the dpkg frontend lock (/va ...

  6. 不容错过的 MySQL史上最全

    点击下方链接 http://c.biancheng.net/view/2361.html

  7. vps国外节点ubuntu修改时区重启不失效

    使用了tzselect方法,但是重启后时区又恢复到初始情况了,不得行. 使用下面的方法成功了: 1.将时区修改成上海时区 cp /usr/share/zoneinfo/Asia/Shanghai /e ...

  8. SSM框架之AOP、动态代理、事务处理相关随笔

    AOP: 原理:底层利用动态代理(两种动态代理技术都使用了) 两种实现方案: 第一种:JDK动态代理技术 实现的InvocationHandler接口,要想实现某个类的动态代理对象,必须有接口有实现类 ...

  9. [2019上海网络赛F题]Rhyme scheme

    题目链接 题意,求出合法的长度为n的字典序第k小字符串,合法的定义为除了最后一位,每一位的取值范围为'A'到'A'+pos-1,而最后一位的取值范围'A'到当前字符串最大值+1. 队友tql,Orz ...

  10. 数学: HDU1005 Number Sequence

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...