Centos7安装部署KVM

  • 一、配置网桥
    • 1、备份原来的配置文件
    • 2、修改配置文件
      • a、修改已连接的网卡配置文件(以ifcfg-eno1为例)
      • b、配置网桥配置文件(以ifcfg-br0为例)
      • c、重启网卡(建议直接重启系统)
  • 重启后网桥就配置完成了
  • 二、开始安装KVM
    • 1、安装命令
      • 1.1、验证cpu是否支持虚拟化
      • 1.2、检查KVM是否安装
      • 1.3、检查selinux状态
      • 1.4、关闭防火墙
      • 1.5、安装所需插件
      • 1.6、安装软件详解
      • 拓展(安装linux桌面)
    • 2、启动服务
      • 2.1、启动服务
      • 2.2、设置开机自启
    • 3、配置存储池
      • 扩展
  • 三、虚拟机管理
    • 1、创建虚拟机
      • 1.1创建虚拟机硬盘
      • 1.2、创建虚拟机
      • 1.3直接使用vnc登录
    • 2、相关操作命令
      • 2.1、查看虚拟机列表
      • 2.2、开机
      • 2.3、关机
      • 2.4、强制关机
      • 2.5、重启
      • 2.6、设置虚拟机开机自启
      • 2.7、取消虚拟机开机自启
      • 2.8、挂起
      • 2.9、从挂起状态恢复
      • 2.10、删除虚拟机
      • 2.11、编辑虚拟机
    • 3、添加常用设备
      • 3.1、添加硬盘
      • 3.2、添加网卡
    • 4、创建快照
      • 4.1、查看已有的快照
      • 4.2、创建快照
      • 4.3、恢复快照
      • 4.4、删除快照
    • 5、克隆虚拟机
    • 6、虚拟机迁移
      • 6.1、磁盘文件迁移
      • 6.2、导出磁盘文件
      • 6.3、添加导出的虚拟机到定义域

一、配置网桥

1、备份原来的配置文件

tar cvf networkConf.tar  /etc/sysconfig/network-scripts/ifcfg-*

2、修改配置文件

a、修改已连接的网卡配置文件(以ifcfg-eno1为例)

HWADDR=填写自己网口的mac地址(若果无法确认,直接删除或者注释此行)
DEVICE=eno1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=yes
BRIDGE=br0

b、配置网桥配置文件(以ifcfg-br0为例)

DEVICE=br0
ONBOOT=yes
TYPE=Bridge
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=xxx.xxx.xxx.xxx
NETMASK=xxx.xxx.xxx.xxx
GATEWAY=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx
#STP=no  #此配置我这里加了之后会有报错,有要研究的可以试试
DELAY=0.0## 特别说明:xxx.xxx.xxx.xxx为自己的相关地址

c、重启网卡(建议直接重启系统)

1、重启网卡命令:
systemctl restart network
2、重启系统命令:
systemctl reboot
reboot
init6
大家选一个就行

重启后网桥就配置完成了

二、开始安装KVM

1、安装命令

1.1、验证cpu是否支持虚拟化

cat /proc/cpuinfo | grep vmx     #Intel服务器使用这条命令进行验证(有输出就表示支持虚拟化)
cat /proc/cpuinfo | grep smv     #AMD服务器使用这条命令进行验证

1.2、检查KVM是否安装

lsmod | grep kvm

1.3、检查selinux状态

1、查看selinux状态
getenforce
2、修改配置文件
修改SELINUX=enforcing为SELINUX=disabled,如下:
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted## 注意此配置修改可以在最开始就修改,之后和配置完网桥一起重启

1.4、关闭防火墙

systemctl disable firewalld --now

1.5、安装所需插件

1、安装epel源
yum install epel* -y
2、安装KVM
yum install  libvirt  qemu-kvm virt-viewer  bridge-utils avahi dmidecode qemu-kvm-tools virt-manager qemu-img virt-install net-tools libguestfs-tools -y

1.6、安装软件详解

1、libvirt
目前使用最为广泛的对KVM虚拟机进行管理的工具和API
2、qemu-kvm
#安装kvm模块
3、virt-viewer
virt-viewer是“Virtual Machine Viewer”(虚拟机查看器)工具的软件包和命令行工具名称,它是一个显示虚拟化客户机的图形界面的工具。
4、bridge-utils
网桥管理工具
5、avahi
是符合zoreconf的标准的,zoreconf是苹果公司搞出来的一个零配置协议。自动生成可用IP地址的网络技术,不需要额外的手动配置和专属的配置服务器。
6、dmidecode
在 Linux 系统下获取有关硬件方面的信息的软件
7、qemu-kvm-tools
安装KVM调试工具(可以不安装)
8、virt-manager
安装图形界面管理虚拟机,通常在安装了图形界面的系统上安装使用
9、qemu-img
安装qemu组件,创建磁盘、启动虚拟机等
10、virt-install
安装构建虚拟机的命令行工具
11、net-tools
网络工具套件
12、libguestfs-tools
一组使用于硬件虚拟化中旨在用于访问及修改磁盘映像的C语言库和配套工具

拓展(安装linux桌面)

#安装GNOME桌面环境
yum groupinstall -y "GNOME Desktop"

2、启动服务

2.1、启动服务

systemctl start libvirtd

2.2、设置开机自启

systemctl enable libvirtd

3、配置存储池

#创建存储池目录
mkdir -p /home/kvm/images
#更改目录为root用户所属
chown root:root /home/kvm/images
#分配权限
chmod 755 /home/kvm/images
#定义一个存储池并绑定目录
virsh pool-define-as StoragePool --type dir --target /home/kvm/images
#建立基于文件夹的存储池
virsh pool-build StoragePool
#激活存储池
virsh pool-start StoragePool
#设置开机自启
virsh pool-autostart StoragePool

扩展

1、查看存储池信息
virsh pool-info StoragePool
2、查看存储池列表
virsh pool-list

三、虚拟机管理

1、创建虚拟机

1.1创建虚拟机硬盘

此处说两种方式,都可以
1、使用virsh命令创建
#创建名称为XXX.img,所在存储池为StoragePool,容量为100G,初始分配1G,文件格式类型为qcow2,硬盘文件的格式必须为qcow2格式。
virsh vol-create-as --pool StoragePool -name XXX.img --capacity 100G --allocation 1G --format qcow2
例如:
virsh vol-create-as --pool StoragePool --name name.img --capacity 100G --allocation 1G --format qcow2
2、使用qemu-img创建
#使用qemu-img命令使用参数create创建
qemu-img create -f qcow2 /KVM/images/XXX.qcow2 100G

1.2、创建虚拟机

1、上传所需要的镜像或者以及安装好系统的硬盘文件(以img或者qcow2结尾的文件)到指定的位置,
如果是镜像文件(以iso结尾的文件)则建议单独防止一个目录(如“/ISO”),
如果是硬盘文件则需要放到上面建立的存储池中(/home/kvm/images);
2、安装vnc以便图形化安装
安装命令:yum -y install tigervnc*
3、安装虚拟机
a、直接使用iso镜像安装
virt-install --name=fuliwenKylin --vcpus=8 --memory=8G --disk path=/home/kvm/images/XXX.img,format=qcow2,size=50,bus=virtio --cdrom /ISO/XXX.iso --network bridge=br0,model=virtio --autostart --graphics vnc,listen=0.0.0.0 --noautoconsole
b、使用已有的qcow2或img的硬盘文件
virt-install --name=wudapengKylinV10 --vcpus=8 --ram=16384 --disk path=/KVM/images/wudapengKylin.qcow2,format=raw,bus=virtio  --network bridge=br0,model=virtio --force  --import  --graphics vnc,listen=0.0.0.0  --noautoconsole
和a不一样的地方在不需要--cdrom参数,同时添加--import参数直接添加虚拟机
###############################################################################################
#其中
--name:虚拟机名称
--vcpus:cpu核心数
--memory:内存大小
--disk:path后面跟存储池的路径加创建的硬盘文件
format=qcow2:硬盘格式为qcow2
size=50:初始化大小
bus=virtio:硬盘接入格式
--cdrom:添加的DVD驱动器,后面跟iso镜像文件的绝对路径
--network:配置网络
bridge=br0:之前创建的网桥,必须和之前创建的网桥名称保持一致
model=virtio:定义网卡的接入模式
--autostart:配置开机自启(看个人需要)
--graphics vnc:配置vnc
listen=0.0.0.0:配置vnc监听
--noautoconsole:不自动运行控制台(默认是走console口安装)
################################################################################################

1.3直接使用vnc登录

1、使用命令查看刚创建的虚拟机用vnc登录的端口

virsh vncdisplay xxx(刚创建的虚拟机的名称)
#默认是从5900开始,第一个的话可以直接使用5900端口登录
#如果自己电脑上没有安装vnc客户端,使用以下连接下载
https://www.realvnc.com/en/connect/download/vnc/

2、打开安装好的vnc,如下图:

对话框里面输入ip:5900(上面查出来的端口号)

选择continue继续

到这里就可以直接安装系统了

2、相关操作命令

这里只介绍常用的命令,以下虚拟机名称都以XXX代替

2.1、查看虚拟机列表

virsh  list --all(查看所有的虚拟机,包括开机和关机的)
virsh list (查看已开机的虚拟机)

2.2、开机

virsh start XXX

2.3、关机

virsh shutdown XXX

2.4、强制关机

virsh destroy XXX

2.5、重启

virsh reboot XXX

2.6、设置虚拟机开机自启

virsh autostart XXX

2.7、取消虚拟机开机自启

virsh autostart  --disable  XXX

2.8、挂起

virsh suspend XXX

2.9、从挂起状态恢复

virsh resume XXX

2.10、删除虚拟机

virsh  undefine XXX

2.11、编辑虚拟机

virsh  edit  XXX

3、添加常用设备

3.1、添加硬盘

a、创建需要添加的硬盘
qemu-img create -f qcow2 /home/kvm/images/XXX.qcow2 100G
b、在线添加
virsh attach-disk XXX(需要添加硬盘的虚拟机名称) /home/kvm/images/XXX.qcow2  vdb --cache=none --subdriver=qcow2

3.2、添加网卡

1、临时添加
virsh attach-interface XXX(需要添加的虚拟机名称) --type bridge --source br0
2、永久添加
virsh attach-interface XXX(需要添加的虚拟机名称) --type bridge --source br0  --config

4、创建快照

4.1、查看已有的快照

virsh snapshot-list  XXX(所要查看的虚拟机名称)

4.2、创建快照

virsh snapshot-create-as XXX

4.3、恢复快照

virsh snapshot-revert    XXX     name(快照名称)

4.4、删除快照

virsh snapshot-delete  XXX

5、克隆虚拟机

#将test01克隆为test02
virt-clone -o test01 -n test02 -f /home/kvm/images/test02.qcow2

6、虚拟机迁移

虚拟机迁移主要有两部分组成,分别是配置文件和磁盘文件,详情见下文6.1(配置文件迁移)和6.2(磁盘文件迁移)

6.1、磁盘文件迁移

1、先关闭要迁移的虚拟机(其中centos7为已创建的虚拟机的名称,下同)
virsh shutdown centos7
注意:如果上述命令无法关闭虚拟机,首先可以进入虚拟机使用命令(init 0)关闭,如果还是不行,可以使用(virsh destroy centos7)强制关闭。
2、导出配置文件
virsh dumpxml  centos7 > centos7.xml
“建议导出文件的文件名称和虚拟机名称相同或有备注,不然时间长了不好分辨”

6.2、导出磁盘文件

1、找到需要迁移的虚拟机的磁盘位置,直接复制磁盘文件到需要迁移的地方,如果是同一个虚拟化,需要更改磁盘名称,为了后面方便,建议磁盘文件名称,磁盘名称,虚拟机名称保持一直,上面已经讲了磁盘文件导出,如果导出名称不是一致的,可用mv命令改名,磁盘文件也一样,下面说一下虚拟机名称和磁盘位置名称的更改:
使用命令:vi(vim)  centos7.xml
修改内容如下:
<domain type='kvm'><name>centos7</name>......  ...省略............<disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/KVM/images/centso7.qcow2'/><target dev='vda' bus='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/></disk>修改name标签的名称和配置文件,磁盘文件一致,修改磁盘文件位置此处标签为<source>的file为迁移后的磁盘文件位置,名称和前面两者保持一致

6.3、添加导出的虚拟机到定义域

上面已经导出并修改好了配置文件和磁盘文件,接下来就是导入了
导入命令:virsh define /etc/libvirt/qemu/centos7.xml
注意:后面的定义路径写全
然后使用命令(virsh start centos7)测试以下,正常运行就完成了虚拟机迁移

Centos7安装KVM虚拟化相关推荐

  1. CentOS7.1 KVM虚拟化之经常使用管理虚拟机命令(3)

    一.查看虚拟机列表及状态 [root@kvm01 ~]# virsh list --allId Name State ----------------------------------------- ...

  2. centos7.3 kvm虚拟化全自动化部署(0915金测OK)

    环境说明: VMware中的centos7做kvm虚拟化实验必须的设置,否则无法正常使用kvm虚拟化功能: #kvm虚拟化一键安装和启动的脚本(已测OK) #说明:此脚本实现kvm虚拟化平台的一键安装 ...

  3. Centos7开小鸡(centos7安装KVM+kimchi+wok开小鸡)第一篇安装kimchi wok

    Centos7开小鸡(centos7安装KVM+kimchi+wok开小鸡)之第一篇:安装kimchi wok 前提条件:环境为centos7 必须支持虚拟化 前几天折腾proxmox ve虽然安装成 ...

  4. Centos 安装 KVM虚拟化工具 超云服务器 VMware

    需求:在裸机(超云服务器)上安装centos7,并在centos7上安装虚拟化工具,且再建三个虚拟机(centos/windows) 目录 需求:在裸机(超云服务器)上安装centos7,并在cent ...

  5. Centos7搭建KVM虚拟化平台之基于OVS网桥

    Centos7搭建KVM虚拟化平台之基于OVS网桥 文章目录 Centos7搭建KVM虚拟化平台之基于OVS网桥 一.什么是虚拟化技术?为什么要用虚拟化技术? 二.Qemu-KVM基本工作原理分析 三 ...

  6. Centos7安装kvm服务器

    Centos7安装kvm服务器 什么是kvm virt-manager及相关软件简介 virt-manger架构及原理 KVM QEMU Libvirt 检查硬件是否支持kvm虚拟化 启用嵌套虚拟化( ...

  7. 在LINUX系统中安装KVM虚拟化

    在LINUX系统中安装KVM虚拟化 首先CPU要支持虚拟化(Intel是vmx,AMD是svm) [root@localhost ~]# egrep '(vmx|svm)' --color /proc ...

  8. CentOS7安装KVM、KVM安装CentOS7

    1.查看cpu是否支持虚拟化 [root@localhost ~]# egrep '(vmx|svm)' /proc/cpuinfo 2.启动kvm模块 [root@localhost ~]# mod ...

  9. 编译安装KVM虚拟化技术

    目录 一.虚拟化技术 二.虚拟化的历史 2.1 Xen和KVM的区别 三.虚拟化的类型 四.虚拟化的优劣势 4.1 优势 4.2 劣势 五.KVM简介 六.KVM架构及原理 七.KVM原理 八.安装虚 ...

最新文章

  1. python 字符串前面加u,r,b,f的含义
  2. QML UI 与逻辑分开
  3. oracle rac 节点启动,Oracle 10g RAC 节点自动重启故障处理
  4. 计算机学院指导报告,重庆大学计算机学院论文指导讲座圆满结束
  5. 30本互联网相关的电子书
  6. 计算机多媒体技术实验报告【合集】
  7. 连京东都开始卖翻新机,教你识别手中的iPhone 隐藏id
  8. 我在HW中用到的三款工具
  9. bom 根据一阶 BOM 表整理多阶层 BOM 表
  10. 缺陷报告【软件测试】
  11. python3基础知识复习 --海龟绘图(turtle)介绍
  12. python爬取ZOL高清壁纸
  13. 2018年6月13日任务
  14. php开发工具PhpStorm新版本V2022.1 新增功能亮点介绍
  15. 用Python实现字典树(Trie)与双数组字典树(DATrie)
  16. 初二因式分解奥数竞赛题_(完整)初中数学竞赛因式分解专题
  17. matlab电力电子仿真小结,SABER 2008电力电子仿真小结
  18. 虚拟试衣镜 疫情期间实体服装店的救世主还是理想丰满现实骨感的“拔草神器”?
  19. 英文歌曲:a place nearby(不远的地方)
  20. 我是一只IT小小鸟读后感

热门文章

  1. 二级域名分发美化版源码+搭建教程
  2. 苹果手机iOS系统支持微信分身多开了?你不会不知道吧
  3. MySQL与PHP的AES加密解密
  4. Linux内核--五大子系统
  5. Java进阶之光!java字符串拼接换行
  6. 【项目分析】解读Social Lending Network——基于区块链技术的社交金融平台
  7. android app性能优化大汇总(内存性能优化)
  8. 大数据算法课程笔记1:寻找中值算法之随机选取,中值的中值,One Pass算法
  9. python多开游戏_易语言通过句柄名来关闭互斥体实现游戏多开的代码
  10. 设置 安全 Smart Lock下没有Onbody detection选项