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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值