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 0 kvm 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-,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{
K,M,G} (2048-,默认为 ): 将使用默认值 分区 1 已设置为 Linux 类型,大小设为 60 GiB 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:64.4 GB, 字节, 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xea058649 设备 Boot Start End Blocks Id System /dev/sdb1 2048 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= blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=, 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_.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 *虚拟机名称* *快照名称*
两种都可以使用,个人感觉图形化方便点,看个人喜好了
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231772.html原文链接:https://javaforall.net
