本文主要介绍如何在CentOS7中搭建KVM虚拟化平台(三种方式)。通过示例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。下面让我们跟随边肖一起学习。
KVM的全称是基于内核的虚拟机。它是Linux的一个内核模块,使Linux成为一个Hypervisor:它是由Quramnet开发的,quramnet在2008年被红帽收购。
科索沃核查团的总体结构:
从GUI到Linux内核,它包括以下五个组件:
1)虚拟经理
用于管理虚拟机的GUI/CUI用户界面;它使用libvirtapi来调用VM的各种函数。
2)libvirt
一个工具和接口,作为通用的服务器虚拟化软件,支持Xen,VMwareESXi/GSX,当然还有QEMU/KVM。
3)QEMU
与KVM内核模块交互的模拟器,用于处理各种客户端系统请求,如I/O;QEMU进程对应于一个客户端系统。
4)KVM内核模块
从狭义上讲,KVM是一个Linux内核模块,它处理客户机系统的VM出口并执行VM入口指令。
5)Linux内核
由于QEMU作为普通的用户进程运行,相应的客户机系统的调度由Linux内核本身处理。
的所有组件都是开源软件(OSS)。
安装KVM:
环境要求:
1.如果是物理服务器,需要在BIOS中开启虚拟化技术,一般服务器默认开启。
2.如果使用VMwareWorkstation进行实验,要构建的虚拟机的CPU应该检查虚拟化功能,以便虚拟机可以支持KVM虚拟化。
安装方法:
最简单的安装方法就是在安装系统的时候安装虚拟化功能。这里以CentOS7.3为例。在选择安装包时,只需如下图所示选择即可。选择“带GUI的服务器”并选中“虚拟化客户端”、“虚拟化管理程序”和“虚拟化工具”
如果您的系统是最低安装,您应该安装以下必需的软件:
#yumgroupinstall"GNOME桌面"//安装GNOME桌面环境检查cpu是否支持
#grep-E'svm|vmx'/proc/cpuinfo -vmxisforIntelprocessors -svmisforAMDprocessors安装虚拟化软件
#yuminstallepel-rpm-macros.noarch//安装epel源 #yuminstallqemuqemu-imgqemu-kvmlibvirtlibvirt-pythonlibguestfs-toolsvirt-install #yuminstallvirt-managervirt-viewer//安装图形化工具 #systemctlenablelibvirtd #systemctlstartlibvirtd检查是否安装了KVM模块
[root@localhost~]#lsmod|grepkvm kvm_intel1742500 kvm5706581kvm_intel irqbypass135031kvm首先,使用图形界面创建一个虚拟机
1.虚拟机创建前的准备工作:
(1) *** 作系统安装介质:ISO文件,将系统镜像文件复制到/kvm/iso目录下。
[root@localhost~]#mkdir/kvm/iso-p [root@localhost~]#umount/dev/sr0 [root@localhost~]#cp/dev/sr0/kvm/iso/Centos7.iso(2)盘间准备空:
添加新磁盘
创造LVM
创建文件系统和挂载点,并在启动时设置自动挂载。
pvcreate/dev/sdb vgcreatekvm_vg/dev/sdb lvcreate-nkvm_lv-L100Gkvm_vg mkdir/kvm/vfs mount/dev/kvm_vg/kvm-lv/kvm/vfs(3)使用virt-manager图形界面创建
Virt-manager是一款基于libvirt的图形化虚拟机管理软件。在命令行中以root身份输入virt-manager命令,将出现virt-manager管理界面。
创建一个镜像存储池,命名为iso,目录为/kvm/iso,用于放置kvm虚拟机以后使用的iso光盘镜像文件。
创建一个存储池,命名为vfs,目录为/kvm/vfs,创建一个存储卷,实际上是kvm虚拟机的硬盘文件。
在虚拟系统管理器中选择“新虚拟机”和“本地安装介质”。
选择ISO映像文件。
选择内存大小、CPU数量
选择虚拟机磁盘文件。
命名虚拟机,然后单击完成。
点击后,虚拟机将被创建,然后按照 *** 作系统。
二。使用命令行模式创建虚拟机
1、使用qemu-img命令可以创建磁盘文件1。使用qemu-img命令创建一个磁盘文件
以原始格式创建磁盘文件
[root@localhost~]#qemu-imgcreate/kvm/vfs/vm1.raw20G将磁盘格式转换为qcow2
[root@localhost~]#qemu-imgconvert-fraw-Oqcow2/kvm/vfs/vm1.raw/kvm/vfs/vm1.qcow2直接创建一个qcow2格式的磁盘文件。
[root@localhost~]#qemu-imgcreate-fqcow2/kvm/vfs/vm1.qcow220G2。使用virt-install命令创建虚拟机
常规选项:
-n-n名称,-name=NAME虚拟机名称
-r-rMEMORY,-ram=为客户端事件分配的内存,以MB为单位。
-vcpu=vcpu配置虚拟机的虚拟CPU(vcpu)数量,例如:
-vcpu5
-vcpu5,maxcpus=10
-vcpu插槽=2,内核=4,线程=2
-cpuset=CPUSET设置哪个物理CPU域可以使用。
-CPU=CPUCPU型号和功能,如:-CPUcoreduo,+x2apic
-description=DESCRIPTION保存在生成的XML中的可读VM描述。
-security=SECURITY设置域安全驱动器配置。
-NUMAtune=NUMATUNE为域进程调整numa策略。
安装方法选项:
-c-cCDROM,-cdrom=CDROM光驱安装介质
-l位置,-位置=位置
安装源(例如:nfs:host:/path,http://host/path,ftp://host/path)
-pxe使用pxe协议从网络启动。
-导入以在磁盘映像中构建客户端。
-LiveCD将光驱媒体视为LiveCD。
-xEXTRA,-extra-args=EXTRA
附加到使用-location引导的内核的参数
-OS-TYPE=发行版类型
*** 作系统类型,'linux','unix','windows'
-OS-VARIANT=发行版_变体
*** 作系统版本,如:'Fedora6','Rhel5','Solaris10','Win2k'
-boot=BOOTOPTS自行选择配置,然后安装引导序列、菜单、永久内核引导等。
存储配置:
-disk=DISKOPTS用各种选项指定存储。《出埃及记》
-磁盘路径=/my/existing/disk
-diskpath=/my/new/disk,format=qcow2,size=5,spare(GB)
-diskvol=poolname:volname,device=cdrom,bus=scsi,...
-nodisks不为此客户端设置任何磁盘。
-文件系统=文件系统
将主机目录传递给虚拟机。例如:
-文件系统/我的/源/目录,/目录/in/guest
-文件系统模板名称,/,类型=模板
网络配置:
-w网络,-网络=网络
配置客户网络接口。例如:
-网桥=mybr0
-networknetwork=my_libvirt_virtual_net
-networknetwork=mynet,model=virtio,mac=00:11...
-非网络不为此对象创建网络接口。
图形配置:
-图形=图形
配置虚拟机显示设置。例如:
-图形vnc
-图形spice,端口=5901,tlsport=5902
-图形无
-图形vnc,password=foobar,port=5910,keymap=ja
-noautoconsole不要自动尝试连接到客户端控制台。
选项:
-serial=SERIALS配置虚拟机串行设备。
-parallel=PARALLELS配置虚拟机并行端口设备。
-channel=CHANNELS配置虚拟机通信通道。
-console=CONSOLES配置虚拟机和主机之间的文本控制台连接。
-host-device=hostdevs配置连接到客户的物理主机设备。
-soundhw=SOUNDHW配置客户的声音设备模拟。
-watchdog=WATCHDOG配置虚拟机看门狗设备
-video=VIDEO配置虚拟机视频硬件。
-智能卡=智能卡配置虚拟机智能卡设备。
示例:-智能卡模式=直通
-redirdev=REDIRDEV配置来宾重定向设备。
示例:-redirdevUSB,type=TCP,server=192.168.1.1:4000
虚拟化平台选项:
-v,-HVM客户端应该是完全虚拟的客户端。
-p,-paravirt该客户端是半虚拟客户端。
-container该来宾应该是容器来宾
-virt-type=HV_type要使用的虚拟机管理程序的名称(kvm、qemu、xen)
-arch=ARCH模拟CPU架构
-machine=MACHINE要模拟的机器类型
-noACPI对所有虚拟客户端禁用ACPI(覆盖 *** 作系统类型/ *** 作系统变体数据库中的值)
-u-uUUID,-UUID=UUID客户端UUID。
其他选项:
-autostart在主机启动时自动启动域。
-print-XML输出生成域的XML,而不是定义虚拟机。
-print-step=xmlstep输出具体的安装步骤。
-不要在-noreboot完成安装后启动虚拟机。
-WAIT=等待时间(分钟)
-模拟运行完成安装步骤,但不创建设备或定义虚拟机。
-强制对任何应用程序提示回答“是”,并终止其他提示。
-q,-quiet禁止无错输出。
-提示要求用户输入模糊情况或必需选项。
-d,-debug输入故障排除信息
3。使用纯命令行安装虚拟机
[root@localhost~]#qemu-imgcreate-fqcow2/kvm/vfs/vm2.qcow220G [root@localhost~]#virt-install-nvm2\定义虚拟机名>-r1024\内存大小
>-vcpus1\CPU号
>-l/kvm/iso/Centos7.iso\ISO位置
>-diskpath=/KVM/VFS/vm2.qcow2,format=qcow2\磁盘文件位置和格式
>-nographics\不需要图形化安装。
>-xconsole=ttyS0允许您使用控制台终端登录虚拟机。
执行命令,安装 *** 作系统,并根据需要调整以下配置参数。
4。由VNC创建虚拟机系统
[root@localhost~]#qemu-imgcreate-fqcow2/kvm/vfs/vm3.qcow220G [root@localhost~]#virt-install-nvm3\定义虚拟机名>-r1024\内存大小
>-vcpus1\CPU号
>-l/kvm/iso/Centos7.iso\ISO位置
>-diskpath=/KVM/VFS/vm3.qcow2,format=qcow2\磁盘文件位置和格式
>-图形VNC,监听=0.0.0.0,端口=5924,\VNC安装,使用端口5924
>-无自动控制台\不要自动尝试连接到客户端控制台
>-加速\加速安装
>-autostart在引导主机时自动启动域。
[root@localhost~]#firewall-cmd--add-port=5924/tcp允许vnc连接使用vnc客户端软件进行连接和安装
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)