博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kvm快速安装部署
阅读量:4041 次
发布时间:2019-05-24

本文共 10506 字,大约阅读时间需要 35 分钟。

原文  https://www.linuxidc.com/Linux/2016-10/136164.htm在已有系统基础上,安装KVM所需软件yum  -y  groupinstall  "Desktop"                  //安装GNOME桌面环境    yum  -y  install  qemu-kvm.x86_64                  //KVM模块    yum  -y  install  qemu-kvm-tools.x86_64            //KVM调试工具,可不安装 yum  -y  install  python-virtinst.noarch          //python组件,记录创建VM时的xml文件yum  -y  install  qemu-img.x86_64                  //qemu组件,创建磁盘、启动虚拟机等yum  -y  install  bridge-utils.x86_64              //网络支持工具yum  -y  install  libvirt                          //虚拟机管理工具yum  -y  install  virt-manager                    //图形界面管理虚拟机yum  -y  install  libguestfs*                      //virt-cat等命令的支持软件包 (3)验证。重启系统后,查看CPU是否支持虚拟化,对于Inter服务器可以 通过一下命令查看,只要有输出就说明CPU支持虚拟化;AMD服务器可用cat  /proc/cpuinfo  |  grep  smv命令查看[root@localhost ~]# cat  /proc/cpuinfo  |  grep  vmxflags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase bmi1 avx2 smep bmi2 invpcid检查KVM模块是否安装:[root@localhost ~]# lsmod  |  grep  kvmkvm_intel              55496  0kvm                  337772  1 kvm_intel2、设置KVM网络宿主服务器安装完成KVM,首先要设定网络,在libvirt中运行KVM网络有两种方法:NAT和Bridge,默认是NAT 关于两种模式的说明: (1)用户模式,即NAT方式,这种方式是默认网络,数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络(2)桥接模式,这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持,一般有线网卡都支持这里以Bridge(桥接)为例[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0HWADDR=00:0C:29:4C:0C:24TYPE=EthernetONBOOT=yesNM_CONTROLLED=noBOOTPROTO=noneBRIDGE="br0"[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0DEVICE=br0TYPE=BridgeONBOOT=yesNM_CONTROLLED=noBOOTPROTO=dhcp重启network服务[root@localhost ~]# service network restart正在关闭接口 br0:                                    [确定]正在关闭接口 eth0:                                  [确定]关闭环回接口:                                        [确定]弹出环回接口:                                        [确定]弹出界面 eth0:                                      [确定]弹出界面 br0:正在决定 br0 的 IP 信息...完成。                      [确定]确认IP地址信息[root@localhost ~]# ifconfigbr0      Link encap:Ethernet  HWaddr 00:0C:29:4C:0C:24          inet addr:192.168.0.106  Bcast:192.168.0.255  Mask:255.255.255.0          inet6 addr: fe80::20c:29ff:fe4c:c24/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:70 errors:0 dropped:0 overruns:0 frame:0          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0          RX bytes:69660 (68.0 KiB)  TX bytes:3066 (2.9 KiB)eth0      Link encap:Ethernet  HWaddr 00:0C:29:4C:0C:24           inet6 addr: fe80::20c:29ff:fe4c:c24/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:28413 errors:0 dropped:0 overruns:0 frame:0          TX packets:20243 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:1000          RX bytes:37239885 (35.5 MiB)  TX bytes:1683986 (1.6 MiB)lo        Link encap:Local Loopback           inet addr:127.0.0.1  Mask:255.0.0.0          inet6 addr: ::1/128 Scope:Host          UP LOOPBACK RUNNING  MTU:65536  Metric:1          RX packets:140 errors:0 dropped:0 overruns:0 frame:0          TX packets:140 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0          RX bytes:12096 (11.8 KiB)  TX bytes:12096 (11.8 KiB)virbr0    Link encap:Ethernet  HWaddr 52:54:00:0B:01:73           inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:0 errors:0 dropped:0 overruns:0 frame:0          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)出现以上信息,说明网卡桥接成功了3、KVM管理[root@localhost ~]# virt-managervirt-manager是基于libvirt的图像化虚拟机管理软件。请注意,不同的发行版上virt-manager的版本可能不同,图形界面和操作方法可能不同。本文使用了Centos  6企业版。创建KVM虚拟机最简单的方法是通过virt-manager接口。从控制台窗口启动这个工具,以root身份输入virt-manager命令虚拟机管理界面虚拟机管理步骤如下(1)创建存储池,双击localhost(QEMU),选择“存储选项卡”,然后单击“+”按钮新建存储池。单击“前进”按钮,根据提示输入或浏览以设置存储目录,如/data_kvm/store,最后单击“完成”按钮即可创建存储池(2)以同样的操作创建一个镜像存储池,命名为linux_iso,目录为/data_kvm/iso即可。在安装操作系统时,我们把镜像上传到服务器目录/data_kvm/iso创建镜像存储池(3)创建存储卷,单击刚创建好的“linux”,单击对话框右下角的“新建卷”按钮建立一个存储卷,并设置最大容量与分配容量创建存储卷(4)单击“完成”按钮后,回到虚拟系统管理器。右击“localhost(QEMU)”,然后选择“新建”选项,在弹出的对话框中将虚拟机名称命令为“Centos-6.6”,然后单击“前进”按钮新建虚拟机(1)单击“浏览”按钮选择镜像文件,再选择操作系统类型及版本新建虚拟机(2)单击“前进”按钮,在对话框中适当分配内存和CPU资源,如1核CPU、512MB内存新建虚拟机(3)单击“前进”按钮,在对话框中勾选“立即分配整个磁盘”复选框,点选“管理的或者其他现有存储”单选按钮,单击“浏览”按钮选择文件,然后单击“前进”按钮新建虚拟机(4)在所示的对话框中勾选“在安装前自定义配置”复选框,单击“完成”按钮,弹出对话框新建虚拟机(6)在“Overview”视图中,定位到“机器设置”,把机器设置-时钟偏移-改为“localtime”,单击“应用”按钮即可。定位到“Boot  Options”,勾选“主机引导时启动虚拟机”复选框,这样在物理宿主机启动后,这个VM也会启动,最后单击“应用”按钮。如果要远程管理,需要在“显示VNC”中,将Keymap设置为“Copy  Local  Keymap”新建虚拟机(7)最后单击“Begin  Installation”按钮即可,整个虚拟机配置过程完成。下面就是安装操作系统的工作,和平时安装Linux系统一样案例:使用KVM命令集管理虚拟机一、案例分析案例环境使用一台物理机器,一台服务器安装Centos  6.6的64位系统(即Stranded), Centos-6.6是在宿主机Stranded中安装的虚拟机主机  操作系统    IP地址    主要软件Stranded    Centos-6.6  x86_64  192.168.1.100   XshellCentos-6.6    Centos-6.6  x86_64  192.168.1.103Xmanager二、案例实施1、安装Linux虚拟机安装过程同上一案例,使用Xshell远程控制Stranded主机2、KVM基本功能管理(1)查看命令帮助[root@localhost ~]# virsh  -h......      //省略输出内容(2)查看KVM的配置文件存放目录(Centos-6.6.xml是虚拟机系统实例的配置文件)[root@localhost ~]# ls  /etc/libvirt/qemuautostart  Centos-6.6.xml  networks(3)查看虚拟机状态[root@localhost ~]# virsh  list  --all  Id    名称                        状态 2    Centos-6.6                  running(4)虚拟机关机与开机首先要确认acpid服务安装并运行[root@localhost ~]# virsh  shutdown  Centos-6.6[root@localhost ~]# virsh  start  Centos-6.6(5)强制实例系统关闭电源[root@localhost ~]# virsh  destroy  Centos-6.6(6)通过配置文件启动虚拟机系统实例[root@localhost ~]# virsh  create  /etc/libvirt/qemu/Centos-6.6.xml[root@localhost ~]# virsh  list  --all  Id    名称                        状态 3    Centos-6.6                  running(7)挂起虚拟机[root@localhost ~]# virsh  suspend  Centos-6.6查看虚拟机状态[root@localhost ~]# virsh  list  --all  Id    名称                        状态 3    Centos-6.6                  暂停(8)恢复虚拟机[root@localhost ~]# virsh  resume  Centos-6.6[root@localhost ~]# virsh  list  --all  Id    名称                        状态 3    Centos-6.6                  running(9)配置虚拟机实例伴随宿主机自动启动[root@localhost ~]# virsh  autostart  Centos-6.6上述命令将创建/etc/libvirt/qemu/autostart/目录,目录内容为开机自动启动的系统(10)导出虚拟机配置[root@localhost ~]# virsh  dumpxml  Centos-6.6 >/etc/libvirt/qemu/Centos-02-6.6.xml(11)虚拟机的删除与添加删除虚拟机[root@localhost ~]# virsh  shutdown Centos-6.6[root@localhost ~]# virsh  undefine Centos-6.6查看删除结果,Centos-6.6的配置文件被删除,但磁盘文件不会被删除[root@localhost ~]# ls  /etc/libvirt/qemuautostart  Centos-02-6.6.xml  networks通过virsh  list  -all查看不到Centos-6.6的信息,说明此虚拟机被删除[root@localhost ~]# virsh  list --all  Id    名称                  状态 通过备份的配置文件重新定义虚拟机[root@localhost ~]# cd  /etc/libvirt/qemu[root@localhost qemu]# mv  Centos-02-6.6.xml  Centos-6.6.xml重新定义虚拟机[root@localhost qemu]# virsh  define Centos-6.6.xml查看虚拟机信息[root@localhost qemu]# virsh  list  --all  Id    名称                        状态  
Centos-6.6 关闭
(12)修改虚拟机配置信息(用来修改系统内存大小、磁盘文件等信息)直接通过vim命令修改[root@localhost ~]# vim /etc/libvirt/qemu/Centos-6.6.xml通过virsh命令修改[root@localhost ~]# virsh edit Centos-6.63、KVM文件管理通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件有raw与qcow2格式,KVM虚拟机默认使用raw格式,raw格式性能最好,速度最快,其缺点是不支持一些新的功能,如镜像、Zlib磁盘压缩、AES加密等,针对两种格式的文件有不同的工具可供选择。这里介绍本地YUM安装libguestfs-tools后产生的命令行工具(这个工具可以直接读取qcow2格式的磁盘文件,因此需要将raw格式的磁盘文件转换成qcow2的格式)(1)转换raw格式磁盘至qcow2格式查看当前磁盘格式[root@localhost ~]# qemu-img info /data_kvm/store/linux_kvm.imgimage: /data_kvm/store/linux_kvm.imgfile format: rawvirtual size: 10G (10737418240 bytes)disk size: 10G关闭虚拟机[root@localhost ~]# virsh shutdown Centos-6.6转换磁盘文件格式[root@localhost ~]# qemu-img convert -f raw -O qcow2 /data_kvm/store/linux_kvm.img /data_kvm/store/linux_kvm.qcow2(2)修改Centos-6.6的xml配置文件[root@localhost ~]# virsh edit Centos-6.6 //省略部分内容 //省略部分内容(3)virt-cat命令,类似于cat命令[root@localhost ~]# virt-cat -a /data_kvm/store/linux_kvm.qcow2 /etc/sysconfig/networkNETWORINT=yesHOSTNAME=localhost.localdomain(4)virt-edit命令,用于编辑文件,用法与vim基本一致[root@localhost ~]# virt-edit -a /data_kvm/store/linux_kvm.qcow2 /etc/resolv.confnameserver 8.8.8.8(5)virt-df命令用于查看虚拟机磁盘信息[root@localhost ~]# virt-df -h Centos-6.6Filesystem Size Used Available Use%Centos-6.6:/dev/sda1 476M 32M 419M 7%Centos-6.6:/dev/sdb1 4.3G 4.3G 0 100%Centos-6.6:/dev/VolGroup/lv_root 8.3G 620M 7.2G 8%4、虚拟机克隆(1)查看虚拟机状态[root@localhost ~]# virsh list --all Id 名称 状态
Centos-6.6 关闭
(2)从Centos-6.6克隆Centos-02-6.6[root@localhost ~]# virt-clone -o Centos-6.6 -n Centos-02-6.6 -f /data_kvm/store/Centos-02-6.6.qcow2(3)查看虚拟机状态[root@localhost ~]# virsh list --all Id 名称 状态
Centos-02-6.6 关闭
Centos-6.6 关闭
(4)启动虚拟机[root@localhost ~]# virsh start Centos-02-6.65、虚拟机快照KVM虚拟机要使用快照功能,磁盘格式必须是qcow2,之前已经将Centos-6.6的磁盘格式转换成了qcow2下面介绍KVM虚拟机快照备份的过程(1)对Centos-6.6创建快照[root@localhost ~]# virsh snapshot-create Centos-6.6Domain snapshot 1440950172 created(2)查看虚拟机快照版本信息[root@localhost ~]# virsh snapshot-current Centos-6.6 1440950172 //快照版本号 shutoff ...... //省略部分内容(3)查看快照信息[root@localhost ~]# virsh snapshot-list Centos-6.6 名称 Creation Time 状态1440950172 2015-08-30 23:56:12 +0800 shutoff(4)创建新快照[root@localhost ~]# virsh snapshot-create Centos-6.6Domain snapshot 1440950433 created(5)查看快照信息[root@localhost ~]# virsh snapshot-list Centos-6.6 名称 Creation Time 状态1440950172 2015-08-30 23:56:12 +0800 shutoff 1440950433 2015-08-31 00:00:33 +0800 shutoff(6)回复虚拟机状态至1440950172[root@localhost ~]# virsh snapshot-revert Centos-6.6 1440950172(7)查看虚拟机快照版本信息[root@localhost ~]# virsh snapshot-current Centos-6.6 1440950172 //快照版本号 shutoff ...... //省略部分输出(8)删除快照[root@localhost ~]# virsh snapshot-delete Centos-6.6 1440950172Domain snapshot 1440950172 deleted 查看原文:

转载地址:http://jqmdi.baihongyu.com/

你可能感兴趣的文章
【leetcode】Candy(python)
查看>>
【leetcode】Clone Graph(python)
查看>>
【leetcode】Sum Root to leaf Numbers
查看>>
【leetcode】Pascal's Triangle II (python)
查看>>
java自定义容器排序的两种方法
查看>>
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>
AngularJS2中最基本的文件说明
查看>>
从头开始学习jsp(2)——jsp的基本语法
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
DIV/CSS:一个贴在左上角的标签
查看>>
Solr及Spring-Data-Solr入门学习
查看>>
Vue组件
查看>>
python_time模块
查看>>
python_configparser(解析ini)
查看>>
selenium学习资料
查看>>
<转>文档视图指针互获
查看>>
从mysql中 导出/导入表及数据
查看>>
HQL语句大全(转)
查看>>