用红冒系自带的kvm搭建虚拟机实战
- 格式:doc
- 大小:541.50 KB
- 文档页数:12
KVM安装步骤及基本操作KVM(Kernel-based Virtual Machine)是一种基于Linux内核的开源虚拟化技术,可以将服务器硬件资源划分为多个虚拟机来运行不同的操作系统。
安装KVM的步骤及基本操作如下:1.系统要求在安装KVM之前,需要确保系统满足以下要求:-64位操作系统- 支持虚拟化技术的CPU(例如Intel的VT-x或AMD的AMD-V)-至少4GB的内存-大于40GB的可用磁盘空间- 安装了最新的Linux内核2.安装KVM软件包首先,使用适用于你的Linux发行版的软件包管理器来安装KVM软件包。
例如,在Ubuntu上可以使用apt命令:```sudo apt updatesudo apt install qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils```3.启用虚拟化扩展4.创建网络桥接KVM使用网络桥接来连接虚拟机和物理网络。
创建网络桥接需要使用bridge-utils软件包。
在终端中执行以下命令创建桥接网络:```sudo brctl addbr br0sudo brctl addif br0 ens33```其中,ens33是你的物理网络接口的名称。
可以使用ip a命令查看你的接口名称。
5.配置网络连接```sudo nano /etc/network/interfaces```在文件中添加以下行来配置网络桥接:```auto br0iface br0 inet dhcpbridge_ports ens33保存文件并退出。
6. 启动libvirt服务执行以下命令启动libvirt服务:```sudo systemctl start libvirtdsudo systemctl enable libvirtd```7.创建虚拟机使用virt-install命令创建虚拟机。
kvm虚拟化技术实战与原理解析pdf KVM虚拟化技术实战与原理解析KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技术,它通过利用Linux内核来创建和管理虚拟机,同时提供了高性能和快速的虚拟化环境。
本文将重点介绍KVM虚拟化技术的实战应用和原理解析。
一、KVM虚拟化技术概述KVM虚拟化技术是一种基于硬件的全虚拟化解决方案,它允许将一台物理机划分为多个虚拟机,并在每个虚拟机中运行不同的操作系统和应用程序。
KVM利用了Linux内核的虚拟化模块(KVM模块)来创建和管理虚拟机,并通过QEMU(Quick Emulator)提供了对虚拟硬件设备的模拟。
二、KVM虚拟化技术的实战应用1. 虚拟化服务器KVM虚拟化技术可以将一台物理服务器划分为多个虚拟服务器,每个虚拟服务器都具有独立的操作系统和资源。
这样可以提高服务器的利用率,节省硬件成本,并简化服务器的管理和维护。
同时,KVM 虚拟化技术还支持虚拟机的热迁移和快照功能,方便进行故障恢复和资源调度。
2. 云计算平台KVM虚拟化技术是目前主流的云计算平台使用的关键技术之一。
通过KVM虚拟化技术,云服务提供商可以将一台物理服务器划分为多个虚拟机,为不同用户提供独立的计算资源。
这样可以实现资源的弹性分配和动态扩缩容,提高云服务的灵活性和可扩展性。
3. 虚拟化桌面环境KVM虚拟化技术可以将一台物理桌面主机划分为多个虚拟桌面环境,每个虚拟桌面环境都具有独立的操作系统和应用程序。
这样可以实现桌面资源的集中管理和统一部署,减少用户端的硬件要求,并提高桌面环境的安全性和稳定性。
三、KVM虚拟化技术的原理解析1. KVM模块KVM虚拟化技术利用了Linux内核的虚拟化模块(KVM模块)来实现和管理虚拟机。
KVM模块利用虚拟化扩展技术,将物理机的处理器和内存虚拟化为多个虚拟机,每个虚拟机都能够独立运行不同的操作系统和应用程序。
2. QEMU在KVM虚拟化技术中,QEMU提供了对虚拟硬件设备的模拟。
搭建虚拟机集群详细步骤步骤一:确定需求和规划在搭建虚拟机集群之前,首先需要确定你的需求和规划。
这包括确定虚拟机集群的用途、规模和预期的负载。
一旦你明确了需求和规划,你就可以开始准备环境。
步骤二:准备硬件和操作系统为了搭建虚拟机集群,你需要准备一些硬件和操作系统。
这包括至少两台物理机、网络交换机和硬盘存储。
另外,你还需要安装并配置虚拟化软件,如VMware ESXi或KVM,并确保它们正常工作。
步骤三:配置网络为了使虚拟机集群正常工作,你需要配置网络。
这涉及到为每个物理机和虚拟机分配IP地址,并设置子网掩码、网关和DNS服务器。
你也可以考虑使用网络负载均衡器来实现负载均衡。
步骤四:创建虚拟机模板在搭建虚拟机集群之前,你需要创建一个虚拟机模板。
这是一个已经安装好操作系统和软件的虚拟机,你可以通过复制这个模板来创建新的虚拟机。
确保为虚拟机模板配置适当的资源和设置,并进行必要的更新和安全配置。
步骤五:创建虚拟机一旦你准备好了虚拟机模板,你就可以开始创建虚拟机了。
根据你的需求和规划,在每个物理机上创建所需数量的虚拟机,并确保它们具有适当的配置和资源分配。
确保为每个虚拟机设置正确的网络设置和存储。
步骤六:配置集群管理软件为了管理和监控虚拟机集群,你需要配置集群管理软件。
这可能包括使用开源软件如OpenStack或VMware vSphere提供的功能,以及安装和配置相应的管理工具。
确保你熟悉这些工具的使用和配置。
步骤七:配置负载均衡和故障转移为了实现负载均衡和故障转移,你需要配置相应的软件或硬件。
这可能包括使用负载均衡器、集群管理软件或其他技术来实现。
确保你熟悉这些技术的使用和配置,并设置适当的规则和策略。
步骤八:测试和优化一旦你完成了虚拟机集群的搭建,你需要进行测试和优化。
这包括模拟负载和故障,并验证集群的性能和可用性。
根据测试结果,进行必要的优化和调整,以确保集群能够满足你的需求。
步骤九:备份和恢复为了确保数据的安全性和可用性,你需要定期备份虚拟机和集群配置。
Centos7安装kvm虚拟机(centos6也可以)1.本教程以vmware虚拟机为例子,在其中的centos7虚拟机上安装kvm虚拟机首先开启虚拟化模块2.安装qemu-kvm 、libvirtyum install-y qemu-kvm libvirt,其中qemu-kvm用来创建虚拟机硬盘,libvirt 用来管理虚拟机qemu下载地址:https:///(多种版本)3.安装virt-install,yum -y install virt-install(virt-install用来创建虚拟机)4.启动libvirtd并且设置开机自启动,systemctl start libvirtd 、systemctl enable libvirtd5.创建虚拟机硬盘,(使用qemu来创建一个虚拟机硬盘,大小可以自定义),qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G,硬盘名称为CentOS-7-x86_64.raw,硬盘大小为10G6.也可以用qcow2格式,此格式支持快照但是速度没有raw的快,命令方式类似,qemu-img create -f qcow2 /opt/centos.qcow2 10G7.在根目录下创建一个文件夹iso,将centos7的镜像上传到此目录下8.利用virt-install 创建一个名称为CentOS-7-x86_64的虚拟机,内存为10249.virt-install --virt-type kvm --name=centos --ram 1024 --vcpus=16 --cdrom=/iso/centos.iso --disk path=/data2/centos.raw --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5988, --force--autostart10.如果启动报错:ERROR internal error: process exited while connecting to monitor: 2019-05-10T17:10:20.075431Z qemu-kvm: -drivefile=/root/window.iso,format=raw,if=none,id=drive-ide0-0-1,readonly=o n: could not open disk image /root/window.iso: Could not open'/root/window.iso': Permission deniedDomain installation does not appear to have been successful.If it was, you can restart your domain by running:virsh --connect qemu:///system start windowsotherwise, please restart your installation.表示权限不足可以编辑配置文件 vi /etc/libvirtd/qemu.conf文件取消#user=”root” #group=”root”注释然后重启libvirtd systemctl restart libvirtd11.其中--name表示名称,ram表示内存为1024M,--vcpus表示cpu核数,cdrom 表示镜像所在目录,disk表示创建的虚拟机硬盘位置,port指定哪个端口安装时通过vnc连接就用哪个端口连接,安装多台机器时可以指定不同的端口然后来分别安装不同的操作系统,--graphics表示指定图形界面工具表示安装成功12.接下来通过vnc来连接虚拟机进行安装,地址为宿主机地址,端口为5988(防火墙提前开放端口)如果报错提示如下:修改成rgb222连接即可13.然后开始正常的系统安装过程,不在赘述14.安装成功后可以通过命令virsh list --all上述表示虚拟机是关闭状态开启kvm虚拟机命令virsh start CentOS-7-x86_64,关闭虚拟机命令为virsh shutdown CentOS-7-x86_64 重启为virsh reboot CentOS-7-x86_64有的时候virsh shutdown 命令不能关闭虚拟机,此时要在虚拟机(不是宿主)内安装acpid软件并设置开机自启动,然后就可以执行shutdown|reboot来关闭和重启了了yum -y install acpidservice acpid startchkconfig acpid on如果想连接此虚拟机还是要通过vnc来连接登陆安装net-tools 安装后才可以执行ifconfig命令ip地址走的是宿主机的虚拟网卡virbr0,宿主机网卡如下:上图中的虚拟机默认的是nat模式,内部的虚拟机可以访问外部网络,但是外部网络无法访问内部的虚拟机(xshell无法连接),可以通过配置成桥接的方式来实现xshell连接内部虚拟机15.配置桥接网络:系统如果安装了桌面环境,网络由NetworkManager来管理,它不支持桥接网络,所以需要先关闭NetworkManager,一定要关闭,否则容易报错,配置完桥接后还要启动NetworkManager要不桌面无法使用,是黑屏状态。
形考任务3:配置 KVM 服务实训报告本报告旨在记录和总结形考任务3中配置KVM服务的实训过程和结果。
1. 实训目标本次实训的目标是配置KVM(Kernel-based Virtual Machine)服务,使其能够满足虚拟化环境的需求。
2. 实训步骤以下是配置KVM服务的实训步骤:1. 安装KVM软件包:使用包管理工具安装KVM软件包,如通过命令`sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils`安装必要的软件包。
2. 配置网络桥接:使用`brctl`命令或编辑`/etc/network/interfaces`文件,创建和配置网络桥接。
3. 启动libvirtd服务:使用命令`sudo systemctl start libvirtd`启动libvirtd服务。
4. 创建虚拟机:使用命令`virt-install`创建虚拟机,并根据需要进行配置。
5. 启动虚拟机:使用命令`virsh start {虚拟机名称}`启动虚拟机。
可以通过`virsh list --all`命令查看虚拟机的状态。
3. 实训结果经过以上步骤的配置和操作,成功地完成了KVM服务的配置和虚拟机的创建。
通过查看虚拟机状态,确认虚拟机已经成功启动。
4. 总结与反思通过本次实训,我学会了如何配置KVM服务和创建虚拟机。
这将有助于我在未来的工作中更好地应对虚拟化环境的需求。
在实训过程中,我遇到了一些问题,如网络桥接的配置和虚拟机的启动失败。
但通过查找资料和参考别人的经验,最终成功地解决了这些问题。
我认为在实际工作中,KVM服务的配置还需要更深入的研究和练,以提高对其原理和操作的理解和熟练度。
5. 参考资料以上即是本次形考任务3配置KVM服务的实训报告,谢谢阅读。
KVM使用说明范文KVM,即Kernel-based Virtual Machine,是一种用于Linux平台的开源虚拟化架构。
它允许用户在Linux操作系统上创建和管理虚拟机,将一台物理服务器分割成多个独立的虚拟机,每个虚拟机可以运行自己的操作系统和应用程序。
KVM是基于Linux内核的模块化架构,利用硬件虚拟化支持来提供高性能的虚拟化解决方案。
一、KVM安装配置1.硬件要求在安装KVM之前,首先需要确保硬件满足以下条件:- 64位的处理器,支持硬件虚拟化扩展(如Intel的VT-x或AMD的AMD-V);-至少4GB的内存;-虚拟机使用的磁盘空间和网络带宽的要求根据具体需求确定。
2.操作系统要求KVM可以在多种Linux发行版上运行,包括Red Hat Enterprise Linux、CentOS、Ubuntu等。
3.安装KVM使用以下命令可以在Ubuntu上安装KVM:```sudo apt updatesudo apt install qemu-kvm libvirt-daemon-system virtinst bridge-utils```4.配置网络桥接在KVM中,可以选择使用桥接网络或NAT网络。
桥接网络可以使虚拟机直接连接到宿主机所连接的网络上,提供更好的网络性能和灵活性。
要配置网络桥接,首先需要创建一个网桥,可以使用以下命令:```sudo brctl addbr br0sudo brctl addif br0 eth0```其中,eth0是物理网卡的名称。
```auto br0iface br0 inet dhcpbridge_ports eth0bridge_stp offbridge_fd 0bridge_maxwait 0```重启网络服务以使配置生效:```sudo systemctl restart networking```5.创建和管理虚拟机使用virt-manager工具可以方便地创建和管理虚拟机,该工具提供了图形化的界面。
kvm虚拟化技术实战与原理解析KVM(Kernel-based Virtual Machine)是一种基于Linux内核的开源虚拟化技术。
它允许在一台物理服务器上同时运行多个虚拟机,每个虚拟机拥有自己的操作系统和资源配置。
本文将从实战和原理两个方面对KVM虚拟化技术进行解析。
一、KVM虚拟化技术的实战应用1. 环境准备在进行KVM虚拟化技术实战之前,我们需要满足以下环境准备要求:- 一台支持虚拟化扩展的物理服务器;- 安装有支持KVM的Linux操作系统,例如Ubuntu、CentOS等;- 确保硬件资源充足,并开启虚拟化扩展功能。
2. 安装和配置KVM步骤一:安装KVM软件包通过在终端中执行相应的命令,我们可以轻松安装KVM软件包,例如在Ubuntu系统下,可以使用如下命令进行安装:```sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils```步骤二:创建虚拟网络我们需要通过桥接方式创建一个虚拟网络,将虚拟机与物理网络连接起来。
可以使用以下命令创建一个名为br0的虚拟网络:```sudo brctl addbr br0sudo brctl addif br0 eth0```步骤三:创建和管理虚拟机可以使用命令行工具(virsh)或者图形化工具(virt-manager)来创建和管理虚拟机。
通过设置虚拟机的硬件资源和网络配置,我们可以满足各种不同的应用需求。
3. 实战应用案例KVM虚拟化技术在实际应用中具有广泛的用途,以下是一些实战应用案例:- 服务器虚拟化:将一台物理服务器划分为多个虚拟机,每个虚拟机运行一个独立的应用程序,提高服务器资源的利用率。
- 开发和测试环境:通过创建虚拟机,开发团队可以在不同的环境中进行应用程序的开发和测试,提高开发效率和应用程序的可靠性。
- 云计算平台:KVM虚拟化技术是很多云计算平台的基础,通过在物理服务器上运行多个虚拟机,实现多租户的资源共享和隔离。
虚拟化方案之kvm简单教程网络桥接方案绝对可用更新到kvm-87 研究了很久的KVM感觉是我用过的最快的虚拟机。
对比常用的虚拟机Vmware的功能全面设置简单但其速度不是很好VirtualBox的效率虽然比Vmware高一些但是存在不少缺点感觉在运行时比较抢CPU而且好像还没有对SMP的支持还没有研究出来如果有请告诉我方法KVMKernel-based Virtual Machine基于内核的虚拟机是我用过的最快的虚拟机需要CPU支持虚拟化技术并且在BIOS里打开虚拟化选项效率可达到物理机的80以上对SMP的支持很好。
所以现在强烈吐血卖命推荐KVM。
没有废话以下是在UBUNTU 804 下的方法获得KVM KVM的网站 下载最新的kvm-87.tar.gz 解压代码: tar -xzvf kvm-87.tar.gz 需要用到的包代码: sudo apt-get install gcc libsdl1.2-dev zlib1g-dev libasound2-dev linux-kernel-headers pkg-config libgnutls-dev libpci1 pciutils-dev 三步曲代码: cd kvm-87 ./configure--prefix/usr/local/kvm make sudo make install 安装好以后加载KVM模块代码: sudo modprobe kvm sudo modprobe kvm-intel //如果你的是INTEL处理器就用这个sudo modprobe kvm-amd //如果你的是AMD处理器就用这个这样就装好了。
下面介绍配置KVM桥接网络的方法特别注意大部分不能桥接无线网卡。
只能桥接PCI网卡。
安装桥接工具代码: sudo apt-get install bridge-utils 安装创建TAP界面的工具代码: sudo apt-get install uml-utilities 编辑网络界面配置文件代码: sudo vi/etc/network/interfaces 根据你的情况加入以下内容代码: auto eth0 iface eth0 inet static 这里可以为DHCP address 192.168.1.2 netmask 255.255.255.0 gateway192.168.1.1 auto tap0 iface tap0 inet manual up ifconfig IFACE 0.0.0.0 up down ifconfig IFACE down tunctl_user lm lm是我的用户名在这里换为你的用户名auto br0 ifacebr0 inet static 当然这里也可以使用DHCP分配bridge_ports eth0 tap0 address192.168.1.3 netmask 255.255.255.0 network 192.168.1.1 broadcast 192.168.1.255 gateway 192.168.1.1 激活tap0和br0: //有些时候会不奏效但重启后就行了代码: sudo /sbin/ifup tap0 sudo /sbin/ifup br0 好了以后ifconfig看一下多了一个tap0和br0 br0上的IP地址就是你本机的IP地址。
KVM虚拟化(⼀)——介绍与简单使⽤⼀、架构及介绍 KVM(Kernel-based Virtual Machine)它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购; ⾃Linux 2.6.20后整合到内核,该内核模块使得 Linux 变成了⼀个 Hypervisor层; 它依托于CPU虚拟化指令集,性能、安全性、兼容性、稳定性表现很好,每个虚拟化操作系统表现为单个系统进程,与Linux安全模块selinux安全模块很好结合; 官⽅⽹站为⼆、KVM的安装(1)安装之前要查看CPU是否⽀持虚拟化,以下命令有输出就代表⽀持虚拟化;如果确定cpu可以⽀持虚拟化,但以上命令没有输出结果,就进⼊bash加载虚拟化1 Intel CPU:2 [root@localhost ~ ]#cat /proc/cpuinfo | grep vmx3 AMD CPU:4 [root@localhost ~ ]#cat /proc/cpuinfo | grep smv5 [root@localhost ~ ]# modprobe kvm #加载kvm模块(2)安装⽅法⽅法⼀:在安装系统的时候,选择桌⾯安装,然后选择虚拟化选项⽅法⼆:在已有系统基础上,安装KVM所需软件。
必安包:qemu-kvm.x86_64 //KVM模块qemu-img.x86_64 //qemu组件,创建磁盘、启动虚拟机等可选⼯具包:yum -y groupinstall "Desktop" //安装GNOME桌⾯环境virt-manager //图形界⾯管理虚拟机⼯具libvirt //图形化虚拟机管理⼯具python-virtinst.noarch //python组件,记录创建VM时的xml⽂件bridge-util.x86.64 //⽹络⽀持⼯具,桥接功能模块libguestfs-tools //⽂件管理⼯具acpid //virsh命令依赖的服务,需要开机启动的,他是⼀个服务,不是⼯具包(3)验证安装结果[root@localhost ~ ]# lsmod | grep kvmkvm_intel 54285 0kvm 333172 1 kvm_intel三、KVM⽹络1、KVM虚拟机⽹络介绍 在libvirt中运⾏KVM⽹络有两种⽅法:NAT和Bridge,默认是NAT(1)NAT模式:即⽤户模式,可以访问外⽹,但是⽆法从外部访问虚拟机⽹络。
联想HX超融合平台部署手册(AHV)目录1前言 (4)1.1培训目的 (4)1.2测试环境 (4)2联想HX综合功能测试 (7)2.1简易安装部署 (7)2.1.1安装准备 (7)2.1.2使用Foundation快速部署AHV &CVM (10)2.1.3快速初始化配置 (20)2.1.4集群健康检查 (21)2.1.5创建虚机 (22)2.2Prism统一管理运维工具 (31)2.2.1Prism主页信息概览 (31)2.2.2查看存储空间使用情况 (32)2.2.3系统健康检查 (34)2.2.4硬件状态检查及查看硬件利用率 (35)2.2.5直观和丰富的报表功能 (37)2.2.6统计分析和告警界面 (38)2.2.7一键式不间断系统升级 (40)2.2.8查看Controller VM 配置 (40)2.2.9命令行交互界面 (40)2.2.10增加节点,扩展集群(可选) (41)2.3其他联想HX功能测试 (41)2.3.1硬件故障辅助定位(LED) (41)2.3.2REST API Explorer -- 查询所有Rest API接口 (42)2.3.3Support Portal -- 打开技术支持中心网站 (43)2.3.4Licensing -- 更新集群License (44)2.3.5Authentication Configuration -- 添加AD域管理验证 (45)2.3.6Create User -- 创建用户 (47)2.3.7SMTP Server -- 配置邮件服务器地址 (48)2.3.8Alert Email Configuration -- 配置告警邮件 (49)2.3.9Alert Policies -- 告警策略配置 (50)2.3.10Filesystem Whitelists -- 文件系统白名单 (50)2.3.11创建Volume Group (51)2.3.12虚机在线迁移 (53)2.3.13定制虚机并创建通用镜像 (55)2.3.14收集集群日志用于售后服务 (58)2.3.15停止集群及关机操作 (60)2.3.16从Esxi的windows 虚机迁移到AHV (61)2.3.17修改CVM/AHV IP 地址(可选) (68)2.3.18备份与灾备功能(可选) (68)2.4小结 (69)3联想HX可靠性及冗余测试 (70)3.1冗余性测试 (70)3.1.1CVM冗余测试 (70)3.1.2电源冗余测试 (71)3.1.3链路冗余测试 (72)3.1.4节点冗余测试 (73)3.1.5磁盘冗余测试 (75)3.2小结 (80)4联想HX平台性能测试 (81)4.1基本I/O性能测试 (83)4.1.14K随机读写性能 (83)4.1.24K随机70%读30%写性能测试 (84)4.1.38K随机70%读30%写性能测试 (85)4.1.4512K连续100%写性能测试 (86)4.1.5512K连续100%读性能测试 (87)4.2小结 (88)5更多参考资料 (89)1前言1.1培训目的此次测试需要达到以下目的:●验证联想HX超融合架构的综合功能●验证联想HX基于KVM的虚拟化管理套件Acropolis Hypervisor的功能特性●验证联想HX融合架构的可靠性及冗余特性●验证在联想HX系统应用的性能表现1.2测试环境联想HX 融合虚拟化平台配置:节点安装AHV 20160217NOS版本:4.6.1.1网络拓扑及地址信息:每个节点各有2个万兆端口,使用个两个万兆口连接G8264交换机万兆口,每个节点IPMI连接G8052交换机千兆口。
配置KVM 虚拟机实验报告一、实验目的在Linux操作系统上,实现KVM+QEMU+Libvirt环境,能够创建虚拟机,并通过virsh对虚拟机进行管理,了解虚拟机的系统架构与基本操作。
二、实验环境主机:CPU: Intel Core i5(双核四线程)MEM: 32GBDisk: 1.5TB虚拟机主机:CentOS 7虚拟化支持:KVM虚拟化需要CPU的硬件虚拟化加速的支持。
这个可以在VMware Workstation的虚拟机设置中开启。
三、实验步骤1、检查CPU虚拟化支持# grep -E 'svm|vmx' /proc/cpuinfovmx 为Intel的CPU指令集2、安装软件包# yum install qemu-kvm libvirt virt-install virt-manager在这条命令中我们安装了qemu-kvm,libvirt,virt-install,virt-manager这四个包。
qemu-kvm包主要包含KVM内核模块和基于KVM重构后的QEMU模拟器。
KVM模块作为整个虚拟化环境的核心工作在系统空间,负责CPU和内存的调度。
QEMU作为模拟器工作在用户空间,负责虚拟机I/O模拟。
依赖包qemu-img主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。
libvirt提供Hypervisor和虚拟机管理的API。
依赖包libvirt-client是KVM客户端命令行管理工具virsh,负责虚拟机的启动、停止和管理等。
virt-install用于创建和克隆虚拟机的命令行工具包。
virt-manager是图形界面的KVM管理工具。
3、激活并启动libvirtd服务# systemctl enable libvirtd# systemctl start libvirtd4、配置桥接网络默认情况下所有虚拟机只能够在host内部互相通信,如果需要通过局域网访问虚拟机,需要创建一个桥接网络。
命令⾏安装kvm虚拟机、桥接⽹络、⽤virt-manager管理宿主机CentOS Linux release 7.2.1511 (Core),内核3.10.0-327.el7.x86_641、配置宿主机⽹络桥接想让虚拟机有⾃⼰的ip且外⽹可访问,需要在安装虚拟机前配置宿主机⽹络(桥接BRIDGE):在⽬录/etc/sysconfig/network-scripts下,将原始的ifcfg-enp2s0重命名ifcfg-enp2s0.old当备份,然后新建ifcfg-enp2s0内容如下:TYPE=EthernetIPV4_FAILURE_FATAL=yesIPV6INIT=noPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesNAME=enp2s0DEVICE=enp2s0ONBOOT=yesBRIDGE=br0NM_CONTROLLED=no再新建ifcgf-br0内容如下:TYPE=BridgePROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=br0DEVICE=br0NM_CONTROLLED=noONBOOT=yesIPADDR=223.129.0.xxxPREFIX=25GATEWAY=223.129.0.xxxDNS1=8.8.8.8IPV6_PRIVACY=noZONE=public重启⽹络:systemctl restart network有时候会报错:Restarting network (via systemctl): Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.ifconfig看到如下信息(要是不对可以尝试重启机器...)br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 223.129.0.xxx netmask 255.255.255.xxx broadcast 223.129.0.xxxinet6 fe80::4a5b:39ff:fea4:3ef0 prefixlen 64 scopeid 0x20<link>ether 48:5b:39:a4:3e:f0 txqueuelen 0 (Ethernet)RX packets 4016129 bytes 379659216 (362.0 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 7392459 bytes 11078132347 (10.3 GiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet6 fe80::4a5b:39ff:fea4:3ef0 prefixlen 64 scopeid 0x20<link>ether 48:5b:39:a4:3e:f0 txqueuelen 1000 (Ethernet)RX packets 4260879 bytes 791804516 (755.1 MiB)RX errors 0 dropped 1092 overruns 0 frame 0TX packets 7528373 bytes 11088764715 (10.3 GiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 02、命令⾏安装kvm虚拟机安装必要的软件这⾥就不说了...ubuntu下(前两条⽤于安装,第三条⽤于启动):1 qemu-img create -f qcow2 /home/kvm/centos7-1511.img 20G2 qemu-system-x86_64 -m 2048 -enable-kvm -hda /home/kvm/centos7-1511.img -cdrom /home/isos/CentOS-7-x86_64-DVD-1511.iso -boot d3 qemu-system-x86_64 -enable-kvm -m 1024 -boot menu=on /home/kvm/centos7-1511.imgcentos下:1 qemu-img create -f qcow2 /home/kvm/centos7-1511.img 20G2 /usr/libexec/qemu-kvm -m 2048 -enable-kvm -hda /home/kvm/centos7-1708.img -cdrom /home/isos/CentOS-7-x86_64-DVD-1511.iso -boot d3 /usr/libexec/qemu-kvm -enable-kvm -m 1024 -boot menu=on /home/kvm/centos7-1511.img如果⽤ubuntu下的命令2在centos下运⾏,会出现问题:1、bash: qemu-system-x86_64: 未找到命令...解决:qemu-system-x86_64是在安装qemu(注意不是qemu-kvm)时⽣成的命令,⽽centos下默认安装的是qemu-kvm包,对应的命令是qemu-kvm。
2012-04-26 10:52在CentOS 6.2 上安装和配置 KVM在CentOS 6.2上安装和配置KVMRHEL6 已经推出很久了,没想到在 RedHat 自家的 RHEL6 上安装 KVM 还有这么多问题,难道不应该是像 Apache/MySQL 那样安装完就可以用的么?(注:除去商标,CentOS 就是 RHEL,CentOS6 和 RHEL6 是一回事)。
以下操作在 CentOS 6.2 最小化安装版本 CentOS-6.2-x86_64-minimal.iso 上完成,其他版本可能不会遇到本文提到的部分问题。
检查 CPU和 Xen 不同,KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持:# egrep '(vmx|svm)' --color=always /proc/cpuinfoflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lmflags : fpuvme de psetscmsrpaemce cx8 apicsepmtrrpgemcacmov pat pse36 clflushdtsacpi mmx fxsrsse sse2 ssht tm syscallnx pdpe1gb rdtscp lm constant_tscidanonstop_tscaratpni monitor ds_cplvmxsmxest tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcntlahf_lm安装KVM安装 KVM 很容易,要正常运行的话还需要折腾一下:#yum -y install qemu-kvmlibvirt python-virtinst bridge-utils安装完后关闭 selinux 并重启系统,然后确认一下是否 kvm 安装成功:#vi /etc/sysconfig/selinuxSELINUX=disabled#reboot#lsmod | grepkvmkvm_intel 50412 3kvm 305988 1 kvm_intel#stat /dev/kvmFile: `/dev/kvm'Size: 0 Blocks: 0 IO Block: 4096 character special fileDevice: 5h/5d Inode: 10584 Links: 1 Device type: a,e8Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 36/ kvm)Access: 2012-04-18 16:00:46.276341129 +0200Modify: 2012-04-18 16:00:46.276341129 +0200Change: 2012-04-18 16:00:46.276341129 +0200再来确认一下 libvirt 是否能正常启动和关闭。
如何使用虚拟机搭建多机集群环境在虚拟机中搭建多机集群环境可以帮助开发人员测试和部署分布式系统。
通过虚拟化技术,可以在单台物理机上创建多个虚拟机,每个虚拟机可以扮演不同的角色,在网络中相互通信,模拟真实的多机环境。
本文将详细介绍如何使用虚拟机搭建多机集群环境。
首先,选择合适的虚拟化软件。
目前市面上比较常用的虚拟化软件有VMware Workstation、VirtualBox、KVM等。
在这里,我们以VirtualBox为例来演示搭建多机集群环境的步骤。
第三步,创建虚拟机。
点击VirtualBox软件界面上的“新建”按钮,输入虚拟机的名称、类型和版本。
在分配内存大小时,根据实际情况设置。
接着,选择创建虚拟硬盘并设置硬盘大小。
最后,选择虚拟机的启动介质,即安装操作系统的安装文件ISO镜像。
点击“创建”按钮完成虚拟机的创建。
第四步,配置虚拟机网络。
在VirtualBox软件中,点击虚拟机列表中的虚拟机,选择“设置”按钮,在“网络”选项卡中选择“网络地址转换(NAT)”或“仅主机(Host-only)”等网络模式。
这样可以让虚拟机在虚拟网络中相互通信,模拟多机环境。
第五步,启动虚拟机。
点击虚拟机列表中的虚拟机,然后点击“启动”按钮,虚拟机将开始启动,进入操作系统安装界面。
按照提示安装操作系统,完成虚拟机的配置。
第六步,复制虚拟机。
在创建好一个虚拟机后,可以通过复制虚拟机的方式创建另外几台虚拟机。
在VirtualBox软件中,选择要复制的虚拟机,点击“复制”按钮,选择“完全复制”或“相同配置复制”等选项,输入新虚拟机的名称和位置,点击“复制”按钮完成虚拟机的复制。
第七步,配置集群环境。
在搭建多机集群环境时,需要配置虚拟机的网络设置,确保虚拟机之间可以相互通信。
可以通过修改虚拟机的网络设置,设置IP地址、子网掩码等信息,或使用集群管理工具进行配置。
第八步,测试集群环境。
在配置好虚拟机的网络设置后,可以测试集群环境是否正常运行。
kvm虚拟化接口创建流程KVM虚拟化接口的创建流程主要包括以下几个步骤:1. 安装KVM软件包2. 检查硬件支持3. 创建网络桥接口4. 创建虚拟机接下来我们将逐一介绍这些步骤的具体操作。
1. 安装KVM软件包KVM是基于Linux内核的虚拟化技术,因此在创建KVM虚拟化接口之前,首先需要安装KVM软件包。
在大多数Linux发行版中,可以使用包管理工具来安装KVM软件包。
例如,在Ubuntu中,可以使用apt命令来安装KVM软件包:```sudo apt-get install qemu-kvm libvirt-bin virtinst```在CentOS中,可以使用yum命令来安装KVM软件包:```sudo yum install qemu-kvm libvirt virt-install```安装完KVM软件包之后,需要启动libvirt服务:```sudo systemctl start libvirtd```2. 检查硬件支持在安装KVM软件包之后,需要检查硬件是否支持虚拟化。
大多数现代的CPU都支持虚拟化技术,但是有一些旧的CPU可能不支持。
可以使用以下命令来检查CPU是否支持虚拟化:```egrep -c '(vmx|svm)' /proc/cpuinfo```如果输出的数字大于0,则表示CPU支持虚拟化技术。
3. 创建网络桥接口在KVM虚拟化中,网络桥接口是用来连接虚拟机和物理网络的重要工具。
创建网络桥接口的步骤可能会有一点不同,根据不同的Linux发行版本。
下面以Ubuntu为例来介绍创建网络桥接口的具体步骤。
首先需要安装bridge-utils软件包:```sudo apt-get install bridge-utils```然后编辑网络配置文件,添加网络桥接口的配置信息:```sudo vi /etc/network/interfaces```在文件中添加以下配置信息:```auto br0iface br0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1bridge_ports eth0bridge_stp offbridge_fd 0bridge_maxwait 0```保存文件并退出编辑器,然后重启网络服务:```sudo systemctl restart networking```通过以上步骤,我们成功创建了网络桥接口。
KVM虚拟化技术之virt-manager使⽤及KVM虚拟化平台⽹络模型介绍⼀.使⽤virt-manager创建和管理虚拟机1.使⽤VNC Viewer连接进⼊虚拟化平台主机2.打开终端输⼊virt-manager命令启动virt-manager虚拟机管理界⾯#virt-manager3.通过virt-manager安装CentOS 6.6的虚拟机点击如图所⽰图标新建虚拟机:选择PXE引导,我的⽹络内存在⼀个系统⾃动化部署服务器:选择操作系统类型和版本:设置内存和CPU个数:设置硬盘⼤⼩,这⾥采⽤动态扩展磁盘空间⽅式:忽略这个错误,由于是虚拟磁盘,不⽤担⼼空间,只需要保证系统空间不会超过物理磁盘实际空间:勾选选项是可以查看配置在安装前:我们可以在这个界⾯进⾏设置,我这⾥就不设置了,直接点击Begin Installation:我们选择安装个基本的系统:进⼊安装了:可以观察安装时Virt-manager界⾯的情况:可以知晓虚拟机正在运⾏,可以查看CPU的使⽤情况:安装完成后如图;关闭虚拟机,在虚拟机输⼊关机指令即可将虚拟机关闭;基于virt-manager创建管理虚拟机就完成了,很简单的。
下⾯的实验我们还是使⽤cirros轻量级的linux系统。
⼆.KVM虚拟化平台的⽹络模型1.⽹络模型介绍⼀般虚拟机虚拟⽹络的设置主要包括三种⽅式。
主要如下:NAT模式也有⼈称此种模式为host模式。
在这种模式下虚拟机可以理解成没有⾃⼰的独⽴⽹卡。
所有访问虚拟机的请求其实是直接发送给宿主机,然后通过访问宿主机转发到虚拟机上的。
相应的虚拟机访问其他⽹络,也是先转发到宿主机然后在转发出去。
对于宿主机之外的⽹络,是不知道该虚拟机存在的。
Bridge模式桥接模式是使⽤⽐较多的模式,它是虚拟机拥有⾃⼰的独⽴⽹卡和IP,然后通过借⽤宿主机的⽹卡对外连接⽹络。
它把宿主机的⽹卡当作了⼀种桥,通过这个桥连接外⽹的世界。
在这种模式下,可以简单的理解成虚拟机和宿主机是两个不同的机器,有独⽴IP可以相互访问。
用红冒系自带的kvm搭建虚拟机实战在2010年4月发布的RHEL 6.0 Beta版中,去掉了Xen,这也许是第一个不包含Xen Hypervisor的知名Linux发行版,之前有报道过Red Hat有可能会在RHEL 6.0中用KVM完全代替Xen,现在看来以前的消息一点不假。
KVM 是指基于 Linux 内核的虚拟机(Kernel-based Virtual Machine)。
增加 KVM 到Linux 内核是 Linux 发展的一个重要里程碑,这也是第一个整合到 Linux 主线内核的虚拟化技术。
在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可以在用户空间启动客户机操作系统。
一个普通的 Linux 进程有两种运行模式:内核和用户。
KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)。
KVM 所使用的方法是通过简单地加载内核模块而将 Linux 内核转换为一个系统管理程序。
这个内核模块导出了一个名为 /dev/kvm 的设备,它可以启用内核的客户模式(除了传统的内核模式和用户模式)。
有了 /dev/kvm 设备,VM 使自己的地址空间独立于内核或运行着的任何其他 VM 的地址空间。
设备树(/dev)中的设备对于所有用户空间进程来说都是通用的。
但是每个打开 /dev/kvm 的进程看到的是不同的映射(为了支持 VM 间的隔离)。
KVM安装 KVM 之后,您可以在用户空间启动客户操作系统。
每个客户操作系统都是主机操作系统(或系统管理程序)的一个单个进程。
图 1 提供了一个使用 KVM 进行虚拟化的视图。
图 1 KVM 原理图一、KVM 虚拟机的管理工具准确来说,KVM 仅仅是 Linux 内核的一个模块。
管理和创建完整的 KVM 虚拟机,需要更多的辅助工具。
QEMU-KVM:在 Linux 系统中,首先我们可以用modprobe 命令加载 KVM 模块,如果用 RPM 安装 KVM 软件包,系统会在启动时自动加载模块。
加载了模块后,才能进一步通过其他工具创建虚拟机。
但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具。
关于用户空间的工具,KVM 的开发者选择了已经成型的开源虚拟化软件 QEMU。
QEMU 是一个强大的虚拟化软件,它可以虚拟不同的 CPU 构架。
比如说在 x86 的 CPU 上虚拟一个 Power 的 CPU,并利用它编译出可运行在Power 上的程序。
KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM 内核模块的用户空间工具 QEMU-KVM。
所以 Linux 发行版中分为内核部分的 KVM 内核模块和 QEMU-KVM 工具。
这就是 KVM 和 QEMU 的关系。
Libvirt、virsh、virt-manager:尽管 QEMU-KVM 工具可以创建和管理 KVM 虚拟机,RedHat 为 KVM 开发了更多的辅助工具,比如 libvirt、libguestfs 等。
原因是 QEMU 工具效率不高,不易于使用。
Libvirt 是一套提供了多种语言接口的 API,为各种虚拟化工具提供一套方便、可靠的编程接口,不仅支持 KVM,而且支持 Xen 等其他虚拟机。
使用 libvirt,你只需要通过 libvirt 提供的函数连接到 KVM 或 Xen 宿主机,便可以用同样的命令控制不同的虚拟机了。
Libvirt 不仅提供了 API,还自带一套基于文本的管理虚拟机的命令 virsh,你可以通过使用 virsh 命令来使用 libvirt 的全部功能。
但最终用户更渴望的是图形用户界面,这就是 virt-manager。
他是一套用 python 编写的虚拟机管理图形界面,用户可以通过它直观地操作不同的虚拟机。
Virt-manager 就是利用 libvirt 的API 实现的。
二、安装配置KVM 相关软件1 系统要求:处理器需求:需要一台可以运行最新linux内核的Intel处理器(含VT虚拟化技术)或AMD处理器(含SVM安全虚拟机技术的AMD处理器, 也叫AMD-V)。
可以使用如下命令检查:# egrep "(vmx|svm)" color=always /proc/cpuinfoflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsseflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse如果输出的结果包含 vmx,它是 Intel处理器虚拟机技术标志;如果包含svm,它是 AMD处理器虚拟机技术标志;。
如果你甚么都得不到,那应你的系统并没有支持虚拟化的处理,不能使用kvm。
另外Linux 发行版本必须在64bit 环境中才能使用KVM。
2 安装软件安装KVM模块、管理工具和libvirt (一个创建虚拟机的工具),我们使用命令行安装:#yum install kvm virt-manager libvirt#/sbin/service libvirtd start3 确定正确加载kvm模块运行命令 lsmod | grep kvm 检查 KVM 模块是否成功安装。
如果结果类似于以下输出,那么 KVM 模块已成功安装:# lsmod | grep kvmkvm_amd 69416 1kvm 226208 2 ksm,kvm_amd4 检查KVM是否成功安装virsh -c qemu:///system list将会显示如下结果:# virsh -c qemu:///system listId Name State如果在这里显示的是一个错误的信息,说明有些东西出现了问题。
三、使用virt-manager建立一个KVM虚拟机virt-manager 是基于 libvirt 的图像化虚拟机管理软件,请注意不同的发行版上 virt-manager 的版本可能不同,图形界面和操作方法也可能不同。
本文使用了红帽6企业版的 virt-manager-0.8.4-8。
创建KVM虚拟机最简单的方法是通过virt-manager接口。
从控制台窗口启动这个工具,从root身份输入virt-manager命令,点击file菜单的"新建"选项virt-manager接口界面如图2。
图2 virt-manager接口界面virt-manager显示两种虚拟化方法:Qemu/KVM或者Xen,这里并选择Qemu/KVM作为hypervisor如图3。
图3 选择Qemu/KVM作为hypervisor红帽企业版 6.0相比上个版本简化了虚拟化配置步骤分成五步:1 选择虚拟机名称和指定一种安装方法:通过网络安装服务器或者本地CD/DVD驱动包括本地ISO文件(这种方法更简单)。
另外新版本还支持网络启动和导入之前建立的虚拟机磁盘如图4。
图4选择虚拟机名称和指定一种安装方法2 输入本地ISO文件路径和文件名如图5图5 输入本地ISO文件路径和文件名选择本地ISO文件3设置虚拟机使用的内存容量和处理器数量如图6。
图6 设置虚拟机使用的内存容量和处理器数量4配置虚拟机的存储方法。
对于存储后端有两种选择:物理存储设备或者使用之前建立磁盘文件。
如果出于简单测试,创建文件作为存储后端。
当创建虚拟磁盘时,默认的10GB如图7。
图7 对于简易安装,选择一个文件作为存储备份后端5 网络配置,在这里选择NAT方式。
下面最后可看到虚拟机信息的概况如图8。
图8 虚拟机信息说明:"在安装前自定义配置"选项提供一些高级自定义配置。
在最后窗口点击完成按钮后,安装将自动开启。
过程跟平时安装普通操作系统一样,不再赘述,不久之后,你的第一台KVM虚拟机的客户机就启动并运行了。
说明这里笔者在KVM 虚拟机中运行的是一个linux 发行版本BackTrack。
BackTrack是精简版Linux系统以及破解软件。
可以利用其破解软件来搜寻和破解无线网络的密码。
运行界面如图9。
图9 KVM虚拟机的客户机四、使用virsh执行高级管理任务virsh的学习曲线非常陡峭。
但是另一种可选方式virt-manager的缺陷还很明显,virt-manager需要在系统内运行,这会浪费资源并为别有目的的人提供额外的进攻点。
virt-manager的另一大缺点是需要通过图形工作站运行远程接入的方式,才能对服务器上的虚拟机进行管理。
而 virsh则可以通过命令行执行各种各样的管理任务。
如先前所说virsh通过主命令和子命令管理每个虚拟机功能。
要学习virsh很困难,因为有许多命令。
virsh通过主命令和子命令管理每个虚拟机功能。
要查看所有命令,输入virsh help。
你可能发现大量命令,不过每个命令都有帮助指南,只需要输入virsh help。
例如使用virsh help uri,就可以看到所有关于virsh uri命令的帮助。
不过一旦你获得一个很强的命令功能,就能获得收益。
下面是virsh命令实例:1创建一个名称是myWin7的windows 7虚拟机使用命令:# yum install virt-viewervirt-install name myWin7 hvm ram 1024 diskpath=/tmp/win7.img,size=10 network network:default vnc os-variant vista cdrom /dev/hdaStarting install...Creating storage file... | 10.0 GB 00:00Creating domain... | 0 B 00:00Domain installation still in progress. Waiting for installation to complete.下面安装将自动开启。