频道栏目
首页 > 网络 > 其他 > 正文

基于PXE网络完成无人值守安装Linux系统

2019-01-08 09:20:10           
收藏   我要投稿

准备一台已经安装好系统虚拟机,我用的是CentOS Linux release 7.5.1804 (Core)的系统,ip地址:这里我们给他两块网卡一块仅主机模式,一块桥接模式:仅主机IP地址:172.16.75.2 桥接模式找到网卡设置,直接选ipv4里的自动,然后应用就行,这样虚拟机也能上网了;

接下来我们需要安装一些必备的组件

[root@2 ~]# yum -y install dhcp tftp-server tftp syslinux httpd //dhcp能够帮助自动分配IP地址,指定引导文件位置;tftp提供引导文件下载的功能;syslinux提供像pxelinux.0,chain.c32,menu.c32等等的一些文件;httpd就不用说了吧,基于网络安装得嘛;

安装完成之后进行设置:[root@2 ~]# vim /etc/dhcp/dhcpd.conf max-lease-time 7200; #最大租赁时间;default-lease-time 3600; #默认租赁时间;subnet 172.16.0.0 netmask 255.255.0.0 {option routers 172.16.75.2; #选项路由,这里我们指向本机即可;option subnet-mask 255.255.0.0;option domain-name-servers 172.16.75.2;option domain-name "wzc.com";range dynamic-bootp 172.16.100.100 172.16.100.150; #所要配置主机ip地址范围;next-server 172.16.75.2; #指定tftp服务器地址;filename "pxelinux.0"; #通过那个文件来进行引导;}添加上面的内容后保存退出即可;

开启服务:[root@2 ~]# systemctl start dhcpd[root@2 ~]# systemctl start tftp[root@2 ~]# setenforce 0[root@2 ~]# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@2 ~]# systemctl stop firewalld[root@2 ~]# iptables -F[root@2 ~]# systemctl start httpd记住要在你的客户机C:\Windows\System32\drivers\hosts中保存本虚拟机的ip地址:172.16.75.2

继续准备工作:[root@2 ~]# cp /usr/share/syslinux/{pxelinux.0,chain.c32,menu.c32,memdisk,mboot.c32} /var/lib/tftpboot/

如果光盘已经挂载了,直接去复制相应的文件即可,如果没挂载,我们就创建个目录挂载一下光盘,再进行文件的复制即可:[root@2 ~]# mkdir /mnt/cdrom[root@2 ~]# mount -r /dev/sr0 /mnt/cdrom[root@2 ~]# cp /mnt/cdrom/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

[root@2 ~]# cd /var/lib/tftpboot/[root@2 tftpboot]# mkdir pxelinux.cfg[root@2 tftpboot]# vim pxelinux.cfg/default

default menu.c32timeout 30MENU TITLE CentOS-7.5-1804 PXE install menuLABEL linuxMENU LABEL INSTALL CentOS 7.5 1804 for X86_64KERNEL vmlinuzAPPEND initrd=initrd.img install.repo=http://172.16.75.2/centos7LABEL linux autoinstallMENU LABEL Auto Install CentOS 7.5 1804 for X86_64MENU DEFAULTKERNEL vmlinuzAPPEND initrd=initrd.img install.repo=http://172.16.75.2/centos7 ks=http://172.16.75.2/kickstarts/centos7-ks.cfg

这里就是一些标签和地址指向,按照我这个写就行,记住地址和系统版本改成你自己的,写完保存即可;

准备工作继续:[root@2 tftpboot]# cd[root@2 ~]# mkdir -pv /var/www/html/{centos7,kickstarts}mkdir: 已创建目录 "/var/www/html/centos7"mkdir: 已创建目录 "/var/www/html/kickstarts"[root@2 ~]# mount --bind /mnt/cdrom /var/www/html/centos7 //mount --bind:将某个已经挂载的文件系统绑定至另一个挂载点;因为之前博主挂载了所以要用--bind选项;[root@2 ~]# cp -a /etc/yum.repos.d/CentOS-Base.repo /var/www/html/接下来将我们准备的centos7-common-ks.cfg放到相应的位置上就行了(用我的也行,参照你本地的anaconda-ks.cfg改一改,或者自己用Xmanger制作一个我在前面的博客中有怎样制作一个ks.cfg文件可以参照一下):[root@2 ~]# cd /var/www/html/kickstarts/基于PXE网络完成无人值守安装Linux系统内容如下:#platform=x86,AMD64,Intel EM64T#version=DEVEL

System authorization information

auth --enableshadow --passalgo=sha512

Use text install

textfirstboot --disable

Install OS instead of upgrade

install

Use network install

url --url=http://172.16.75.2/centos7

Use text install

textinstall

Run the Setup Agent on first boot

firstboot --enable#ignoredisk --only-use=sda

Keyboard layouts

keyboard --vckeymap=us --xlayouts='us'

System language

lang zh_CN.UTF-8

selinux --disabledfirewall --disabled

Network information

network --bootproto=dhcp --device=ens33 --onboot=on --noipv6

Root password

rootpw --iscrypted $1$FMv2pd1p$LEC/mDPq2IddTJ/xMswq30

System timezone

timezone Asia/Shanghai --isUtc --ntpservers=172.16.75.2user --name=wzc --password=$6$OPyOPf8kt76W2zvt$eK5CAUiibFK78DcXpG79Y0w3lkPW63cteVAh0ms7tMQ2OL5AyZwHBZp0KdKBEF65f2aWfnt2Q64bViz1Sarpp/ --iscrypted --gecos="wzc"

X Window System configuration information

xconfig --startxonboot

System bootloader configuration

bootloader --location=mbr --boot-drive=sda

Partition clearing information

clearpart --all --initlabel --drives=sda

Disk partitioning information

part /boot --fstype="ext4" --size=200part swap --fstype="swap" --size=2048part / --fstype="ext4" --grow --size=1

%packages@basebr/>@basebr/>@desktop-debuggingbr/>@directory-clientbr/>@gnome-appsbr/>@guest-agentsbr/>@input-methodsbr/>@java-platformbr/>@network-file-system-clientbr/>@print-clientkexec-tools

%end%postmv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakwget -q -O /etc/yum.repos.d/CentOS-Base.repo http://172.16.72.2/CentOS-Base.repomkdir /mnt/cdrom

%end

因为我们在这里面规定了本机为ntp时间服务器,所以我们还要设置一下ntp:[root@2 ~]# vim /etc/ntp.conf基于PXE网络完成无人值守安装Linux系统[root@2 ~]# systemctl start ntpd //这样就行了,记住启动;

接下来我们需要一台没有安装操作系统白鼠机进行测试:基于PXE网络完成无人值守安装Linux系统基于PXE网络完成无人值守安装Linux系统基于PXE网络完成无人值守安装Linux系统基于PXE网络完成无人值守安装Linux系统基于PXE网络完成无人值守安装Linux系统基于PXE网络完成无人值守安装Linux系统这里选择与你客户机相对应的线程数了解吧;基于PXE网络完成无人值守安装Linux系统因为是安装Centos7所以至少要用2G内存,多了没事,少了会在安装的时候出现下面这样的错误:基于PXE网络完成无人值守安装Linux系统所以要给白鼠机足够的内存;好了,我们继续:基于PXE网络完成无人值守安装Linux系统基于PXE网络完成无人值守安装Linux系统

基本上这台白鼠就创建完成了接下来就是安装系统了:如果上述操作都没有问题的话,打开白鼠机就自己获取IP地址等,进行自动安装系统了:基于PXE网络完成无人值守安装Linux系统基于PXE网络完成无人值守安装Linux系统基于PXE网络完成无人值守安装Linux系统看到没1380项呢,如果你想快点安的话少装几个包修改一下ks.cfg文件就行;这个过程可能需要等待一段时间,耐心点;瞧我们的白鼠机系统安装完成了:基于PXE网络完成无人值守安装Linux系统

如果想要批量安装,多打开几台白鼠机就好了,不过你的内存要吃得消才行!!这玩意儿的缺点就是安装系统单一,如果想要多版本系统安装可以使用cobbler。

上一篇:k8s pod和容器概念的区分
下一篇:Zabbix实战部署
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站