本发明涉及ARM服务器搭建技术领域,具体涉及一种基于ARM平台PXE Server大量部署Linux方法。
背景技术:
ARM经过早几年在服务器芯片行业的挫折后,推出高性能的64位架构,迎合了目前在服务器芯片行业普遍使用64位架构的需求,ARM架构也向来以低功耗著称,因此业界对于将ARM架构引入服务器行业一向都有很强的意愿。
目前实际应用中的是基于x86的PXE server部署linux方法,针对ARM服务器部分暂时没有简单可行的方法来实现批量性linux部署。
技术实现要素:
本发明要解决的技术问题是:本发明针对以上问题,提供一种基于ARM平台PXE Server大量部署Linux方法。针对ARM服务器实现linux部署安装时无需进行PXE选单,机器开机后无需再输入任何参数,并进行相关的一些linux系统配置操作,完全实现自动安装。
本发明所采用的技术方案为:
一种基于ARM平台PXE Server大量部署Linux方法,所述方法基于redhat 64bits OS,通过部署PXE server,使用CentOS针对ARM发布的镜像来对ARM服务器进行linux系统的大量部署。
CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。
所述方法操作步骤如下:
1)安装redhat 64bits OS,并进行PXE server搭建;
2)将PXE server与交换机/路由器进行连接,同时将ARM服务器网口与交换机/路由器进行连接;
3)将ARM服务器开机打开网路启动选项,将会自动进行Linux系统安装部署。
所述PXE server搭建过程如下:
1)PXE server网络环境配置;
2)在PXE server上进行DHCP Server/TFTP Server/FTP server/https server的安装及配置;
3)拷贝Centos系统文件;
4)拷贝EFI文件及PXE boot image至tftpboot目录;
5)配置PXE menu文件,编辑/tftpboot/EFI/BOOT/grub.cfg;
6)配置ks.cfg文件,编辑ks.cfg文件并将ks.cfg文件存放于/var/ftp目录下,作为Linux部署的配置文件。
DHCP Server:指在一个特定的网络中管理DHCP标准的一台计算机。DHCP服务器的职责是当工作站登录进来时分配IP地址,并且确保分配给每个工作站的IP地址不同,DHCP服务器极大地简化了以前需要用手工来完成的一些网络管理任务。
TFTP服务器是一个多线程TFTP服务器,允许任何数量的客户端连接同时进行。它支持tsize,blksize,和间隔的选择,PXE启动,并可以运行独立的或以daemon方式运行的。端口范围可以指定工作跨越防火墙。还有一个单端口版本,主要是适应某些环境下无法打开多个端口的情况。
FTP Server服务器是一种专供其他电脑检索文件和存储的特殊电脑。文件服务器通常比一般的个人电脑拥有更大的存储容量,并具有一些其他的功能,如磁盘镜像、多个网络接口卡、热备援多电源供应器。Red Hat是一个开源技术厂家,其产品Red Hat Linux也是全世界应用最广泛的Linux。
PXE server网络环境配置中,设置Selinux:disabled,Firewall:disabled,即关闭Selinux和Firewall。
SELinux是2.6版本的Linux内核中提供的强制访问控制(MAC)系统。对于目前可用的Linux安全模块来说,SELinux是功能最全面,而且测试最充分的,它是在20年的MAC研究基础上建立的。SELinux在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。
本发明的有益效果为:
本发明涵盖了较详细的PXE server搭建及相关配置文件的说明方法,弥补了目前在ARM平台上系统批量性部署的空白,大大减少了人工检测操作及干预的时间,实用性强,大大节约了时间成本。
附图说明
图1为PXE server网络环境配置图。
具体实施方式
根据说明书附图,结合具体实施方式对本发明进一步说明:
实施例1:
一种基于ARM平台PXE Server大量部署Linux方法,所述方法基于redhat7.1 64bits OS,通过部署PXE server,使用CentOS针对ARM发布的镜像来对ARM服务器进行linux系统的大量部署。
实施例2
如图1所示,在实施例1的基础,本实施例所述方法操作步骤如下:
1)安装redhat7.1 OS,并进行PXE server搭建;
2)将PXE server与交换机/路由器进行连接,同时将ARM服务器网口与交换机/路由器进行连接;
3)将ARM服务器开机打开网路启动选项,将会自动进行Linux系统安装部署。
实施例3
在实施例2的基础,本实施例所述PXE server搭建过程如下:
1)PXE server网络环境配置;
配置PXE Server IP 192.168.100.2
2)在PXE server上进行DHCP Server/TFTP Server/FTP server/https server的安装及配置;
1>DHCP Server
配置/etc/dhcp/dhcpd.conf如下:
ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
allow unknown-clients;
#A slightly different configuration for an internal subnet.
subnet 192.168.100.0 netmask 255.255.255.0{
range 192.168.100.100 192.168.100.125; #设置server IP address pool
default-lease-time 6000;
max-lease-time 72000;
next-server 192.168.100.2; #设置TFTP server ip
filename"EFI/BOOT/grubaa64.efi";
}
systemctl start dhcpd.service后netstat-nupl|grep dhcpd确认存在dhcpd服务确保DHCP服务正常开启
2>TFTP server
mkdir-p/tftpboot
chmod 777/tftpboot/ #设置tftpboot文件并更改权限777
配置/etc/xinetd.d/tftp
service tftp
{
socket_type=dgram
protocol=udp
wait=yes
user=root
server=/usr/sbin/in.tftpd
server_args=-s/tftpboot
disable=no
per_source=11
cps=100 2
flags=IPv4
}
systemctl start tftp.service后使用netstat–npul确认tftp服务正常开启
3>FTP Server
配置/etc/vsftpd/vsftpd.conf如下:
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_enable=YES
xferlog_std_format=YES
listen=yes
tcp_wrappers=YES
systemctl start vsftpd.service后使用ps-ef|grep vsftpd,netstat-nptl|grep ftp,确认vsftpd服务正常开启。
3)拷贝Centos系统文件;
mkdir-p/var/ftp/CentOS-7-for-AArch64 #创建系统文件目录
mount/home/arm_iso/**.iso/var/ftp/CentOS-7-forAArch64
#mount CentOS镜像文件至文件系统目录
ls/var/ftp/CentOS-7-for-AArch64
boot.catalog EFI EULA GPL images LiveOS Packages repodata TRANS.TBL
#确认系统文件目录文件无缺失
4)拷贝EFI文件及PXE boot image至tftpboot目录;
cp/var/ftp/CentOS-7-for-AArch64/EFI//tftpboot/-rf
cp/var/ftp/CentOS-7-for-AArch64/images//tftpboot/-rf
5)配置PXE menu文件;
编辑/tftpboot/EFI/BOOT/grub.cfg并修改如下
set default="1"
function load_video{
if[x$feature_all_video_module=xy];then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod xfs
set timeout=60
###END/etc/grub.d/00_header###
search--no-floppy--set=root-l'CentOS7Server.aarch64'
###BEGIN/etc/grub.d/10_linux###
menuentry'PXE Install ARM64CentOS7'--class red--class gnu-linux--class gnu--class os{
linux/images/pxeboot/vmlinuz console=ttyAMA0,115200n8
earlycon=pl011,0x87e024000000ks=ftp://192.168.100.2/ks.cfg ip=dhcp
netmask=255.255.255.0gateway=192.168.100.4
initrd/images/pxeboot/initrd.img #配置镜像安装路径及引导方式
}
6)配置ks.cfg文件,编辑ks.cfg文件并将ks.cfg文件存放于/var/ftp目录下,作为Linux部署的配置文件;
#System authorization information
auth--enableshadow--passalgo=sha512
#Use network installation
url--url="ftp://192.168.100.2/CentOS-7-for-AArch64"
#Use text mode install
text
#Run the Setup Agent on first boot
firstboot--disable
ignoredisk--only-use=sda
#Keyboard layouts
keyboard--vckeymap=us--xlayouts='us'
#System language
lang en_US.UTF-8
reboot #安装完成后进行重启
#Network information
network--bootproto=dhcp--device=enP2p1s0f1--onboot=on--ipv6=auto--activate
network--bootproto=dhcp--device=enP2p1s0f2--onboot=off--ipv6=auto--activate
network--hostname=localhost.localdomain
firewall--disabled
selinux--disabled
#Root password
rootpw--iscrypted
$6$iTaWZk60riLB7ov7$22mncEobOxaCWdeD6ryIyoCIFOGzdSH2xqD6yKbffFBnIvfbr3fKs4ZlkmXBdp3esd4JSJ3eHACwzKmPxAzo1.
#Do not configure the X Window System
skipx
#System timezone
timezone Asia/Shanghai--isUtc
#X Window System configuration information
xconfig--startxonboot
#System bootloader configuration
bootloader--append="crashkernel=auto"--location=mbr--boot-drive=sda
#autopart--type=plain
zerombr
part/boot/efi--fstype="ext4"--ondisk=sda--size=200
part/boot--fstype="ext4"--ondisk=sda--size=500
part/--fstype="ext4"--ondisk=sda--size=200000
#part swap--fstype="swap"--ondisk=sda--size=2000
#Partition clearing information
clearpart--all--initlabel--drives=sda
%packages #packages可根据需要自行添加
@^graphical-server-environment
@backup-server
@base
@core
@desktop-debugging
@development
@dial-up
……
…
..
%end
%addon com_redhat_kdump--enable--reserve-mb='auto'
%end
实施例4
在实施例3的基础,本实施例PXE server网络环境配置中,设置Selinux:disabled,Firewall:disabled,即关闭Selinux和Firewall。
实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。