KVM虚拟机


   一 KVM虚拟机简介  
kernel-based Virtual Machine的简称,是一个开源的 系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于 软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到 进程调度器, 存储管理模块等,所以代码较为庞大。广为流传的 商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
二 KVM虚拟机安装与使用
1 前期准备
1.1确定机器有VT
终端输入命令:   grep vmx /proc/cpuinfo   (INTEL芯片)
grep  svm /proc/cpuinfo   (AMD芯片)
不知道芯片的生产厂商则输入:egrep '(vmx| svm)' /proc/cpuinfo
如果flags: 里有vmx 或者 svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。
1.2 确保BIOS里开启VT:
Intel(R) Virtualization Tech [Enabled]
如有必要,还需在BIOS中开启VT-d
1.3 确保内核版本较新,支持KVM
用uname –r查看 内核版本,如果在2.6.20以下的linux版本,需升级内核。
2安装KVM
下面就Ubuntu和CentOS下安装使用KVM虚拟机做介绍:
Ubuntu 中用guest登陆,安装KVM的命令为:
sudo  apt-get install  kvm qemu qemu-kvm virt-manager  kernel-package linux-source kqemu-source build-essential
kvm安装成功后会有/dev/kvm,如果无需图形管理器,只需要安装前三个即可。
再来查看下KVM是否安装成功,执行:virsh -c qemu:///system list
如果输入结果像下面这样的,那么成功了:
Connecting to uri: qemu:///system
Id Name                 State
----------------------------------
注1:CentOS中安装时,先要选择Selinux为enalble,使用命令
#system-config-securitylevel-tui
可查看或修改selinux的状态。
注2: CentOS中用root登陆时则安装命令为:
Yum install kvm kmod-kvm qemu
再装入kvm模块:modprobe kvm-intel (Intel机器) 或者 modprobe kvm-amd (amd机器)
注3:可以用以下命令来检查是否装入kvm模块:
/sbin/lsmod | grep kvm
如果输出关于kvm版本的信息则已装入kvm模块
注4: 安装好后,可使用qemu-kvm命令,输入该命令,如果系统显示未知的命令,可查看/usr/libexec中是否有qemu-kvm 可执行文件,如果有,将其拷贝到/bin目录下即可。如果确实按照上面的步骤进行了,却在/bin,/usr/libexec,/usr/bin,/usr/sbin里都找不到qemu-kvm 可执行文件,可执行以下命令:
#yum provides "*/qemu-kvm"
注5:安装新 内核后,可能有部分 软件版本过低,不兼容。比如firefox因版本过低,无法启动。
CentOS下可使用如下命令更新该 软件(以firefox为例):
#yum update firefox
3 在KVM下安装虚拟机
3.1用QEMU创建磁盘镜像
sudo qemu-img create –f qcow windows.img 8G
注:在CentOS和新版Qemu中为:qemu-img create –f qcow2 windows.img 8G
3.2使用KVM安装Guest VM
光盘安装:
sudo kvm –localtime –cdrom /dev/cdrom -m 512 -boot d win2.img
sudo kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –clock –rtc –no-acpi
注:官方推荐使用 -no-acpi 参数,原因是 qemu/kvm不太支持,可能造成 cpu 的占用偏高。
注1:CentOS下硬盘安装 qemu-kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d  –no-acpi      即需要去掉了-clock rtc选项,否则会出现无法初始化时钟。
注2:CentOS quest mouse: export SDL_VIDEO_X11_DGAMOUSE=0可解决VM中无法识别USB鼠标的问题。
注3: 安装win 7时,不能使用-no-acpi选项。
4 KVM启动Guest
 sudo kvm  –boot c –m 512
–hda windows.img
② sudo kvm -boot c
-m 512
-hda /home/lm/kvm/winxp.img
-localtime
-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no
-clock rtc
-soundhw es1370
-smp 2
注意:在KVM-87下,请去掉df=h
-m 512 分配512MB的内存
-hda /home/lm/kvm/winxp.img
-localtime 使用本地时间(一定要加这个参数,不然虚拟机时间会有问题)
-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tapo,script=no
使用网络,并连接到一个存在的网络设备tap0,注意mac地址一定要自己编一个,特别是如果你虚拟了多个系统并且要同时运行的话,不然就MAC冲突了,在KVM-87下去掉df=h
-boot d 从 光盘启动 (从 镜像启动也是用这个。从硬盘启动则为 -boot c )
-smp 2 smp处理器个数为2个,如果你是4核处理器,后面的数字就为4
-clock rtc
使用rtc时钟(如果不开启此选项,WINXP可能会很慢)
<think>好的,我现在需要处理用户关于KVM虚拟机的查询。首先,用户希望得到使用指南或配置教程,所以我得整理相关信息。根据系统指令,我需要确保回答结构清晰,使用正确的中文,并生成相关问题。同时,引用用户提供的三个参考资料。 首先,我要确定用户可能需要的步骤。安装KVM和相关工具应该是第一步,这里引用参考3提到的软件包:qemu-kvm、libvirt-daemon和virt-manager。接下来是创建虚拟机的两种方法:命令行和图形界面。用户提供的引用1提到命令行操作,而引用2和3提到了图形界面工具如virt-manager,所以需要涵盖这两种方式。 然后,网络配置和管理命令也是关键部分。需要说明默认网络配置以及如何修改,引用1和3可能涉及这部分内容。管理命令如virsh和virt-install需要详细说明,引用1中的命令行操作和引用3中的libvirt工具相关。 此外,高级配置如存储池、快照和CPU绑定可能需要简要提及,并引导用户进一步学习。最后,按照用户要求生成相关问题,这些问题应基于回答的内容,例如安装问题、网络配置、管理工具比较等。 需要确保所有技术术语正确,LaTeX格式正确应用,比如命令行代码用代码块,独立公式用$$...$$(虽然这里可能用不上数学公式)。同时,检查引用标识是否正确添加到对应的位置,例如安装步骤引用参考3,命令行创建引用参考1和3,图形界面引用参考2和3。 最后,生成的相关问题要覆盖用户可能感兴趣的后续步骤,比如性能优化、网络配置、不同管理工具比较等,确保问题具有实际帮助。</think>### KVM虚拟机使用与配置指南 #### 一、环境准备 1. **硬件支持检查** ```bash egrep -c '(vmx|svm)' /proc/cpuinfo # 输出大于0表示支持虚拟化 lsmod | grep kvm # 检查KVM模块是否加载 ``` 2. **软件包安装** 安装核心组件(Ubuntu/Debian示例): ```bash sudo apt-get install qemu-kvm libvirt-daemon-system virt-manager bridge-utils ``` 该命令包含: - $qemu-kvm$:硬件虚拟化核心组件[^3] - $libvirt-daemon$:虚拟机管理守护进程 - $virt-manager$:图形化管理界面[^3] #### 二、虚拟机创建 **方法1:命令行创建**(引用[1][3]) ```bash virt-install \ --name=ubuntu-vm \ --ram=2048 \ --vcpus=2 \ --disk path=/var/lib/libvirt/images/ubuntu.qcow2,size=20 \ --os-type=linux \ --os-variant=ubuntu22.04 \ --network bridge=virbr0 \ --graphics spice \ --location=http://archive.ubuntu.com/ubuntu/dists/jammy/main/installer-amd64/ ``` **方法2:图形界面创建**(引用[2][3]) 1. 启动virt-manager ```bash sudo virt-manager ``` 2. 通过向导完成: - 选择安装介质(ISO镜像) - 配置虚拟CPU/内存 - 设置虚拟磁盘类型(推荐qcow2) #### 三、网络配置 ```bash virsh net-edit default # 编辑默认NAT网络配置 virsh net-start default # 启动虚拟网络 ``` 典型网络模式: - **NAT模式**:默认配置,虚拟机共享宿主机IP - **桥接模式**:虚拟机获取独立IP - **隔离网络**:仅虚拟机间通信 #### 四、常用管理命令 | 命令 | 功能 | 示例 | |------|------|------| | `virsh list` | 查看运行中的虚拟机 | `virsh list --all` | | `virsh start` | 启动虚拟机 | `virsh start ubuntu-vm` | | `virsh shutdown` | 安全关机 | `virsh shutdown ubuntu-vm` | | `virsh destroy` | 强制停止 | `virsh destroy ubuntu-vm` | | `virsh edit` | 修改配置 | `virsh edit ubuntu-vm` | #### 五、高级配置 1. **存储池管理** ```bash virsh pool-define-as default dir - - - - "/var/lib/libvirt/images" virsh pool-start default ``` 2. **虚拟机快照** ```bash virsh snapshot-create-as ubuntu-vm first-snap virsh snapshot-revert ubuntu-vm first-snap ``` 3. **CPU绑定** ```xml <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='2'/> <vcpupin vcpu='1' cpuset='3'/> </cputune> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值