知了堂|创建虚拟机(KVM)的步骤

·  阅读 77

KVM虚拟机部署步骤

1.KVM相关组件介绍

kvm、qemu、libvirt的区别和联系

在所谓的kvm技术中,应用到的其实有2个东西:qemu+kvm

kvm:

负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备;

qemu:

是模拟IO设备(网卡,磁盘),kvm加上qemu之后就能实现真正意义上服务器虚拟化。

因为用到了上面两个东西,所以一般都称之为qemu-kvm。

libvirt:

则是调用kvm虚拟化技术的接口用于管理的,用libvirt管理方便,直接用qemu-kvm的接口太繁琐。

libvirt简介

KVM的管理工具,因为libvirt是目前使用最为广泛的对KVM虚拟机进行管理的工具和应用程序接口(API),而且一些常用的虚拟机管理工具(如virsh、virt-install、virt-manager等)和云计算框架平台(如OpenStack、OpenNebula、Eucalyptus等)都在底层使用libvirt的应用程序接口。

3**.KVM部署**

2.1.KVM相关组件安装

需要在带有桌面环境的服务器中使用KVM技术:

# yum -y install qemu-kvm.x86_64 qemu-kvm-tools.x86_64 python-virtinst.noarch qemu-img.x86_64 bridge-utils.x86_64 libvirt virt-manager

验证CPU是否支持虚拟化:

# cat /proc/cpuinfo | grep vmx //如出现信息则表示支持虚拟化

# cat /proc/cpuinfo | grep svm //此方式为验证AMD的CPU

vmx //inter

svm //AMD

#若查看不到信息,说明没有开启虚拟化,查看文档末尾进行修改虚拟化设置

验证KVM模块是否安装:

# lsmod | grep kvm //出现信息则表示已安装

kvm_intel 53484 0

kvm 316506 1 kvm_intel

# systemctl enable libvirtd

# systemctl start libvirtd

2.2.设置网卡:

使用桥接模式。

# vim /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE=Ethernet

BOOTPROTO=none

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=ens32

UUID=20a84c35-af30-49be-9b30-7a4977980ab0

DEVICE=ens32

ONBOOT=yes

IPADDR=192.168.1.40

PREFIX=24

GATEWAY=192.168.1.1

DNS1=8.8.8.8

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no

BRIDGE="br0" //增加此行

生成桥接网卡配置文件

# vim /etc/sysconfig/network-scripts/ifcfg-br0 //加入以下内容

DEVICE=br0

BOOTPROTO=static

ONBOOT=yes

TYPE=Bridge

NAME=br0

IPADDR=192.168.1.40 //可以改为ens32的IP地址,也可以设置为其他IP地址,这里的IP地址可以与其他主机通信,而ens32的IP地址将会无效

NETMASK=255.255.255.0

关闭网络管理工具,否则无法正常使用桥接模式:

# systemctl stop NetworkManager

# systemctl disable NetworkManager

# systemctl restart network //重启网卡服务器

查看配置文件是否生效:

# ifconfig //出现了"br0 "、"virbr0"表示配置成功

通过CRT连接192.168.1.40 宿主机

2.3 创建虚拟机系统

在图形化界面下操作:

# virt-manager //打开kvm虚拟机管理界面,打不开未响应可以尝试 rpm -e卸载该程序并重新安装

或者应用程序---系统工具---虚拟系统管理器

通过图形化界面开始创建 新的系统并使用

可以先通过fdisk命令创建分区并挂载,再将安装数据存放在挂载点中。

# mount /dev/sdb1 /var/lib/libvirt/images/

使用KVM命令管理虚拟机:

# yum install -y acpid //安装"电源管理"服务

acpid为替代传统的APM电源管理标准而推出的新型电源管理标准。建议所有的笔记本用户开启它。一些服务可能不需要acpi。支持的通用操作有:“电源开关”,“电源监视”,“笔记本LID开关”,“笔记本显示屏亮度”,“休眠”,“挂机”等等。

# systemctl start acpid

# systemctl disable acpid

# virsh -h //查看命令帮助信息,KVM管理命令

/etc/libvirt/qemu //kvm虚拟机配置文件存放目录

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

Id 名称 状态

----------------------------------------------------

5 centos-1 running

# virsh shutdown centos-1 //关机"centos-1"这台服务器

# virsh destroy centos-1 //强制关机"centos-1"这台服务器

# virsh create /etc/libvirt/qemu/centos-1.xml //通过虚拟机配置文件位置启动该虚拟机

# virsh list --all

Id 名称 状态

----------------------------------------------------

6 centos-1 running

# virsh suspend centos-1 //挂起正在运行的虚拟机

域 centos-1 被挂起

# virsh resume centos-1 //恢复被挂起虚拟机

域 centos-1 被重新恢复

# virsh autostart centos-1 //设置该虚拟机开机自动启动

域 centos-1标记为自动开始

# virsh domiflist centos1 //查看指定虚拟机的网卡信息

配置宿主机中的虚拟机网卡:

# vi /etc/sysconfig/network-scripts/ifcfg-ens32 //修改网卡为启动,以及设置IP状态为静态获取以及相关IP参数。保存退出

DEVICE=ens32

HWADDR=52:54:00:02:3F:7D

TYPE=Ethernet

UUID=75e0081f-17fb-49be-ab4c-22ace4b8ac37

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.1.200

NETMASK=255.255.255.0

# systemctl restart network //重启网卡后即可通过该IP与宿主机通信,也可用该IP与真实机通信

给宿主机中的虚拟机添加多个网卡:

方法1:通过图形化界面添加

1.在宿主机中打开虚拟系统管理器,选中要添加网卡的虚拟机,并点击上方"打开"

2.点击第二个 蓝色背景感叹号图标,在最下方"添加硬件",选中第二个"network" 并记住该MAC地址,便于添加网卡配置文件使用

方法二:

也可使用命令行进行添加新网卡:

# virsh attach-interface --domain centos1 --type bridge --source br0

成功附加接口

# virsh domiflist centos1 //添加完后查看该指定虚拟机网卡列表

通过命令行添加的新网卡也需要生成新网卡配置文件,以及填写新网卡mac地址在网卡配置文件中。

3.生成新网卡配置文件:

图形化添加网卡 命令行添加网卡都需要执行以下操作:

# cd /etc/sysconfig/network-scripts/

# cp ifcfg-ens32 ifcfg-ens33

# vi ifcfg-ens33 //修改新网卡配置文件参数

DEVICE=ens33

HWADDR=52:54:00:4f:5e:db //mac地址为最开始添加网卡时的mac地址

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.1.201 //IP改为新网卡IP地址

NETMASK=255.255.255.0

也可以在此文件下找新网卡的mac地址,便于生成新网卡配置文件:

# vi /etc/udev/rules.d/70-persistent-net.rules

分类:
后端
标签:
收藏成功!
已添加到「」, 点击更改