• Centos 7 下的KVM虚拟机


    一 什么是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系列是基于软件模拟的Full-Virtualization。

    二 确认CPU指令集:

    # 硬件的BIOS要打开支持虚拟化选项, 虚拟机软件也要打开响应选项
    [root@srv-1 ~]# grep -E "vmx|svm" /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 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt arat
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt arat
    
    [root@srv-1 ~]# grep -E "vmx|svm" /proc/cpuinfo | wc -l
    2
    
    

    三 安装KVM工具包:

    # 3.1 安装并启动依赖和网卡:
    yum install -y qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install
    systemctl start libvirtd
    systemctl enable libvirtd
    
    # 3.2 安装成功后启动一个NAT网卡:
    [root@srv-1 ~]# ifconfig virbr0     #生成NAT网卡
    virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
            ether 52:54:00:04:7f:4e  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    # 3.2  virbr0 网络配置文件:
    [root@srv-1 ~]# grep "192.168.122.1" /etc/libvirt/ -R  
    /etc/libvirt/qemu/networks/autostart/default.xml:  <ip address='192.168.122.1' netmask='255.255.255.0'>
    /etc/libvirt/qemu/networks/default.xml:  <ip address='192.168.122.1' netmask='255.255.255.0'>        
            
    

    四 创建NAT网络虚拟机:

    # 4.1 )  虚拟机磁盘保存路径:
    [root@srv-1 ~]# ll /var/lib/libvirt/images/     # 默认保存虚拟机磁盘的路径
    total 0
    
    # 4.2 )  磁盘格式介绍:
    raw:  制定多大就创建多大,直接占用制定大小的空间。 性能最好,占用空间最大,可以进行格式转换
    cow:   写时拷贝的镜像格式,不支持窗口模式,从某种意义上已经被废弃,目前被qcow格式所取代。
    qcow:  一代的qemu的cow格式,刚刚出现的时候有比较好的特性,但性能和RAW格式迪比还是有很大的差距,目前已经被新版本的qcow2取代。
    qcow2: 是openstack默认也是比较推荐的格式,将差异保存在一个文件,比较比较小而且做快照也比较小,空间的动态增长的.
    vmdk:   vmware 搞得格式
    
    # 4.3 )  创建磁盘或者转换磁盘格式命令:
    [root@srv-1 ~]# qemu-img create -f raw /var/lib/libvirt/images/centos.raw 10G
    Formatting '/var/lib/libvirt/images/centos.raw', fmt=raw size=10737418240 
    [root@srv-1 ~]# ll -h /var/lib/libvirt/images/centos.raw 10G
    ls: cannot access 10G: No such file or directory
    -rw-r--r-- 1 root root 10G May 12 14:45 /var/lib/libvirt/images/centos.raw
    
    # 4.4 ) 上传ISO镜像到系统:
    wget http://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso
    
    # 4.5 ) 安装系统: 
    [root@srv-1 src]# virt-install --virt-type=kvm --name linux36 --ram 1024 --vcpus 2 --cdrom=/data/src/CentOS-7-x86_64-Minimal-2003.iso --disk path=/var/lib/libvirt/images/centos.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole  
    
    Starting install...
    Domain installation still in progress. You can reconnect to 
    the console to complete the installation process.
    
    ** 参数:
    --name NAME
    --vcpus VCPUS
    --memory MEMORY
    --cdrom CDROM
    --disk DISK 
    --network NETWORK
    --graphics vnc
    --virt-type=kvm,qemu,xen
    
    
    # 4.6 ) 下载 vnc viewer:
    https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.20.113-Windows.exe
    安装以后, 连接本地的IP地址和5900端口即可出现安装界面.如果有多台虚拟机那就会占用更多的5900以后的端口, 可以选最大的那个 一般就是最新的安装界面
    
    # 如果安装过程中需要重启会产生错误
    [root@srv-1 src]# virt-install --virt-type=kvm --name linux36 --ram 1024 --vcpus 2 --cdrom=/data/src/CentOS-7-x86_64-Minimal-2003.iso --disk path=/var/lib/libvirt/images/centos.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole  
    ERROR    Guest name 'linux36' is already in use.
    ** 解决办法:
    [root@srv-1 src]# virsh undefine linux36
    Domain linux36 has been undefined
    
    
    # 4.7 ) 图形管理界面:
    yum install qemu-kvm qemu-img virt-manager acpid libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y
    
    virt-manager
    
    

    磁盘格式介绍 引用: http://blogs.sutdylinux.net

    CentOS-7-x86_64-Minimal 地址: http://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso

  • 相关阅读:
    16061109-第0次个人作业
    面向对象第四次总结
    面向对象5-7次作业总结
    2018 OO第一次总结(作业1-3)
    (最终作业)面向对象先导课课程总结
    HTML学习笔记
    实验八 进程间通信
    信号
    进程基础
    shell脚本编程
  • 原文地址:https://www.cnblogs.com/zhenxing06/p/12907627.html
Copyright © 2020-2023  润新知