服务热线
198-9911-5815
虚拟主机域名注册-常见问题 → 虚拟主机问题 → 虚拟主机问题 | ||||
1 KVM是什么 KVM(Kernel-based Virtual Machine, 即内核级虚拟机) 是一个开源的系统虚拟化模块。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。目前KVM已成为学术界的主流VMM之一,它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko 或 kvm-amd.ko)。kvm还需要一个经过修改的QEMU 软件(qemu-kvm),作为虚拟机上层控制和界面。KVM的虚拟化需要硬件支持(如 IntelVT技术或者AMD V技术)。是基于硬件的完全虚拟化。 KVM可以运行多个其本身运行未改动的镜像的虚拟机,例如Windows,Mac OS X ,每个虚拟机都有各自的虚拟硬件,比如网卡、硬盘核图形适配 器等。 KVM和QEMU的关系 QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。而KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT), AMD SVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案:KVM+QEMU。 2 kvm相关安装包及其作用 qemu-kvm 主要的KVM程序包 python-virtinst 创建虚拟机所需要的命令行工具和程序库 virt-manager GUI虚拟机管理工具 virt-top 虚拟机统计命令 virt-viewer GUI连接程序,连接到已配置好的虚拟机 libvirt C语言工具包,提供libvirt服务 libvirt-client 虚拟客户机提供的C语言工具包 virt-install 基于libvirt服务的虚拟机创建命令 bridge-utils 创建和管理桥接设备的工具 3 安装kvm 1)检查cpu是否支持虚拟化 [root@kevin ~]# grep vmx /proc/cpuinfo 如果有vmx信息输出,就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。 2)确保BIOS里开启虚拟化功能,即查看是否加载KVM模块 [root@kevin ~]# lsmod | grep kvm kvm_intel 170086 0 kvm 566340 1 kvm_intel irqbypass 13503 1 kvm =========================================================如果没有加载,运行以下命令: [root@kevin ~]# modprobe kvm [root@kevin ~]# modprobe kvm-intel [root@kevin ~]# lsmod | grep kvm kvm_intel 170086 0 kvm 566340 1 kvm_intel irqbypass 13503 1 kvm ========================================================= 内核模块导出了一个名为/dev/kvm的设备,这个设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间。 [root@kevin ~]# ll /dev/kvm crw-rw-rw-. 1 root kvm 10, 232 1月 29 11:56 /dev/kvm 4 安装 yum install -y qemu-kvm qemu-kvm-tools yum install -y libvirt yum install -y virt-install yum install -y python-urllib3 虚拟机安装日志查看 /var/log/libvirt/qemu/centos7_15.log 以下选择的类型是 --virt-type kvm 和之前测试的不一样 qemu-img create -f raw /home/vm/centos7_15.raw 500G virt-install \ --virt-type kvm \ --name centos7_15 \ --vcpus 8 \ --memory 32768 \ --cdrom=/home/vm/CentOS-7-x86_64-Minimal-1511.iso \ --disk path=/home/vm/centos7_15.raw \ --network bridge=br0 \ --graphics vnc,listen=0.0.0.0 \ --os-type=linux \ --os-variant=rhel7 注意: 以上选择的virt-type是kvm,如果选择的是qemu,会报内存分配错误 tcmalloc: large alloc 2013265920 bytes == 访问外部网络 iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o eno1 -j MASQUERADE 外网访问内部 iptables -t nat -A PREROUTING -i eno1 -d 172.16.2.164 -p tcp --dport 53325 -j DNAT --to-destination 192.168.33.15:22
|
||||
>> 相关文章 | ||||
没有相关文章。 |