搭建及用命令方式创建kvm虚拟机

一. 简介:
KVM (基于内核的虚拟机)是标准Red Hat Enterprise Linux 内核中内置的完整虚拟化解决方案。
它可以运行多款未经修改的Windows 和Linux虚拟客户机操作系统。Red Hat Enterprise Linux
中的 KVM系统管理程序通过libvirt API和实用程序进行管理, 如virt- manager和virsh 等。
由于Red Hat Enterprise Linux是红帽企业虚拟化和红帽OpenStack 平台的基础,因此KVM是
红帽云基础架构多 种产品的一致组件。

KVI提供横跨所有红帽产品的虚拟机(Vn0) 技术,不仅包含Red Hat Enterprise
Linux的单机物
理实例,更有OpenStack云平台。从上图的左上角起:
,物理(传统)系统. -_ Red Hat Enterprise Linux 安装在传统硬件上,提供KVI虚拟化,最
高可达单一系统的物理极限,并且由virt- manager等1ibvirt 实用程序进行管理。Red Hat
Enterprise Linux实例也可通过红帽云访问,直接托管在红帽认证云提供商处。
红帽企业Linux 通常配置为胖主机,即在支持W的同时,也提供其他本地和网络服务、应用和:
管理功能。
.红帽企业虚拟化(RIHEV)- 支持跨越多 个红帽企业虚拟化系统管理程序(RHEV-HI) 系统的KVM
实例,提供由RHEV 管理器(RHEV-I) 管理的KVN迁移、冗余和高可用性。
 

红帽企业虚报化系统管理程序是瘦主机。是专门精简和调优过的Red Hat Enterprise Linux 版
本,专用于满足配置和支持虚拟客户机VM的唯- - 目的。
RHEL OpenStack平台一在带有 KVM 的Red Hat Enterprise Linux 基础上使用集成和调
优的OpenStack的红帽私有云架构,通过红帽OpenStack仪表板(Horizon 组件)或红帽
CloudForms进行管理。
公共云中的OpenStack-在红帽认证 云提供商处实施的OpenStack 公共云架构,由OpenStack
Horizon组件或红帽CloudForms进行管理。
.混合云一 红帽CloudPorms 云管理实用程序管理和迁移红帽RHEV和OpenStack 架构之间的
KVM实例,以及通过第三方OpenStack 和Vware 平台转换KVI实例。
KYM实例配置在红帽产品之间兼容。安装要求、参数和步骤在受支持的平台上是相当的。
配置Red Hat Enterprise Linux 物理系统作为虚拟化主机
Red Hat. Enterprise Linux可以配置为虚拟化主机,供开发、测试或培训使用,或者满足需要同时
在多个操作系统中工作的要求。Red Hat Enterprise Linux 主机提供按需在主机平台上安装额外软
件的功能,如监控实用程序和代理、网络服务、专用存储,以及/或者可能不适合安装在专用红帽企
业虚报化系统管理程序中的其他开发工具。
Red Hat Enterprise Linux安装也能使用户更加轻松地访问调优和资源管理工具(如tuned 和
cgroups)。 相比较而言,RHEV-H 系统管理程序是高度安全和自我调优的,其设计限制了系统管
理员发起的自定义。在需要更大的管理控制权,并且也接受性能上的妥协时,Red Hat Enterprise
Linux是一款灵活的单机KVN平台。随着企业需求的增长,RHEL 上构建的KVM实例可以迁移或转
换到更加适合的KVN平台。
准备Red Hat Enterprise Linux 系统使其成为虚拟化主机需要检查最低系统要求,还要安装-些
虚拟化主机软件包。
建议系统要求:
●一个处理器核心或超线程满足虚拟客户机中最大虚报化CPU数量的需要,以及一个核心供主机使
用。
●2GBRAM,以及供虚拟机使用的额外RAM。
,6GB磁盘空间供主机使用,以及供每台虚拟机使用的必要磁盘空间。大多数虚拟客户机操作系统
需要至少6GB磁盘空间,但实际存储空间要求取决于各个虚拟客户机映像的格式。
KVM系统管理程序需要Intel 处理器(Inte1 VT-x和基于x86的系统的Intel 64扩展),或
者AMD处理器(AMD-V及AMD64扩展)。若要验证主机系统硬件是否支持正确的扩展,请参见
/proc/cpuinfo。


 

 在Red Hat Enterprise Linux 上构建主机时并不需要No eXecute (NX) 功能(Intel 称之为
eXecute Disable (xD), AMD 则称之为Enhanced. Virus Protection) ,但红帽企业虚拟化系统管
理程序(RHEV-H) 需要此功能。

构建RHEL虚拟化主机至少需要qemu-kvm 和qemu-img软件包,以提供用户级KVM模拟器和磁盘
映像管理器。
建议安装的其他虚拟化管理软件包有:
●python-virtinst 一提供virt-install 命令,供创建虚拟机使用。
●libvirt-提供主机和服务器库 ,以便与系统管理程序和主机系统交互。
. 1ibvirt-python 一包含允许Python 应用使用libvirt API 的模块。
. . virt- manager- 为管理VM提供虚拟机管理器图形工具,将1ibvirt-client库用作管理
API。
.1ibvirt-client- 为访问libvirt 服务器提供客户端 API和库,以及用于管理和控制 VI的
virsh命令行工具。

 

修改 /etc/libvirt/qemu.conf把文件中user和group前面的#去掉

启动libvirtd

 

二. kvm(桥接模式)宿主机创建网桥

(1)进入 /etc/sysconfig/network-scripts/目录创建ifcfg-br0配置文件

DEVICE=br0
BOOTPROTO=none
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.137.4
NETMASK=255.255.255.0
GATEWAY=192.168.137.1
DNS1=192.168.137.1

 (2)修改ens38网卡信息(关联桥接模式的那个网卡设置)

#vim ifcfg-ens38

TYPE=Ethernet
BOOTPROTO=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=ens38
UUID=dc16262d-8f43-4012-8eb6-95b3a0215d47
DEVICE=ens38
ONBOOT=yes
BRIDGE=br0

(3)重启网卡

systemctl restart network

(4)查看网桥

brctl show

三. 命令行方式创建虚拟机:

1. virt-install命令

(1)如果系统找不到命令就安装相应的rpm包

  [root@localhost t]# virt-install 

 bash: virt-install: 未找到命令...

 

#yum install libguestfs-tools

#yum install virt-install.noarch

(2)创建虚拟机磁盘

#qemu-img create -f qcow2 /kvmdata/centos7-1511.img size 10G   

(3)查看磁盘情况

(4)创建虚拟机

 virt-install  --virt-type=kvm --name=centos7-2   --vcpus=2  --memory=2048  --location=/root/iso/CentOS-8.1.1911-x86_64-dvd1.iso  --disk path=/kvmdata/centos7-1511.img,size=10,format=qcow2 --network bridge=br0  --graphics none  --extra-args='console=ttyS0'  --force

命令参数:



virt-install [选项]

-h                                             查看帮助

--connect=CONNECT              连接非默认的hypervisor,默认为qemu:///system

-n name                                   新的虚拟机主机实例名称

-r MEMORT                              虚拟机内存设置

--arch=ARCH                            cpu架构

--machine=MACHINE              虚拟机模拟机类型,Xen或者KVM等。

--vcpus=VCPUS                        虚拟主机CPU个数

-c CDROM                                设置光盘镜像或光盘设备路径

-l LOCATION                             指定安装源路径

--pxe                                         使用pxe协议启动

--import                                    导入现有的虚拟机

-x EXTRA                                    附加的内核参数,如-x "ks=http://server/server.ks"

--os-type=Type                         操作系统类型,如linux、windwos等

--disk=DISKOPTS                       设置虚拟机磁盘,如--disk /dev/storage/path

-w   NETWORK                           设置虚拟机网络,如-w bridge=br0

--noneworks                               虚拟机不设置任何网络接口

-m MAC                                    设置虚拟机MAC地址

--vnc                                           设置通过vnc查看虚拟机

--hvm                                           使用全虚拟化技术

--paravirt                                    使用半虚拟化技术

--soundhw MODEL                    设置声卡设备

--autostart                                  设置虚拟机为开机启动
 --virt-type                         使用的hypervisor,如kvm、qemu、xen等;所有可用值可以使用’virsh capabilities’命令获取;

 

四.利用virsh命令管理虚拟机

virtsh命令详解

1,查看运行的虚拟机


virsh list

2,查看所有的虚拟机(关闭和运行的虚拟机)
 

virsh list --all

3,连接虚拟机
 

virsh console +域名(虚拟机的名称)

4,关闭虚拟机
virsh shutdown +域名

 virsh shutdown +域名
 virsh destroy +域名

5,挂起虚拟机

virsh suspend +域名

6,恢复被挂起的虚拟机

virsh resume +域名

7,子机随宿主主机(母机)启动而启动
 

virsh autostart + 域名

8,取消自动启动
 

virsh auotstart --disable +域名

9,彻底删除虚拟机
   1, 删除虚拟机

virsh destroy +域名


   2,解除标记

virsh undefine +域名


3,删除虚拟机文件

如:

11,启动虚拟机并进入该虚拟机
 

virsh start 域名 --console

12,查看 虚拟机当前使用磁盘
 

virsh domblklist centos2 --details

13,创建与恢复外部快照
 

1.创建快照

virsh snapshot-list centos7-2-backup

2.查看与某虚拟机相关的快照

virsh snapshot-list centos7-2
 

3.恢复快照

virsh       snapshot-revert     centos7-2-backup     --current

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐