KVM虚拟机
- 一、KVM概述
- 二、虚拟机开启条件
- 三、准备工作完成后的步骤
- 四、KVM虚拟机管理
一、KVM概述
- 简介:
KVM是Kernel Virtual Machine的简写,目前Redhat只支持在64位的Rhel5.4以上的系统运行,同时硬件需要支持VT技术。KVM的前身是QEMU,在2008年被Redhat公司收购并且获得了一项hypervisor技术,不过redhat的KVM被认为将成为未来linux hypervisor的主流,准确的来说KVM不仅仅是linux内核的一个模块。管理和创建完成的KVM虚拟机,需要更多的辅助工具 - 部署环境:
当linux服务器利用率不是很高的时候,为了充分利用这些linux服务器,可以去部署KVM,在物理机上运行多个业务系统,从而提高linux服务器利用率
二、虚拟机开启条件
- 硬件:
(1)内存: 2048M以上
(2)处理器: 核心数 2
(3)虚拟化引擎: 首选模式 intel VT-x 或 AMD-V
(4)硬盘: 60G以上 (看自己需求) - 运行环境:
方法一:
采用CentOS7开启cpu虚拟化支持最简单的安装方法就是在安装系统的时候,选择桌面安装——虚拟化选项即可
- 方法二:
在已有的命令行或图形化系统基础上,安装KVM所需要的软件
步骤:
******查看主机的KVM内核模块
[root@KVM ~]# lsmod |grep kvm
kvm_intel 188688 0
kvm 636969 1 kvm_intel
irqbypass 13503 1 kvm
******检测CPU是否支持虚拟化,vmx代表Intel CPU,svm代表AMD CPU
[root@KVM ~]# grep -E '(vmx|svm)' /proc/cpuinfo (输入后会有深红色字体)
******将新添加的60G硬盘分区格式化
[root@KVM ~]# fdisk /dev/sdb (创建新的分区)
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xea058649 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-125829119,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119):
将使用默认值 125829119
分区 1 已设置为 Linux 类型,大小设为 60 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xea058649
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 125829119 62913536 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@KVM ~]# mkfs -t xfs /dev/sdb1 (格式化新的分区)
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=3932096 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=15728384, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=7679, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
******将新的分区挂载给/opt,作为KVM虚拟机的存储池
[root@KVM ~]# mount /dev/sdb1 /opt/ (手动挂载)
[root@KVM ~]# echo "/dev/sdb1 /opt xfs defaults 0 0" >> /etc/fstab (自动挂载)
******配置好本地yum源
[root@KVM ~]# cat /etc/yum.repos.d/centos7.repo
[aaa]
name=aaa
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
以上,准备工作完成
三、准备工作完成后的步骤
桌面环境和命令行环境都可以做
******安装GNOME桌面环境
[root@KVM ~]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@KVM ~]# yum -y install qemu-kvm libvirt virt-install virt-manager
(用户空间的工具、管理kvm虚拟机、安装kvm虚拟机、图形化虚拟机管理器)
。。。。。。
完毕!
[root@KVM ~]# systemctl start libvirtd (开启)
[root@KVM ~]# systemctl enable libvirtd (设置为开机自启)
******将Windows7的镜像传到/tmp目录下
我这里使用的是Xshell连接的centos7,所以直接使用自带的xftp传了,没有的话可以先挂载然后把文件复制到/tmp下,记得要分开目录
[root@KVM ~]# cd /tmp/
[root@KVM tmp]# ls (传输完成)
[root@CentOS7-1 tmp]# ls
anaconda.log
cn_windows_7_ultimate_with_sp1_x64_dvd_618537.iso
。。。。。。
******开启KVM虚拟机管理器
[root@KVM tmp]# virt-manager
我这里使用的是图行化系统,命令行和图形化是一样的,图行化点击应用程序——系统工具——虚拟系统管理器
- 双击: QEMU ,设置“存储”
- 添加存储池:
- 把镜像文件所在的目录/tmp 添加到存储池中,命名为ISO(点击左下角的+号)(这个是存放镜像文件的)
- 将/opt 目录 添加到存储池中,命名为KVM,用来当所安装虚拟机的存储目录
添加存储卷 (还是左下角的+号)(这个就是所创建的虚拟机的硬盘空间目录) - 选中KVM,点击中间的加号
- 添加一个名称为win7的虚拟机,类型是raw,并且点击完成,然后关闭窗口
- 右键点击QEMU点击新建
- 选择本地安装介质(第一个),点击前进
- 点击浏览,点击创建好的ISO的存储卷,选中win7镜像即可
- 点击前进
- 内存选择1024,cpu选择1个,点击前进
- 选择创建好的KVM存储卷,选中win7.img
- 点击前进
- 勾选“在安装前自定义配置”,点击完成
- 在弹出来的窗口可以进行配置,根据需求即可
- 最后点击应用,点击开始安装即可
- 这个时候虚拟机已经开始安装了,至此KVM虚拟机服务搭建完成
四、KVM虚拟机管理
- 方法一: 直接使用图形化管理
- 方法二: 使用KVM命令集管理
******KVM基本功能管理
帮助————virsh -h
现实配置文档位置————ls /etc/libvirt/qemu/
查看虚拟机状态————virsh list --all
关机————virsh shutdown *虚拟机名称*
开机————virsh start *虚拟机名称*
关闭电源————virsh destory *虚拟机名称*
通过配置文件启动虚拟机————virsh create /etc/libvirt/qemu/*后缀是.xml的虚拟机文件名*
挂起————virsh suspend *虚拟机名称*
恢复————virsh resume *虚拟机名称*
自动随宿主机一起启动(开机自启)—————virsh autostart *虚拟机名称*
导出虚拟机配置————virsh dumpxml *虚拟机名称* > /etc/libvirt/qemu/*后缀是.xml的新的虚拟机文件名*
删除虚拟机————virsh undefine *虚拟机名称*
通过备份的配置文件重新定义虚拟机————virsh define *后缀是.xml的虚拟机文件名*
编辑配置文档————两种方法:(1)vim /etc/libvirt/qemu/*后缀是.xml的虚拟机文件*
(2)virsh edit *虚拟机名称*
******KVM文件管理
可以使用yum先安装工具————yum -y install libguestfs-tools
查看当前磁盘格式————qemu-img info /data_kvm/store/*后缀为.img的虚拟机磁盘文件*
转换磁盘格式————qemu-img convert -f raw -O qcow2 /data_kvm/store/*后缀为.img的虚拟机磁盘文件* /data_kvm/store/*后缀为.img的新的虚拟机磁盘文件*
******虚拟机克隆
克隆001主机到002————virt-clone -o 001 -n 002 -f /data_kvm/store/002.qcow2
******虚拟机快照
KVM虚拟机使用镜像功能,磁盘格式必须为qcow2
创建虚拟机快照————virsh snapshot-create *虚拟机名称*
查看快照版本信息————virsh snapshot-current *虚拟机名称*
查看快照信息————cirsh snapshot-list *虚拟机名称*
恢复快照到指定位置————virsh snapshot-revert *虚拟机名称* *快照名称*
删除快照————virsh snapshot-delete *虚拟机名称* *快照名称*
两种都可以使用,个人感觉图形化方便点,看个人喜好了