您现在的位置是:首页 > 技术笔记 > 虚拟化容器虚拟化容器

CentOS 7下KVM安装及初步使用

冰山2019-05-26【虚拟化容器】人已围观

简介1)查看我们的系统是否支持虚拟化
2)基础安装包下载
3)创建桥网络
4)创建虚拟机硬盘
5)安装虚拟机
6)virsh操作虚拟机,常用语句
7)虚拟机配置IP

Windows下安装VM虚拟机多为图形化界面,操作起来比较简单,最近业务中有需求,要在linux系统的服务器上安装KVM,KVM是Kernel-based Virtual Machine的简称,是一个开源的虚拟化模块,这篇文章给大家分享一下如何在Linux系统下安装CentOS 7。


1)查看我们的系统是否支持虚拟化
 

grep -E -o 'svm|vmx' /proc/cpuinfo


如果有结果就说明支持
如果没有返回那么久需要你自己去BIOS开启,在bios找 Virtualization Technology 或者VT关键字 让其为on或enabled..


2)基础安装包下载

 
yum install -y qemu-kvm qemu-img libvirt

yum install -y virt-install libvirt-python virt-manager virt-install libvirt-client libguestfs-tools virt-viewer libguestfs-tools  libguestfs-winsupport  qemu-kvm-tools

yum install -y xorg-x11-xinit-* dejavu-lgc-sans-fonts

qemu-kvm用来创建虚拟机硬盘以及宿主机和虚拟机之间的通信,libvirt用来管理虚拟机,qemu-img是QEMU的磁盘管理工具

virt-install:这个包提供了virt-install命令,用于从命令行创建虚拟机。
 
libvirt-python:这个包包含一个模块,它允许用Python编写的应用程序使用libvirt 提供的API。
 
virt-manager:这个包提供了virt-manager工具,也称为Virtual Machine Manager。这是一个用于管理虚拟机的图形工具,它使用libvirt-client库作为管理API。
 
libvirt-client:此包提供用于访问libvirt的API和库,还包括virsh,用于从命令行管理和控制虚拟机。


3)创建桥网络

 

virsh iface-bridge em1 br1


4)创建虚拟机硬盘

qemu-img create -f qcow2 kmv-hd.qcow2 150G
#这里我们给所要安装的KVM分配了一个150G的硬盘空间


5)安装虚拟机

 
virt-install --virt-type kvm --name "xxxServer" \ --vcpus 6 \ --ram 8192 \ --disk path=/opt/kvm/xxxServer/xxxServer.qcow2 \ --network bridge=br1,model=virtio \ --graphics vnc,listen=127.0.0.1 \ --location=/opt/CentOS-7-x86_64-Everything-1810.iso \ --os-type=linux --os-variant=rhel7 \ --extra-args="console=tty0 console=ttyS0,115200n8 edd=off"

#--virt-type 虚拟化种类
--name 虚拟机名称
--vcpus 虚拟机内核数(KVM上限为6)
--ram 虚拟机内存
--disk path 虚拟机硬盘挂卷地址
--network 网络连接方式配置
--location 镜像包位置


6)virsh操作虚拟机,常用语句

 

1查看运行的虚拟机

virsh list

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

virsh list –all

3连接虚拟机

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

4退出虚拟机

ctrl+]

5关闭虚拟机

5.1 virsh shutdown +域名

这个时候我在virsh list发现 test02这个虚拟机还是在运行的,并没有关闭。

我们需要安装一个acpid的服务并启动它,什么是ACPI?

ACPI是Advanced Configuration and PowerInterface缩写,高级配置和电源管理接口。

acpid中的d则代表daemon。Acpid是一个用户空间的服务进程,它充当linux内核与应用程序之间通信的接口,负责将kernel中的电源管理事件转发给应用程序。

Acpid是一个用户空间的服务进程,它充当linux内核与应用程序之间通信的接口,负责将kernel中的电源管理事件转发给应用程序。

其实,说明了就是通过这个服务来执行电源关闭的动作,这也是为什么我们执行virsh shutdown +域名无法关机的原因。

(子机安装acpid服务)yum install -y acpid

/etc/init.d/acpid start

如果此时我没法进入子机安装acpi协议的话,那么就无法关掉该虚拟机,此时可以用下面这种方法。

5.2 virsh destroy +域名

这种方式的关闭,是一种删除的方式,只是在virsh list中删除了该虚拟机。

6挂起虚拟机

virsh suspend +域名

7恢复被挂起的虚拟机

virsh resume +域名

8子机随宿主主机(母机)启动而启动

virsh autostart + 域名

9取消自动启动

virsh auotstart –disable +域名

10彻底删除虚拟机

10.1 删除虚拟机 virsh destroy +域名

10.2解除标记 virsh undefine +域名

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

virsh start 域名 –console

12查看虚拟机信息

virsh dominfo centos

13关机

virsh shutdown centos

14重启

virsh reboot centos

15查看虚拟机信息

virsh dominfo centos

16查看虚拟机磁盘

virsh domblklist centos

17查看虚拟网卡

virsh domiflist centos

18Interface Type Source Model MAC

vnet0 bridge virbr0 virtio 52:54:00:79:5b:07

19更改虚拟机配置,libvirt使用xml文件来定义虚拟机配置

virsh edit centos

7)虚拟机配置IP

 
[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=xx.xx.xx.xx
NETMASK=255.255.255.0
GATEWAY=xx.xx.xx.1
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=eth0
UUID=be6505aa-bde7-465a-9df0-126220495dea
DEVICE=eth0
ONBOOT=yes
DNS1=114.114.114.114

 

  • 微信扫一扫~
  • 支付宝扫一扫~

很赞哦! ()

文章评论

本站推荐