KVM虚拟机创建虚拟机

KVM虚拟化

我们这边正在使用的虚拟机技术(VMware)其实只是虚拟技术的其中一种而已,事实上,现实接触到的虚拟机会有很多,所以需要熟知一些市场上主流的虚拟软件,比如,KVM就是其中一种。
使用KVM可以在虚拟机中再创建虚拟机,类似套娃,但是作用很大,比如,之前有说过的服务器群集,最简单的材料都需要四台服务器(一主二从一调度),如果使用KVM技术,那么意味着一台服务器就可以制作一个群集。
当然,此消耗的内存占用比也是很高的,但同时也节省了因搭建群集而需要购买服务器的成本。

KVM准备步骤:

1)为方便操作,可以在VMware软件中创建一台带图形化界面的虚拟机,由于是在虚拟机中创建虚拟机,比较占用内存,因此可以将内存设定提高至4-6G.

2)作为基础操作,关闭防火墙等之后,建议快照,并关机将处理器改为支持VM模式:
在这里插入图片描述

这边可以先输入

cat /proc/cpuinfo | grep vmx  (Inter CPU)	
cat /proc/cpuinfo | grep smv   (AMD CPU)
#inter和AMD检验方式不一样

为的是查看cpu是否支持KVM模式,当输入之后有VMX之后,证明可以进行接下来的操作。

3)yum 安装kvm
yum install -y qemu-kvm
yum install -y qemu-kvm-tools
yum install -y virt-install
yum install -y qemu-img
yum install -y bridge-utils
yum install -y libvirt
yum install -y virt-manager

检查是否安装成功KVM模块:
lsmod |grep kvm
4)使用桥接模式进行连接,将网卡更改成桥接模式(自动)

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=90b62257-1ddc-42f2-9f06-fce57701198f
DEVICE=ens33
ONBOOT=yes
#IPADDR=192.168.53.254				将网卡适配器的四行给注释掉
#NETMASK=255.255.255.0
#GATEWAY=192.168.53.2
#DNS1=8.8.8.8
BRIDGE=br0							末尾添加声明此为br桥接模式
vim /etc/sysconfig/network-scripts/ifcfg-br0

TYPE=Bridge
OTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.53.254
NETMASK=255.255.255.0
GATEWAY=192.168.53.2
DNS1=192.168.53.2
重启网络服务,并且重启网卡
systemctl restart NetworkManager
systemctl restart network

5)此刻,就可以使用virt-manager来打开KVM图形化操作界面了。
可以通过文件这一选项点开创建虚拟机等
在这里插入图片描述

6)创建一个镜像池,以供之后虚拟机可以通过该镜像池进行虚拟机创建。
创建一个目录,将该镜像文件放进该目录中。
mkdir -p /jingxiang/centos7 要注意的是,镜像文件后辍名必须得是.iso
而后开始进行创建:
在这里插入图片描述
在这里插入图片描述

可见镜像文件已经被自动识别版本,后续跟着指引即可进行创建
注:这个虚拟机目前内存只有4G,所以如果使用这个技术,创建的虚拟机的内存,不能超过它的一半。

而后既可以像在电脑中创建虚拟机一样在虚拟机中创建虚拟机。

KVM虚拟化命令

1)通过命令安装KVM虚拟机

 virt-install --name xiaoyang --ram 500 --disk path=/storage/xiaolang.img,size=8  --cdrom /jingxiang/centos7/CentOS-7-x86_64-DVD-1804.iso   --graphics vnc

name = 虚拟机名字
ram = 内存大小(M)
path=虚拟机安放位置,需要和name的名字对应,以.img为结尾
size=虚拟机大小(G)
cdrom= 镜像安放位置

输入此命令后,会显示报错:ERROR unsupported format character ‘�’ (0xffffffe7) at index 47域安装失败
但是在virt-manager虚拟化管理界面中可以看到,xiaolang虚拟机已经出现:
在这里插入图片描述

此刻就可以打开此虚拟机进行安装

虽然图形化界面也能安装虚拟机,但是命令输入安装能让虚拟机最小化安装

2)基本操作和克隆

whatis qemu-img		#查看是否拥有img文件

qemu-img info /storge/xiaolang.img 		#查看xiaolang虚拟机的内存等信息

virsh list --all     #查看虚拟机状态

virsh shutdown 虚拟机名字		#虚拟机关机

virt-clone -o 要复制的虚拟机 -n 新虚拟机名字 -f 存放虚拟机的位置
virt-clone -o xiaolang -n xiaolang1 -f /storge/xiaolang1.img  

-o ORIGINAL_GUEST, --original ORIGINAL_GUEST
                        原始客户机名称;必须为关闭或者暂停状态。
-f NEW_DISKFILE, --file NEW_DISKFILE
                        为新客户机使用新的磁盘镜像文件
-n NEW_NAME, --name NEW_NAME
                        新客户机的名称

# virsh start 虚拟机名	#开启虚拟机

快照

virsh snapshot-create centos7.0(指明虚拟机)   #创建快照
virsh snapshot-list centos7.0   #查看快照
 名称               生成时间              状态
------------------------------------------------------------
 1571970591           2019-10-25 10:29:51 +0800 shutoff

virsh snapshot-revert centos7.0 1571970591   #恢复快照

virsh snapshot-delete centos7.0 1571970591  #已删除域快照 1571970591
### 如何创建 KVM 虚拟机 #### 准备工作 为了成功创建 KVM 虚拟机,需要先完成必要的准备工作。这包括安装所需的工具包以及配置存储和网络资源。 在准备阶段,需确保已安装以下组件: - `qemu-kvm` 和其相关工具用于支持虚拟化功能。 - `libvirt` 提供管理 API 并允许远程访问虚拟机- `virt-manager`, `virt-install` 是常用的虚拟机管理和创建工具。 - `openssh-askpass` 可选,但在某些图形界面环境中可能需要用到[^2]。 执行如下命令可以一次性安装上述所需软件包: ```bash yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install openssh-askpass -y ``` #### 存储设置 对于存储部分,通常会为虚拟机分配独立的磁盘空间。假设已经有一块未使用的硬盘 `/dev/sdb`,可以通过以下操作将其格式化并挂载到指定目录: 1. 使用 `fdisk` 命令划分分区: ```bash fdisk /dev/sdb ``` 2. 对新创建的分区进行文件系统初始化(这里以 XFS 文件系统为例): ```bash mkfs.xfs /dev/sdb1 ``` 3. 将此分区挂载至默认路径 `/var/lib/libvirt/images` 以便后续使用: ```bash mount /dev/sdb1 /var/lib/libvirt/images ``` 以上步骤完成后即可拥有一个可供虚拟机使用的存储位置[^1]。 #### 网络配置 推荐采用桥接模式实现宿主机与虚拟机之间的通信。具体做法如下: 1. 安装 `bridge-utils` 工具集: ```bash yum install bridge-utils -y ``` 2. 编辑网卡配置文件调整成桥接方式(假定原物理接口名为 eth0),修改后的典型内容如下所示: ```plaintext DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0 DEVICE=eth0 HWADDR=<MAC地址> MASTER=br0 SLAVE=yes ONBOOT=yes BOOTPROTO=none NM_CONTROLLED=no ``` 重启网络服务使更改生效: ```bash systemctl restart network ``` 此时应该能够观察到新增了一个名称类似于 br0 的桥梁设备处于活动状态[^3]。 #### 创建虚拟机实例 最后一步就是实际构建虚拟机本身了。下面给出基于 CentOS ISO 镜像启动的新建例子: 下载操作系统镜像源文件: ```bash wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.iso ``` 利用 `virt-install` 执行自动化部署流程: ```bash virt-install \ --name kvm-centos-test \ --ram 2048 \ --vcpus 2 \ --disk path=/var/lib/libvirt/images/kvm-centos-test.qcow2,size=20,bus=virtio,format=qcow2 \ --cdrom /path/to/CentOS-7-x86_64-DVD-1908.iso \ --network bridge=br0,model=virtio \ --graphics vnc,listen=0.0.0.0,port=5901 \ --noautoconsole ``` 其中各参数含义分别为:定义 VM 名称、内存大小(MB)、CPU 数量、磁盘容量(GB),指明引导介质所在位置,设定联网形式及显示协议等细节信息。 至此整个过程结束,可通过 VNC 连接到对应端口继续手动干预剩余安装环节或者等待全自动脚本处理完毕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值