虚拟化基础原理 ================================================================================================================================================ 1、MMU:内存管理单元。 I/O{时序复用} 网络IO 硬件IO CPU cpu执行指令。环0:特权指令;环3:用户空间进程执行的指令; 硬件虚拟化 内存 grep -i -E '(vmx|svm|lm)' /proc/cpuinfo modprobe kvm lsmod | grep kvm ls /dev/kvm ll /dev/kvm yum info qemu-kvm lscpu yum install qemu-kvm rpm -ql qemu-kvm yum install libvirt-daemon-kvm virt-manager systemctl start libvirtd.service virsh iface-bridge eth0 br0 virt-manager & ssh -X root@172.18.26.4 Virthal Machine Manager (VMM) {GUI} virtinst virsh Qemu Guest # 创建网桥设备 ================================================================================================================================================ KVM介绍 1、工作原理 KVM(Kernel-base Virtual Machine)。KVM是Linux内核的一个模块,当Linux内核装载了KVM模块后,Linux主机将会变成一个Htpervisor的身份。 而此前Linux主机用户空间转而成为Hypervisor的控制台管理程序的运行位置。通过此前Linux主机用户空间提供的虚拟机管理接口创建的虚拟机 就是直接运行在Hypervisor之上。 KVM依赖于硬件辅助虚拟化技术,Interl VT或AMD AMD-V。 2、KVM组件 /dev/kvm # 工作于hyperevisor,内核空间。在用户空间可通过ioctl()系统调用来完成VM创建,启动等管理功能。是一个字符设备。 quemu进程 # 工作于用户空间,主要用于实现模拟IO设备 3、特性 内存管理:从虚拟机的内存地址到物理内存的映射 4、工具栈 ================================================================================================================================================ 安装配置KVM 1、查看系统是否CPU是否支持硬件辅助虚拟化 cat /proc/cpuinfo | grep "(vmx|svm)" 2、加载相关模块 modprobe kvm modprobe kvm-intel # 查看kvm字符设备 ls /dev/kvm # 查看是否被装载模块 lsmod | grep kvm 3、管理工具 yum grouplist | grep -i "virtualization" Virtualization # qemu-kvm Virtualization Client # python-virtinst、virt-manager、virt-viewer (管理工具) Virtualization Platform # libvirt、libvirt-client (安装工具) Virtualization Tools # libguestfs 4、安装工具 yum install qemu-kvm ln -sv /usr/libexec/qemu-kvm /usr/bin/ ================================================================================================================================================