linux中实现虚拟机安装的自动化

一.搭建dhcp服务器
dhcp是一个局域网的网络协议,使用UDP协议工作
主要用途:

  • 给内部网络或网络服务供应商自动的分配ip地址

1.在客户端设置

yum install dhcp -y  ##安装dhcp软件

在这里插入图片描述

rpm  -qc  dhcp   ##查看dhcp安装路径,查看软件的配置文件的名称
/etc/dhcp/dhcpd.conf     //依赖性文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cp /usr/share/doc/dhcp*/dhcpd.conf.example  /etc/dhcp/dhcpd.conf ##复制模版到dhcpd.conf

在这里插入图片描述

vim /etc/dhcpd.conf  ##更改其中部分配置

更改的内容与下面的部分一致:

  1 # dhcpd.conf
  2 #
  3 # Sample configuration file for ISC dhcpd
  4 #
  5 
  6 # option definitions common to all supported networks...
  7 option domain-name "dhcpserver01.com";    ##设置域名
  8 option domain-name-servers 114.114.114.114;  ##dns地址解析
  9 
 10 default-lease-time 600;
 11 max-lease-time 7200;
 12 
 13 # Use this to enble / disable dynamic dns updates globally.
 14 #ddns-update-style none;
 15 
 16 # If this DHCP server is the official DHCP server for the local
 17 # network, the authoritative directive should be uncommented.
 18 #authoritative;
 19 
 20 # Use this to send dhcp log messages to a different log file (you also
 21 # have to hack syslog.conf to complete the redirection).
 22 log-facility local7;
 23 
 24 # No service will be given on this subnet, but declaring it helps the 
 25 # DHCP server to understand the network topology.
 26 
 27 
 28 # This is a very basic subnet declaration.
 29 
 30 subnet 172.25.77.0 netmask 255.255.255.0 {
 31   range 172.25.77.60 172.25.77.99;   ##分配的ip段
 32   option routers 172.25.77.250;    ##分配的网关
 33 }
 34 # This declaration allows BOOTP clients to get dynamic addresses,
 35 # which we don't really recommend.
 36 
 37 subnet 10.254.239.32 netmask 255.255.255.224 {
 38   range dynamic-bootp 10.254.239.40 10.254.239.60;
 39   option broadcast-address 10.254.239.31;
 40   option routers rtr-239-32-1.example.org;
 41 }
 42 

在这里插入图片描述
在这里插入图片描述

systemctl start dhcpd ##打开dhcpd服务

在这里插入图片描述
2.测试
在客户端:
ifconfig ##查看网络
在这里插入图片描述
nm-connection-editor ##编辑网络设置为动态网络
在这里插入图片描述
systemctl resart network ##重启网络
ifconfig ##查看
在这里插入图片描述
发现分配到了网络!

二.自动安装虚拟机
1.建立自动安装系统脚本
(1)建立脚本
注意:该脚本可在虚拟机上建立也可以在真机上建立,以下为在虚拟机中的建立过程

yum install system-config-kickstart -y ##安装生成自动安装系统脚本的软件

在这里插入图片描述
在这里插入图片描述

system-config-kickstart  ##打开该软件的图形界面开始设置

(1)选择时区,设置root超级用户密码
在这里插入图片描述
在这里插入图片描述
(2)选择http协议,设置主机名称和镜像挂载位置
在这里插入图片描述
(3)
在这里插入图片描述(4)
在这里插入图片描述
在这里插入图片描述
分区添加完成时点击右下方的ok就添加完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)
在这里插入图片描述
(6)
在这里插入图片描述
(7)
在这里插入图片描述
(8)
在这里插入图片描述
(9)
在这里插入图片描述
完成以上步骤并保存后会自动生成ks.cfg文件,打开该文件,在文件的最后添加以下内容:

%packages
@base
lftp
%end

在这里插入图片描述
在这里插入图片描述

ksvalidator ks.cfg  ##检验ks.cfg是否有语法错误

在这里插入图片描述
2.网络共享脚本文件

yum install httpd -y  //安装httpd
systemctl stop firewalld   //关闭防火墙
systemctl disable firewalld  //设置防火墙开机不启动
systemctl start httpd  //开启httpd
systemctl enable httpd   //设定开机自启动httpd
cp  ks.cfg  /var/www/html   //发布httpd到网络上

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

检测:可以在真机中的火狐浏览器中输入172.25.254.102/ks.cfg可以查看到ks.cfg的内容
在这里插入图片描述
2.以下操作必须在真机中操作

vim  zll       //创建安装虚拟机脚本

内容如下:

#!/bin/bash
virt-install \ ##新建虚拟机命令 
--name $1 \ ##设置名字,并在调用时命名
--memory 1000 \ ##设置内存
--vcpus 1 \ ##设置cpu内核数
--disk /var/lib/libvirt/images    /$1.qcow2,size=8,bus=virtio \ ##设置硬盘 
--network bridge=br0,model=virtio \ ##设置网卡 --location http://172.25.77.250/root/zll \ ##选择镜像路径 
--extra-args "ks=http://172.25.77.1/ks.cfg" &> /dev/null & ##选择自动安装系统脚本

在这里插入图片描述

sh vm_install generic1    ##调用自动安装虚拟机脚本

在这里插入图片描述

到达此界面后说明安装没错误,只需等待安装完成即可

猜你喜欢

转载自blog.csdn.net/weixin_44224288/article/details/86583897