环境:
CentOS5.5 桌面环境:CentOS5.5(可以为Ubuntu桌面)
2安装 KVM
CentOS 5.2 KVM主机:
运行
system-config-securitylevel
并且开启SELinux(如果你的SELinux被禁用,virt-install将不会正常工作)。
然后检查CPU是否支持硬件虚拟化-运行命令
egrep ‘(vmx|svm)’ –color=always /proc/cpuinfo
应该会显示如下信息:
[root@server1 ~]# egrep ’(vmx|svm)’ –color=always /proc/cpuinfo
flags : 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
flags : 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
[root@server1 ~]#
如果什么也没有显示的话,就说明你的处理器不支持硬件虚拟化技术,下面的内容就不适合你了。
下面我们为软件包导入GPG key
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*
然后安装KVM和virtinst(一个创建虚拟机的工具),我们运行
yum install kvm kmod-kvm qemu libvirt python-virtinst
然后重新启动系统:
reboot
启动过后, KVM的内核模块将会被加载:
lsmod | grep kvm
[root@server1 ~]# lsmod | grep kvm
kvm_amd 50452 0
kvm 109264 1 kvm_amd
[root@server1 ~]#
(这个输出结果是一台拥有AMD-V处理器的系统,如果你的电脑使用的是Intel VT的CPU,将会显示类似kvm_intel字符)
使用下列命令检查KVM是否成功安装
virsh -c qemu:///system list
将会显示如下结果:
[root@server1 ~]# virsh -c qemu:///system list
Id Name State
———————————-
[root@server1 ~]#
如果在这里显示的是一个错误的信息,说明有些东西出现了问题。
下面我们需要在我们的服务器上设置一个网桥,就可以使我们的虚拟机从其他主机中读取数据。
要做到这一点,我们安装bridge-utils工具。。。。。。
yum install bridge-utils
… 并且配置一个网桥从/etc/sysconfig/network-scripts/ifcfg-eth0参考BOOTPROTO, BROADCAST, IPADDR, NETMASK和NETWORK等值来创建文件/etc/sysconfig/network-scripts/ifcfg-br0 :
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
修改/etc/sysconfig/network-scripts/ifcfg-eth0 as follows (取消注释BOOTPROTO, BROADCAST, IPADDR, NETMASK, 和NETWORK 最后添加 BRIDGE=br0):
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
#BOOTPROTO=static
#BROADCAST=192.168.0.255
HWADDR=00:10:A7:05:AF:EB
#IPADDR=192.168.0.100
#NETMASK=255.255.255.0
#NETWORK=192.168.0.0
ONBOOT=yes
BRIDGE=br0
重新启动网络…
/etc/init.d/network restart
… 运行
ifconfig
现在应该显示网桥(br0):
[root@server1 ~]# ifconfig
br0 Link encap:Ethernet HWaddr 00:10:A7:05:AF:EB
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1160 (1.1 KiB) TX bytes:14875 (14.5 KiB)
eth0 Link encap:Ethernet HWaddr 00:10:A7:05:AF:EB
inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13662 errors:7 dropped:160 overruns:4 frame:0
TX packets:11646 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:15144608 (14.4 MiB) TX bytes:1379942 (1.3 MiB)
Interrupt:74 Base address:0xcc00
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:16436 Metric:1
RX packets:38 errors:0 dropped:0 overruns:0 frame:0
TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4308 (4.2 KiB) TX bytes:4308 (4.2 KiB)
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:9987 (9.7 KiB)
[root@server1 ~]#
3 创建虚拟机:(kvm ,img based)
首先wget 下载你想要安装的镜像
下载下来后,执行安装,利用virt-install 指令:
virt-install qemu:///system --name CentOS --ram 512 --cpuset=1,3,5 and 7 --accelerate
--disk path=/docin/VirtualCentOS/CentOS.img,size=50
--network bridge:br0
--cdrom /home/houzhaowei/centosISO/CentOS-5.5-x86_64-bin-DVD-1of2.iso --vnc
其中都有哪些指令 输入man virt-install 可查看,说的非常清楚。
如果用光盘安装, 把 --cdrom 指向cdrom 即可。
输出结果如下所示:
[root@server1 ~]# virt-install –connect qemu:///system -n vm10 -r 512 –vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso –vnc –noautoconsole –os-type linux –os-variant generic26 –accelerate –network=bridge:br0 –hvm
Starting install…
Creating storage file… 100% |=========================| 50 GB 00:00
Creating domain… 0 B 00:00
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
[root@server1 ~]#
表示镜像和域创建完毕,可以准备安装。
此时问题就出来了:本机linux 没有图形界面,该怎么进行安装?解决方案是:用另一台图形化机器的virt-manager 来连接客户机的kvm。
4 在你的CentOS Desktop上安装virt-manager
如果你安装了qemu 和libvirt 则执行:
virt-manager
会出现:
选择文件->新建连接
选择qemu 并在主机名上输入你想连接主机的ip。
连接上后会发现有一个主机在running 然后在上面点右键选择“打开”
会看到控制台:
会出现安装界面(由于我的已经安装完了,所以进去的直接是系统界面。)
从概况 和 硬件 选项中可以看到当前虚拟机的信息。
okay 图形出来了 ,接着就按照安装CentOS的图形界面提示进行安装吧(和真实机安装一样。)
5 管理KVM客户机
CentOS 5.5 KVM 主机:
可以通过 virsh命令管理KVM客户机,”virtual shell”。连接到virtual shell,运行
virsh –connect qemu:///system
下面就是virtual shell的显示界面:
[root@server1 ~]# virsh –connect qemu:///system
Welcome to virsh, the virtualization interactive terminal.
Type: ’help’ for help with commands
‘quit’ to quit
virsh #
现在你可以在virtual shell中输入命令来管理你的客户机,运行:
help
获得更多的命令:
virsh # help
会出现命令列表,很通俗易懂。
virsh #
list
显示所有正在运行的客户机;
list –all
显示所有客户机,正在运行的和没有运行的:
virsh # list –all
Id Name State
———————————-
2 CentOS running
virsh #
如果你修改了一个客户机的xml文件(位于/etc/libvirt/qemu/ 目录),你必须重新定义客户机:
define /etc/libvirt/qemu/vm10.xml
请注意,无论你何时在/etc/libvirt/qemu/ 中修改了客户机的XML文件,你必须重新运行define 命令!
启动和停止客户机,运行:
start CentOS
停止一个客户机,运行
shutdown CentOS
立即中断一个客户机(类似直接关电源),运行
destroy CentOS
挂起一个客户机:
suspend CentOS
恢复客户机:
resume CentOS
编辑客户机:
edit CentOS 会出席那关于该虚拟机配置的xml 文件,在里面可以修改所有属性,cpu,内存等。。。 保存后重启虚拟机即可。
这些都是最重要的命令.
输入
quit
退出virtual shell.
6 复制虚拟机
此时产生了个新需求,需要在多台服务器上搭建虚拟的Centos 怎么办?都重新安装一遍?
答案是:不用。
把本机器已经安装好的CentOS.img copy 到另一台服务器,当然这台机器上必须已经安装好了kvm qemu和libvirt。
然后在新服务器上执行:
virt-install qemu:///system --name CentOS1 --ram 4096 --cpuset=1,3,5 and 7 --accelerate
--disk path=/docin/VirtualCentOS/CentOS.img --import
--network bridge:br0
注意 ,这里使用了 --import
具体描述 可以用 virt-install -h 来查看 --import 的作用。
ps: 有一个virt-clone 指令,貌似只能本机clone。没详细研究过。
分享到:
相关推荐
Linux内核虚拟机(KVM,Kernel-based Virtual Machine)是Linux操作系统中的一种内核级虚拟化技术,自Linux内核2.6.20版本开始集成。KVM的出现极大地推动了Linux虚拟化的普及,因为它允许Linux主机操作系统直接运行...
KVM是Linux内核中的一个模块,它使得Linux操作系统能够作为一款全功能的虚拟化平台。NVIDIA vGPU驱动与KVM结合,可以提供高性能的GPU虚拟化服务,让每个虚拟机都能享受到接近物理GPU的性能。 在安装过程中,首先...
3. "NVIDIA-Linux-x86_64-470.63-vgpu-kvm.run" 这个文件同样是针对64位Linux系统,但特别注明了是用于VGPU和KVM环境的驱动,意味着它是专门针对Linux KVM虚拟化平台优化的版本。 安装和配置NVIDIA GRID 驱动通常...
NVIDIA GRID Linux KVM 驱动是专为虚拟化环境设计的一款图形处理单元(GPU)驱动程序,它使得在Linux系统中运行的KVM(Kernel-based Virtual Machine)虚拟机可以充分利用NVIDIA GPU的硬件加速功能。这个压缩包包含...
NVIDIA GRID 是一款专为数据中心和云计算环境设计的解决方案,它允许通过虚拟化技术将GPU的强大性能分配给多个虚拟机(VMs)。此压缩包"NVVIDIA-GRID-Linux-KVM-470.63-470.63.01.zip"包含了与NVIDIA GRID相关的两个...
Linux 内核虚拟化可以分为两大类:一是基于硬件的虚拟化技术,二是基于软件的虚拟化技术。基于硬件的虚拟化技术可以直接使用硬件提供的虚拟化功能,而基于软件的虚拟化技术则需要通过软件来模拟硬件的虚拟化功能。 ...
KVM(Kernel-based Virtual Machine)是 Linux 内核虚拟化解决方案,提供了一个基于硬件的虚拟化环境。下面是 KVM 虚拟化环境的安装、搭建和使用方法: 一、环境要求 * 操作系统:RHEL 5.4 64 位系统以上版本 * ...
KVM 是基于 Linux 内核的虚拟机解决方案,使用 QEMU 提供的虚拟化技术来虚拟化硬件资源。 云虚拟机 KVM 的实现机制主要包括以下几个方面: 1. KVM 核心组件:Mesos、KVM 框架、Libvirt 和 etcd。Mesos 负责资源的...
QEMU-kvm是QEMU与KVM的结合,利用了Linux内核的虚拟化扩展,从而提供高性能的全虚拟化能力。 QEMU是一个通用的、基于CPU模拟的系统模拟器,它能够模拟多种处理器架构,如x86、ARM、MIPS等。通过QEMU,用户可以在一...
KVM 虚拟机-CentOS6.3 KVM(Kernel-based Virtual Machine)是一种基于 Linux ...KVM 虚拟机是基于 Linux 内核的虚拟机技术,提供了强大的虚拟化能力,可以在服务器上安装和管理虚拟机,提供了灵活的虚拟化解决方案。
KVM(Kernel-based Virtual Machine)是一种基于Linux内核的全虚拟化技术。它实际上只是Linux内核中的一个模块,本身并不能直接用于创建和管理虚拟机。为了实现完整的虚拟机管理功能,还需要借助一系列的辅助工具。 ...
其中,KVM(Kernel-based Virtual Machine)作为Linux内核的一个模块,为用户提供了全虚拟化的功能。而libvirt作为一个强大的管理工具,不仅支持KVM,还支持多种其他的虚拟化技术,如Xen和QEMU等。本文将详细介绍...
KVM通过在Linux内核中集成虚拟化功能来实现,具体结构如下: - **KVMDriver**:作为Linux内核的一部分,主要负责虚拟机的创建、虚拟内存的分配、虚拟CPU寄存器的读写以及虚拟CPU的运行等任务。 - **QEMU**:经过...
KVM是一种基于Linux内核的全虚拟化解决方案,它允许Linux内核直接支持虚拟化功能,无需额外的软件层。KVM的性能非常高,因为它直接利用了现代CPU的虚拟化扩展特性(如Intel VT-x或AMD-V)。 ##### 2.2 KVM的技术...
- `NVIDIA-Linux-x86_64-460.32.04-vgpu-kvm.run`:这是另一个版本为460.32.04的驱动,专为KVM(Kernel-based Virtual Machine)虚拟化平台设计,提供vgPU支持。KVM是Linux内核中的一个模块,能将Linux转变为一个...
### Linux内核虚拟化KVM详解 #### KVM概述 KVM(Kernel-based Virtual Machine),即基于内核的虚拟机,是一种嵌入在Linux内核中的全虚拟化技术。KVM首次出现在Linux 2.6.20内核中,并且自那时以来,随着Linux内核...
KVM(Kernel-based Virtual Machine)是一种基于内核的虚拟机,能够在Linux操作系统上运行多个虚拟机。KVM的工作流程是用户模式的qemu利用libkvm通过ioctl进入内核模式,kvm模块为虚拟机创建虚拟内存,虚拟CPU后执行...
首先,KVM是一种基于Linux内核的虚拟化技术,它允许Linux系统直接运行多个独立的虚拟机,每个虚拟机都如同一个独立的操作系统实例,拥有自己的CPU、内存和I/O设备。KVM利用Linux内核的硬件辅助虚拟化功能,实现了...
1. **KVM内核模块**:这是KVM的核心,它被加载到Linux内核中,使内核具备虚拟化能力。KVM模块利用Intel的VT(Virtualization Technology)或AMD的V(Virtualization)硬件扩展,提供硬件辅助虚拟化支持,提高性能和...
Linux KVM 虚拟化架构 ...Linux KVM 虚拟化架构是基于 CPU 硬件支持的虚拟化技术,依赖 KVM 模块和 QEMU 工具,使用 libvirt 来屏蔽掉不同类型的虚拟化工具的差异,提供了 virsh 命令和 VMM 图形界面来管理虚拟机。