pxe
type
status
date
slug
summary
tags
category
icon
password
自动安装操作系统
系统安装过程
- 系统启动流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init
- anaconda: 系统安装程序 gui:图形窗口 tui:文本窗口
安装程序启动过程
- MBR:isolinux/boot.cat
- stage2: isolinux/isolinux.bin
- 配置文件:isolinux/isolinux.cfg
- 每个对应的菜单选项:
- 加载内核:isolinuz/vmlinuz
- 向内核传递参数:append initrd=initrd.img …
- 装载根文件系统,并启动anaconda 默认启动GUI接口 若是显式指定使用TUI接口:向内核传递text参数即可 (1)按tab键,在后面增加text (2)按ESC键:boot: linux text
示例
anaconda工作过程
- Anaconda安装系统分成三个阶段:
- 安装前配置阶段
- 安装过程使用的语言
- 键盘类型
- 安装目标存储设备
- Basic Storage:本地磁盘
- 特殊设备:iSCSI
- 设定主机名
- 配置网络接口
- 时区
- 管理员密码
- 设定分区方式及MBR的安装位置
- 创建一个普通用户
- 选定要安装的程序包
- 安装阶段
- 在目标磁盘创建分区,执行格式化操作等
- 将选定的程序包安装至目标位置
- 安装bootloader和initramfs
- 图形模式首次启动 iptables、selinux、core dump
系统安装
- 启动安装过程一般应位于引导设备;后续的anaconda及其安装用到的程序包等可来自下面几种方式:(简单来说就是读取存储介质) 本地光盘、本地硬盘、NFS、URL:
- 如果想手动指定安装源:
- anaconda的配置方式: (1) 交互式配置方式 (2) 通过读取事先给定的配置文件自动完成配置 按特定语法给出的配置选项 kickstart文件
- 安装boot引导选项:boot:text: 文本安装方式askmethod: 手动指定使用的安装方法
- 与网络相关的引导选项:
- 与远程访问功能相关的引导选项:
- 指明kickstart文件的位置: ks=
- 启动紧急救援模式:rescue
- 官方文档:《Installation Guide》
- Kickstart文件格式官方说明:https://access.redhat.com/documentation/en-us/red\\_hat\\_enterprise\\_linux/7/html/installation\\_guide/sect-kickstart-syntaxhttps://access.redhat.com/documentation/en-us/red\\_hat\\_enterprise\\_linux/6/html/installation\\_guide/s1-kickstart2-options
指定安装源
- Centos 6
- Centos 7
kickstart文件创建
- 创建kickstart文件的方式
- 直接手动编辑,依据某模板修改
- 可使用创建工具:system-config-kickstart 依据某模板修改并生成新配置 /root/anaconda-ks.cfg
- 检查ks文件的语法错误:ksvalidator
ksvalidator /PATH/TO/KICKSTART_FILE
示例 system-config-kickstart




注意:分区



关闭防火墙selinux


根据需要选择安装不同的软件包 注意:若包选项无法选择,可以通过修改yum源来解决
[development]
系统安装前执行的脚本

系统安装后执行的脚本,此项常用

kickstart文件的格式
命令段、程序包段、脚本段、命令、必备命令
系统光盘中isolinux目录列表
- isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目
- isolinux.cfg:isolinux.bin的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件
- vesamenu.c32:是光盘启动后的安装图形界面,也属于SYSLINUX项目,menu.c32版本是纯文本的菜单
- Memtest:内存检测,这是一个独立的程序
- splash.jgp:光盘启动界面的背景图
- vmlinuz是内核映像
- initrd.img是ramfs (先cpio,再gzip压缩)
制作引导光盘和U盘
- 创建引导光盘:
注意:以上相对路径都是相对于光盘的根,和工作目录无关
- 创建U盘启动盘
mkisofs选项
PXE
Preboot Excution Environment 预启动执行环境
Intel公司研发
基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统
PXE可以引导和安装Windows,linux等多种操作系统
PXE工作原理
- Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client
- Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0
- Client执行接收到的pxelinux.0文件
- Client向TFTP Server发送针对本机的配置信息文件(在TFTP服务的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作
- Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client
- Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统
- Client启动Linux内核
- Client下载安装源文件,读取自动化安装脚本
http
dhcp
tftp
- TFTP:Trivial File Transfer Protocol ,是一种用于传输文件的简单高级协议,是文件传输协议(FTP)的简化版本。用来传输比文件传输协议(FTP)更易于使用但功能较少的文件
- FTP和TFTP的区别 1、安全性区别 FTP支持登录安全,具有适当的身份验证和加密协议,在建立连接期间需要与FTP身份验证通信 TFTP是一种开放协议,缺乏安全性,没有加密机制,与TFTP通信时不需要认证 2、传输层协议的区别 FTP使用TCP作为传输层协议,TFTP使用UDP作为传输层协议 3、使用端口的区别 FTP使用2个端口:TCP端口21,是个侦听端口;TCP端口20或更高TCP端口1024以上用于源连接。 TFTP仅使用一个具有停止和等待模式的端口:端口69 4、RFC的区别 FTP是基于RFC 959文档,带有其他RFC涵盖安全措施;TFTP基于RFC 1350文档 5、执行命令的区别 FTP有许多可以执行的命令(get,put,ls,dir,lcd)并且可以列出目录等 TFTP只有5个指令可以执行(rrq,wrq,data,ack,error)
注:如果拿到地址,在进入菜单后加载中有提示
no space left on device ,说明内存不够客户端测试

也可按ESC,输入LABLE标签 linux
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 438803792@qq.com
上一篇
samba
下一篇
powerdns
Loading...
keepalived