IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 自动化安装Linux系统—ftp -> 正文阅读

[系统运维]自动化安装Linux系统—ftp

autoinstall_system—ftp

服务介绍

Syslinux:

一个功能强大的引导加载程序, 可以装在U盘上来引导系统

PXE简介:

预安装环境 .Intel公司推出的一款通过网络来引导操作系统的协议 . 广泛应用于网吧无盘系统 .

anaconda-ks.cfg文件介绍:

anaconda-ks.cfg  这个文件可以修改成自动安装的脚本,用于自动安装同样配置的系统。
inux系统在安装时会自动生成一个anaconda-ks.cfg 配置文件 ,文件位于/root 目录中 . anaconda-ks.cfg 里面记录的就是用户在安装系统时所作的操作 , 像选择语言环境  , 硬盘分区 , 安装的软件包 , 网卡IP设置 , 设置主机名 , root密码 ,新建普通等一系列操作 

工作过程

img

第一步:PXE Client向DHCP服务器发送请求

首先,将支持PXE的网络接口卡(NIC)的客户端BIOS设置为网络启动,通过PXE BootROM(自启动芯片)会以UDP协议发送一个广播请求,向网络中的DHCP服务器申请一个IP地址等信息。

第二步:DHCP服务器提供信息

DHCP服务器收到客户端的请求,验证是否来自合法的PXE Client请求,验证通过后向客户端返回响应信息,包括:客户端IP地址,pxelinux启动程序(TFTP)位置,以及配置文件所在位置等。

第三步:PXE客户端请求下载启动文件

客户端请求传送启动所需文件,包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。

第四步:Boot Server响应客户端请求并传送文件

TFTP服务器收到客户端的请求后,彼此间进行通信应答,确定启动参数。BootROM由TFTP通信协议从Boot Server下载启动安装程序所必须文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。

第五步:请求下载自动应答文件

客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。或许你会说,刚才PXE不是已经获取过IP地址了吗?为什么现在还需要一次?这是由于PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件。由于它们需要的内容不同造成PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序。从而进行两次获取IP地址过程。

接着会读取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。

第六步:客户端安装操作系统

将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。

OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。这个时候注意,在重新引导的过程中一定要将BIOS修改回从硬盘启动,不然的话又会重复的自动安装操作系统。

在上面介绍中PXE client是需要安装Linux的计算机,TFTP Server、DHCP Server和FTP Server(或NFS Server)运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核都放置在Linux Server上TFTP服务器的根目录下。而Linux根文件系统存放于FTP Server(或NFS Server)的共享目录中。

PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。

实验环境

VMware Workstation 下的一台Redhat8.2版本的Linux系统
Redhat主机的IP地址为:192.168.9.157

需要安装的服务

dnf install dhcp-server -y
dnf install tftp-server -y
dnf install vsftp -y

操作过程

一、 关闭selinux 和 防火墙

setenforce 0
systemctl stop firewalld

二、部署 DHCP 服务器

1、修改配置

vim /etc/dhcp/dhcpd.conf 
ddns-update-style interim;
ignore client-updates;
filename "pxelinux.0";
next-server 192.168.9.157;

subnet 192.168.9.0 netmask 255.255.255.0 {
        option routers 192.168.9.1;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 114.114.114.114;
        range dynamic-bootp 192.168.9.200 192.168.9.254;
        default-lease-time 60;
        max-lease-time 60;
}

2、重启服务

systemctl restart dhcpd

3、查看dhcp服务

查看服务是否启动

systemctl status dhcpd

查看服务进程

netstat -lntup | grep dhcp

三、部署tftp-server服务流程

systemctl start tftp.socket 

查看服务是否启动

systemctl status tftp

四、安装提供pxelinux.0的syslinux软件,共享pxe引导程序文件

1、创建路径并前往
mkdir /var/lib/tftpboot/pxelinux.cfg
cd /var/lib/tftpboot/pxelinux.cfg
2、安装syslinux软件
dnf install syslinux -y
3、拷贝操作系统必要文件与启动菜单文件
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
4、修改default文件权限
chmod 777 /var/lib/tftpboot/pxelinux.cfg/default
5、修改配置
vim /var/lib/tftpboot/pxelinux.cfg/default

将default文件中的部分内容修改为以下内容

1 	default linux
61 	label linux
62	menu label ^Install Red Hat Enterprise Linux 8.2
63 	kernel vmlinuz
64 	append initrd=initrd.img ks=ftp://192.168.9.157/ks.cfg

五、修改自动应答文件

1、拷贝文件
cp /root/anaconda-ks.cfg /var/ftp/ks.cfg
2、修改自动应答文件的配置
vim /var/ftp/ks.cfg
#repo --name="AppStream" --baseurl=file:///run/install/sources/mount-0000-cdrom/AppStream
url --url="ftp://192.168.9.157/pub"

# System timezone
timezone Asia/Shanghai --isUtc --nontp

# Use CDROM installation media
#cdrom(有的电脑需要注释他,有的不需要)

#放到最后一行,注意不要在两个%之间
reboot  
3、修改ks.cfg 文件权限
chmod 777 /var/ftp/ks.cfg
4、创建挂载目录并挂载
mkdir /var/ftp/pub
mount /dev/sr0 /var/ftp/pub/
5、拷贝ldlinux.c32文件到指定路径
cp /mnt/isolinux/ldlinux.c32 /var/lib/tftpboot/
6、拷贝引导文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

以上三条命令任选其一!

六、配置vsftp服务

1、安装vsftp服务
dnf install vsftpd -y
2、修改ftp服务配置

修改配置文件中匿名上传的相关选项

vim /etc/vsftpd/vsftpd.conf 

在末尾添加

anon_umask=022 
#anon_upload_enable=YES 
anon_mkdir_write_enable=YES 
anon_other_write_enable=YES 

找到第12行,将NO改为yes

anonymous_enable=YES
3、修改匿名用户目录的权限
chmod 777 /var/ftp/pub/ 
4、修改匿名上传布尔值
[root@ldap var]# getsebool -a | grep ftpd_anon_write 
ftpd_anon_write --> on 
[root@ldap ftp]# setsebool ftpd_anon_write on 
5、修改匿名上传的上下文权限
[root@ldap var]# ll -Z /var/ftp 
drwxr-xrwx. root root system_u:object_r:public_content_rw_t:s0 pub 
[root@ldap ftp]# chcon -t public_content_rw_t pub/ 

六、检查服务是否启动

如果服务没有启动,就启动服务

1、重启vsftp服务
systemctl restart vsftp
2、查看DHCP服务是否启动
systemctl status dhcpd
3、查看TFTP服务是启动
systemctl status tftp

七、创建新的虚拟机

关键部分如同所示:
在这里插入图片描述
在这里插入图片描述

创建好一个空白虚拟机后,启动该虚拟机,然后等待。

reading…

然后新的Redhat8.2版本的Linux系统就安装好了

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-24 08:22:22  更:2021-11-24 08:22:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/24 11:28:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计