zoukankan      html  css  js  c++  java
  • kvm

    brctl  show

    brctl delif ena eth1;    格式:brctl  delif  桥接名  接口

    ifconfig ena down;     

    brctl delbr ena;

     

    检查cpu虚拟化支持

    grep -E vmx /proc/cpuinfo

    依赖包功能介绍:

    qemu-kvm
    #该软件包主要包含KVM内核模块和基于KVM重构后的QEMU模拟器。
    #-- KVM模块 作为整个虚拟化环境的核心,工作在系统空间,负责CPU和内存的调度。
    #-- QEMU作为模拟器 工作在用户空间,负责虚拟机I/O模拟。 qemu-img #主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。 libvirt #提供Hypervisor和虚拟机管理的API。 libvirt-client #KVM客户端命令行管理工具virsh,负责虚拟机的启动、停止和管理等。 libvirt-daemon #libvirtd守护进程,作为客户端管理工具跟Hypervisor和虚拟机之间的桥梁。 libvirt-daemon-driver-xxx #从名字来看属于libvirtd服务的驱动文件,作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器,网络,存储等)间的接口。 bridge-utils #网桥管理工具包,负责桥接网络的创建、配置和管理等工作。 virt-install #创建和克隆虚拟机的命令行工具包。 virt-manager #图形界面的KVM管理工具。

      

    安装kvm:

    vi /etc/yum.repos.d/CentOS-aliyun.repo
    
    [aliyun]
    name=CentOS-$releasever-aliyun
    baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    vim /etc/resolv.conf  #配置dns
    nameserver 114.114.114.114
    
    yum -y install qemu-kvm libvirt virt-install bridge-utils  #安装相关rpm包
    
    systemctl enable libvirtd  #启动libvirtd服务
    systemctl start libvirtd 
    

      

    5、配置bridge网络

    [root@vfeelit network-scripts]# cat ifcfg-br0
    DEVICE=br0
    TYPE=Bridge
    BOOTPROTO=static
    IPV6INIT=no
    ONBOOT=yes
    IPADDR=192.168.1.66
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DELAY=0
    
    [root@vfeelit network-scripts]# cat ifcfg-eth0
    DEVICE=eth0
    TYPE=Ethernet
    BRIDGE=br0
    BOOTPROTO=none
    IPV6INIT=no
    ONBOOT=yes
    

      

    附加说明:这里配置成桥接方式,实际上本机的数据包发送是通过br0发送的,br0的TYPE是Bridge,其它的信息跟配置一个物理网卡一样,本机的eth0通过桥接到br0(通过BRIDGE指定)进行通信,它根本不需要配置IP信息,实际上数据发送还是通过本机的物理网卡

    重启网络

    service network restart

    查看桥接网络

    [root@vfeelit ~]# brctl show
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.0021cc6b6f2c       no              eth0
    virbr0          8000.525400ac7ebe       yes             virbr0-nic
    

      

    6、创建虚拟机

    virt-install --name=centos1 --ram=4096 --vcpus=2 
    
    --cdrom=/mnt/centos/CentOS-7-x86_64-Minimal-1511.iso 
    
    --os-type=linux --network bridge=br0 
    
    --disk path=/home/centos/centos1.img,size=20 
    
    --vnc --vnclisten=0.0.0.0 --vncport=5920

    查看img文件

    [root@vfeelit]# qemu-img info centos.img
    image: centos.img
    file format: raw
    virtual size: 10G (10737418240 bytes)
    disk size: 1.4G
    

      

    7、 

    virsh list   #显示正在运行的虚拟机  
    virsh list --all   #显示所有虚拟机
    virsh start vm6    #启动名字为vm6的虚拟机 
    virsh shutdown vm6 #关闭名字为vm6的虚拟机 
    virsh destroy vm6  #强制关闭名字为vm6的虚拟机 
    virsh undefine vm6   #移除名字为vm6的虚拟机 
    virsh autostart vm6  #设置vm6虚拟机开机启动 

    8、重命名虚拟机 

    导出虚拟机的配置文件  virsh dumpxml vm5 > /etc/libvirt/qemu/reg.xml 
    编辑配置文件更改名字  vi /etc/libvirt/qemu/reg.xml     ==>  <name>reg</name> 
    移除原有虚拟机  virsh undefine vm5 
    加载新的虚拟机  virsh define reg.xml 

    9、虚拟机创建快照 

    virsh shutdown vm5 && qemu-img convert -f raw -O qcow2 vm5.img vm5qcow2.img  #转换磁盘镜像文件格式为qcow2 
    virsh snapshot-create-as vm5 ok  #创建快照 
    virsh snapshot-list vm5  #查看快照  
    virsh snapshot-revert vm5 ok  #恢复快照
    virsh snapshot-delete vm5 ok  #删除快照 
    virsh help snapshot   #获取帮助

    验证内核模块

    # lsmod |grep kvm
    kvm
    kvm_intel

    以上输出说明内核模块加载成功,其中:

    kvm作为核心模块,协同QEMU实现整个虚拟化环境的正常运行。

    kvm_intel作为平台(Intel)独立模块,激活KVM环境的CPU硬件虚拟化支持。

    开启路由转发功能:

    echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
    sysctl -p /etc/sysctl.conf 

    支持vnc

    vi /etc/libvirt/qemu.conf
    vnc_listen = "0.0.0.0"

    创建虚拟机时,加上--vnc --vnclisten=0.0.0.0 --vncport=5920

    virsh-install --name=centos6.5 --ram=4096 --vcpus=2 
    --cdrom=/mnt/centos/CentOS-6.5-x86_64-bin-DVD1.iso --os-type=linux 
    --network bridge=br0 
    --disk path=/home/centos/centos6.5.img,size=20 
    --vnc --vnclisten=0.0.0.0 --vncport=5920 
    

      

     

  • 相关阅读:
    leetcode 33. Search in Rotated Sorted Array
    leetcode 32. Longest Valid Parentheses
    leetcode 28. Implement strStr()
    leetcode 27. Remove Element
    leetcode 26. Remove Duplicates from Sorted Array
    leetcode 24. Swap Nodes in Pairs
    leetcode 22. Generate Parentheses
    树莓派的频率管理和热控制
    sql执行insert插入一条记录同时获取刚插入的id
    全程直播个人博客重构过程,采用springboot+dubbo+jpa技术栈。
  • 原文地址:https://www.cnblogs.com/linuxws/p/10678424.html
Copyright © 2011-2022 走看看