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个细节
不想成为将军的士兵,不是好士兵-拿破仑 如何成为运维经理?成为运维经理需要什么样的能力?我想很多运维工程师都会有这样的思考和问题. 如何成为运维经理.一般来说,运维经理大概有两种出身,一种是从底层最基 ...
随机推荐
- gitlab在centos7.3上搭建
gitlab在centos7.3上搭建 最近接到gitlab+jenkins的任务,由于以前只接触过GitHub,并只是简单的使用,这里简单记录gitlab与jenkins搭建的 环境: centos ...
- 嵌套的frame
自动化的测试中,iframe的嵌套也是很常见的,对于嵌套的iframe,我们处理的方式是先进入到iframe的父节点, 再进入到子节点,然后可以对子节点里面的对象进行处理和操作.如下的html代码效果 ...
- ConfigurationManager.ConnectionStrings 属性
public static ConnectionStringSettingsCollection ConnectionStrings { get; } App.config <?xml vers ...
- 2019.07.06 纪中_B
今天的题看起来都很简单,结果就爆炸了 做题时:怎么都是图论??? 结果最后好多是DP(最恐怖的是还有我没学过的状压DP) 2019.07.06[NOIP提高组]模拟 B 组 做了两题(稍微腐败了一下) ...
- 如何遍历div里面的文本内容,用each方法,
如何遍历div里面的文本内容,然后进行匹配传来的数据,进行选中div,并进行CSS样式处理, for(i = 0; i< $(".itemMenuRowBox").child ...
- 一张图说明移动前端开发与web前端开发的区别
- [UWP]CompositionLinearGradientBrush加BlendEffect,双倍的快乐
原文:[UWP]CompositionLinearGradientBrush加BlendEffect,双倍的快乐 1. 什么是BlendEffect# 上一篇文章介绍了CompositionLinea ...
- C#导出大量数据到excel,怎么提升性能
一,要提升性能,我们先要知道耗时的地方在哪里 1,数据库查询,2,把数据组合成新集合循环嵌套太多 二,那我们怎么优化呢? 一,数据库查询,1>,数据库查询:如果数据量小,我们可以用临时datat ...
- 2019 NCTF Re WP
0x01 debug 测试文件:https://www.lanzous.com/i7kr2ta 1.Linux运行环境 在Linux上运行linux_server64文件 2.IDA配置 __int6 ...
- 豆壳CMS本地安装教程
DouPHP安装教程 一.下载DouPHP程序. 解压后得到三个文件夹 将upload文件夹里面的内容复制到wamp的www的文件夹. 二.打开浏览器,输入127.0.0.1. 勾选后选择下一步 注意 ...