㈠ 如何在linux发行版上安装和配置KVM和Open vSwitch
Linux系统和VMware虚拟机上工作的Open vSwitch
Open vSwitch是一个开源的虚拟交换机,已经成为大多数基于Linux虚拟机的默认选项,如Xen和KVM. 因为Open vSwitch是KVM和Xen的默认虚拟交换机,所以你会发现其几乎都是使用OpenStack安装。Open vSwitch还用于VMware NSX环境中,但是在该环境中由于没有特殊的功能,所以并没有开源发布版本。
搭建Open vSwitch测试网络的第一步
你可以找到几乎所有支持KVM, Xen和VirtualBox等虚拟管理程序的linux发行版Open vSwitch包。如果你想要在 VMware vSphere上运行本地Open vSwitch,你需要让VMware销售人员部署一个NSX POC(proof of concept, 验证性测试)。然而,VMware和其它企业软件供应商一样,把POCs作为销售周期的一部分。这通常需要客户有一定级别的承担能力,包括技术和财政资源保证。而且,还可能包括支付专业服务的能力以及提供一个非生产平台来运行POC.如果你还没有准备好购买POC这个周期,那么你可能需要通过一个Linux发布版本或VMware免费版本来使用细腻交换机。
搭建一个Open vSwitch网络实验室
你可以在供应商提供的一个白盒交换机上运行Open vSwitch代码,或自己用x86硬件搭建一个白盒交换机。然而,在开始运行之前,你可能还需要一个对物理网络硬件访问权限有限的服务器农场或家庭实验室。
好消息是,传统组网需要很多硬件来配置和管理尽可能多的端口,而现在设计虚拟的交换机实验室只需要一台服务器或现代PC机。
一种更为复杂的实验室设计方法是搭建工作站或服务器来运行VMware ESXi, VMware Workstation或VirtualBox.一旦基地管理程序安装好,你就可以部署一个KVM虚拟实例。有了这个KVM虚拟实例,你就可以生成小的虚拟机作为测试节点。这样就已经搭建了一个不错的实验室,但是如果你的工作站有足够的CPU和RAM,你就可以生成第二台有相同配置的KVM.不仅如此,你还可以加入有网络功能的虚拟化设备,如在两台KVM主机环境间添加虚拟防火墙。这种模拟情景需要强大的硬件环境。理想情况下,该系统至少需要一个四核处理器,32GB RAM内存和固态存储设备(SSDs).
一个相对简单的环境需要一个常见的支持虚拟化扩展(AMD-V & Intel VT)部署在x86服务器上的工作站,以及带有8GB RAM内存的传统旋转磁盘。
更常见的配置是在一个系统上运行着虚拟机管理程序,如Virtualbox, Xen或KVM,且环境内有虚拟机和虚拟交换机。通过直接在硬件上安装虚拟机管理程序,就可以搭建一个基础实验室,但系统内至少需要4GB RAM内存。该实验室将包括KVM主机,两个Open vSwitches以及两个供测试用的Linux节点。不过性能可能会有点呆滞,所以建议用比较干净的Linux发行版作为测试节点。如果你只有家用笔记本或台式机,但是其除了这个Open vSwitches实验室还需要处理每天的日常工作,那么可以利用桌面虚拟化解决方案。
㈡ kvm虚拟化技术实现原理
Qemu, PearPC, Bochs, ...
VMWare Workstation, VirtualBox, VMWare Server, Parallels Desktop, KVM(hvm), XEN(hvm)
LXC, OpenVZ, libcontainer, runC, rkt, Linux V Servers, Virtuozzo, ...
wine
jvm, pvm, ...
Type-I:Hypervisor直接运行于硬件;
Type-II:Hypervisor运行主机OS之上;
硬件级物理内存映射到虚拟机
KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。
但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。
KVM模块load进内存之后,系统的运行模式:
扫描物理内存,发现多个虚拟机实例有相同的内存空间,合并成为一个共享内存空间,节省内存。
运行中的一个kvm虚拟机就是一个qemu-kvm进程,运行qemu-kvm程序并传递给它合适的选项及参数即能完成虚拟机启动,终止此进程即能关闭虚拟机;
kvm:核心模块
CentOS 7创建物理桥,使用内核自带的桥接模块实现:
桥接口配置文件保留地址信息;
物理网卡配置文件:
删除地址、掩码和网关等相关的配置,添加
重启网络服务即可:
此时会断网,到虚拟机重启一下,发现已生成网桥,但还要配置网桥的dns,否则无法上网。
其他终端图形登录[root@node-60 ~]# ssh -X [email protected]
参考链接:
http://www.178linux.com/103971
https://www.cnblogs.com/sunhao96/p/7605865.html
https://bbs.csdn.net/topics/391040787
https://www.ibm.com/developerworks/cn/linux/l-pci-passthrough
㈢ linux系统中一个kvm的虚拟机也哪种方式运行
kvm就是个软件,可以在命令行执行,也可以在桌面环境找到位置双击打开。
㈣ 如何在Linux中用命令行工具管理KVM虚拟环境
在Linux中用命令行工具管理KVM虚拟环境的步骤:
第一步: 配置存储池
Virsh命令行工具是一款管理virsh客户域的用户界面。virsh程序能在命令行中运行所给的命令以及它的参数。本节中,要用它给KVM环境创建存储池。想知道关于这个工具的更多信息,用以下这条命令。
# man virsh
1、用virsh带pool-define-as的命令来定义新的存储池,需要指定名字、类型和类型参数。本例中,将名字取为Spool1,类型为目录。默认情况下可以提供五个参数给该类型:
source-host
source-path
source-dev
source-name
target
对于目录类型,需要用最后一个参数“target”来指定存储池的路径,其它参数项可以用“-”来填充。
# virsh pool-define-as Spool1 dir - - - - "/mnt/personal-data/SPool1/"
2、 查看环境中所有的存储池,用以下命令。
# virsh pool-list --all
3、现在来构造存储池了,用以下命令来构造刚才定义的存储池。
# virsh pool-build Spool1
4、用带pool-start参数的virsh命令来激活并启动刚才创建并构造完成的存储池。
# virsh pool-start Spool1
5、查看环境中存储池的状态,用以下命令。
# virsh pool-list --all
会发现Spool1的状态变成了已激活。
6、对Spool1进行配置,让它每次都能被libvirtd服务自启动。
# virsh pool-autostart Spool1
7、最后来看看新的存储池的信息吧。
# virsh pool-info Spool1
恭喜,Spool1已经准备好待命,接下来试着创建存储卷来使用它。
第二步: 配置存储卷/磁盘映像
现在轮到磁盘映像了,用qemu-img命令在Spool1中创建一个新磁盘映像。获取更多细节信息,可以查看man手册。
# man qemu-img
8、应该在qemu-img命令之后指定“create, check,…”等等操作、磁盘映像格式、想要创建的磁盘映像的路径和大小。
# qemu-img create -f raw /mnt/personal-data/SPool1/SVol1.img 10G
9、通过使用带info的qemu-img命令,你可以获取到你的新磁盘映像的一些信息。
查看存储卷信息
警告: 不要用qemu-img命令来修改被运行中的虚拟机或任何其它进程所正在使用的映像,那样映像会被破坏。
现在是时候来创建虚拟机了。
第三步: 创建虚拟机
10、现在到最后一个环节了,在最后一步中,将用virt-install命令来创建虚拟机。virt-install是一个用来创建新的KVM虚拟机命令行工具,它使用“libvirt”管理程序库。想获取更多细节,同样可以查看man手册。
# man virt-install
要创建新的KVM虚拟机,需要用到带以下所有信息的命令。
Name: 虚拟机的名字。
Disk Location: 磁盘映像的位置。
Graphics : 怎样连接VM,通常是SPICE。
vcpu : 虚拟CPU的数量。
ram : 以兆字节计算的已分配内存大小。
Location : 指定安装源路径。
Network : 指定虚拟网络,通常是virbr0网桥。
virt-install --name=rhel7 --disk path=/mnt/personal-data/SPool1/SVol1.img --graphics spice --vcpu=1 --ram=1024 --location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_64-dvd.iso --network bridge=virbr0
创建新的虚拟机
11、会看到弹出一个virt-vierwer窗口,像是在通过它在与虚拟机通信。
㈤ linux下用的是什么虚拟机
Linux系统下常用的虚拟机是KVM(Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块),下面是Linux安装KVM虚拟机方法:
1、看看cpu是否支持kvm
[root@localhost~]#grep-E-o'vmx|svm'/proc/cpuinfo
#结果显示vmx表示支持
2、安装kvm所需要的软件包
[root@localhost~]#yuminstallkvmkmod-kvmqemukvm-qemu-imgvirt-viewervirt-manager
3、安装完确认一下是否安装成功
#检查模块是否有加载
[root@localhost~]#lsmod|grepkvm
kvm_intel852560
kvm2249282ksm.kvm_intel
4、安装桥接管理工具
[root@localhost~]#yuminstallbridge-utilstunctl
5、安装gui管理工具
[root@localhost~]#yuminstallvirt-managervirt-viewer
6、修改网卡文件
[root@localhost~]#vi/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br0
DEVICE=br0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.187
NETMASK=255.255.255.0
TYPE=Bridge
7、 保存网卡配置重启网卡
[root@localhost~]#servicenetworkrestart