以下操作均在Windows虚拟机下
挂载镜像到虚拟机存储目录
-
在虚拟机中添加硬盘60G,连接镜像CD
-
在虚拟机中配置软件安装环境
#搭建仓库
vim /etc/yum.repos.d/westos.repo
#写入内容
要确定好镜像挂载的路径
3. 在虚拟机中安装虚拟化软件
#查找并安装虚拟化group
dnf group list --hidden
dnf group install V V V -y
#开启服务
systemctl enable --now libvirtd
systemctl enbale --now libvirt-guests.service
软件 | 说明 |
---|---|
Virtualization Client | 虚拟化客户端 |
Virtualization Tools | 虚拟化工具 |
Virtualization Hypervisor | 虚拟化核心套件 |
4. 在虚拟机中格式化硬盘并挂载到虚拟机存储目录中
#对设备分区
fdisk /dev/sdb
#键入:n
#回车
#回车
#回车
#wq
#格式化硬盘
mkfs.xfs /dev/sdb1 -K
#挂载存储虚拟机的硬盘
mount /dev/sdb1 /var/lib/libvirt/images/
5. 调整虚拟机硬件开启全需计划功能并调整cpu和内存
断电关机后,对虚拟机硬件调节:修改内存7G;修改处理器核心4个;打开虚拟化
完成修改后,开机
6.永久挂载
#编辑开机自启动脚本
vim /etc/rc.d/rc.local
#写入:mount /dev/sdb1 /var/lib/libvirt/images/
#设定可执行权限
chmod a+x /etc/rc.d/rc.local
#ll -d 查看文件权限
#断电重启,测试实验效果
poweroff :对虚拟机硬件调节
共享源的方式安装虚拟机
搭建网络安装源,网络方式安装虚拟机
企业都是网络源
注意:Windows虚拟机的内存是7G.(根据个人情况)
#查看内存磁盘使用情况
free -m
- 安装 Apache
dnf install httpd -y
- 关闭火墙,开启 Apache
systemctl disable --now firewalld
systemctl enable --now httpd
- 搭建网络软件仓库
#建立目录
mkdir /var/www/html/westosiso
#卸载原来的光驱,它不能共享
umount /dev/sr0
#挂载镜像到建立的共享目录
mount /dev/sr0 /var/www/html/westosiso/
#设备重新挂载后,一定要先给权限:修改文件组和文件拥有者
chown qemu.qemu /var/lib/libvirt/images/
#注意IP的设定
先修改权限,再创建虚拟机
建立虚拟机需要在这个目录中用qemu用户建立硬盘
不设定无法建立文件
- 网页测试
- 安装虚拟机
打开虚拟机manager
网页 http 创建新的虚拟机(主虚拟机内存要大)
填地址:http://192.168.0.117/westosiso
内存2048M,1个内核
硬盘容量:8G
起个名字westos
创建网桥模式的虚拟机
虚拟化网络模式默认是NAT
默认情况是没有桥接模式
虚拟机开启的接口:创建虚拟机后,出现假网卡vnet0(虚拟机的网卡)
NAT通信模式:网卡受主机内核控制;虚拟机的假网卡vnet0受假内核控制。开启的virbr0(相当于路由器)上有多个网卡接口,一边连接真实物理网卡,一边连接假网卡。这样数据就传输到虚拟机,虚拟机也可以和外部网络通信
NAT工作模式:vnet0 ——> virbr0 ——> 真实物理网卡
(virbr0 是Linux自带的接口)
存在的问题:所有数据需要进行NAT(数据转化),通信太慢
操作1:搭建网桥,虚拟机无法获得IP地址
要让vnet0直接连接物理网卡,需要为vnet0和物理网卡建立一个桥(线),两者可以直接通信
(不需要通过NAT)
- 真实主机搭建网桥
#复制真实物理网卡配置文件,生成ifcfg-br0的配置文件
cp ifcfg-ens160 ifcfg-br0
#编辑网卡配置文件
vim ifcfg-ens160
#修改网桥配置文件
vim ifcfg-br0
#/etc/sysconfig/network-scripts目录里不能有别的文件
nmcli connection reload
nmcli connection down ens160
nmcli connection up ens160
nmcli connection down br0
nmcli connection up br0
#搭建网桥
bridge link
reboot
#创建虚拟机
virt-manager
#修改虚拟机的网卡
所有网路都可以通过网桥上网(包括真机)
网卡配置文件
网桥配置文件
重启服务
搭建网卡成功
创建虚拟机,并修改网卡工作模式
存在的问题:默认NAT工作模式下,虚拟机通过br0,获得IP地址。但是,现在改成网桥,虚拟机无法获得IP地址
操作2:网桥工作模式下,虚拟机获得IP地址
#安装dhcp服务器
dnf install dhcp-server -y
#rpm -ivh dhcp-server....
#复制dhcp配置文件的模板
cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#编辑dhcp配置文件配置文件
vim /etc/dhcp/dhcpd.conf
#修改域名,域名服务器
#27 28行删除
#36行后面全部删除
#修改网段,子网掩码,设定IP分配池
#配置文件修改后,开启dhcp服务
systemctl enable --now dhcpd
#完成以上,再去安装虚拟机
虚拟机可以使用dhcp分配的IP访问资源
(无关的知识:真实主机linux ——> mv /etc/sysconfig/network-scripts/* /mnt)
编辑配置文件
虚拟机安装过程
实验结果:
网桥,真实物理网卡,虚拟机的假网卡vnet
搭建成功
脚本生成虚拟机
以上操作都是手动选择硬件,手动生成虚拟机
脚本完成:一次性,永久的保持虚拟机的设定
#安装虚拟机的命令
virt-install
#查看该命令的帮助
#搜索模板:/EXAMPLE
man virt-install
#编写脚本westos.sh
vim westos.sh
#写入:
# #!/bin/bash //脚本的指定解释器
#virt-install \ //换行符自动生成,安装指令install
#--location http://192.168.0.117/westosiso //指定的安装源,可以访问的源
#--os-variant rhel8.2 //指定安装系统版本
#--vcpus 1 //cpu核心数量
#--memory 2048 //内存大小
#--disk /var/lib/libvirt/images/westos.qcow2,size=8,bus=virtio //指定硬盘位置和容量,总线工作方式
#--name westos //虚拟机的名字
#--network bridge=br0,model=virtio //网络工作模式:桥接模式
#
#运行脚本
#自动建立名字为westos的虚拟机
sh westos.sh
改进脚本
Q1:再次运行脚本,无法运行,上面的脚本只能产生一个叫做westos的虚拟机
存在的问题:每次产生的虚拟机的名字都是westos
A1:解决方法如下
$1——>脚本后的第一串字符 比如:sh westos.sh haha
(echo $1)
(disk和name改成$1)
vim westos.sh
#--disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio //指定硬盘容量和总线工作方式
#--name $1 //虚拟机的名字
Q2:规范脚本
A2:使用 \ 换行符
(注意:换行符前面一定要有空格,代表命令和参数中间要有空格)
Q3:脚本会占用终端,在脚本最后写入 &,后台运行
注意事项:真机要打开dhcp,否则,安装失败