linux运维、架构之路-Kickstart无人值守
一、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无人值守的更多相关文章
- linux运维架构师职业规划
1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...
- 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路
做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...
- Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!
Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...
- Linux运维企业架构实战系列
Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...
- Linux运维企业架构项目实战系列
Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...
- Linux 运维入门到跑路书单推荐
一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统. https://b ...
- 从零起步做到Linux运维经理, 你必须管好的23个细节
“不想成为将军的士兵,不是好士兵”-拿破仑 如何成为运维经理? 一般来说,运维经理大概有两种出身:一种是从底层最基础的维护做起,通过出色的维护工作,让公司领导对这个人非常认可,同时对Linux运维工作 ...
- linux运维工程师面试题收集
面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...
- 从零起步做到Linux运维经理,你必须管好的23个细节
不想成为将军的士兵,不是好士兵-拿破仑 如何成为运维经理?成为运维经理需要什么样的能力?我想很多运维工程师都会有这样的思考和问题. 如何成为运维经理.一般来说,运维经理大概有两种出身,一种是从底层最基 ...
随机推荐
- Python学习之==>线程&&进程
一.什么是线程(thread) 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一个线程指的是进程中一个单一顺序的控制流,一个进程中可以包含多个线程,每条线程并行 ...
- Flink容错机制
Flink的Fault Tolerance,是在在Chandy Lamport Algorithm的基础上扩展实现了一套分布式Checkpointing机制,这个机制在论文"Lightwei ...
- 基于原生XMLHttpRequest封装
用了一段时间的Ajax,感觉有很多的不足之处,于是就封装原生了 XMLHttpRequest . 废话不多说,直接上代码. var http = function () { 'use strict'; ...
- 【MM系列】 MM60增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列] MM60增强 前言部分 大家可 ...
- 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
ubuntu更新软件时 apt-get upgrade 遇到 E: 无法获得锁 /: 资源暂时不可用) E: Unable to acquire the dpkg frontend lock (/va ...
- 不容错过的 MySQL史上最全
点击下方链接 http://c.biancheng.net/view/2361.html
- vps国外节点ubuntu修改时区重启不失效
使用了tzselect方法,但是重启后时区又恢复到初始情况了,不得行. 使用下面的方法成功了: 1.将时区修改成上海时区 cp /usr/share/zoneinfo/Asia/Shanghai /e ...
- SSM框架之AOP、动态代理、事务处理相关随笔
AOP: 原理:底层利用动态代理(两种动态代理技术都使用了) 两种实现方案: 第一种:JDK动态代理技术 实现的InvocationHandler接口,要想实现某个类的动态代理对象,必须有接口有实现类 ...
- [2019上海网络赛F题]Rhyme scheme
题目链接 题意,求出合法的长度为n的字典序第k小字符串,合法的定义为除了最后一位,每一位的取值范围为'A'到'A'+pos-1,而最后一位的取值范围'A'到当前字符串最大值+1. 队友tql,Orz ...
- 数学: HDU1005 Number Sequence
Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...