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 
    

      

     

  • 相关阅读:
    k8s service定义与创建
    k8s service存在的意义
    k8s job控制器-执行一次性任务
    k8s CronJob定时任务
    k8s Daemonset功能
    k8s deployment控制器Replicaset
    k8s deployment删除
    k8s deployment控制器水平扩容
    k8s deployment发布失败回滚
    k8s deployment控制器:滚动升级 平滑过渡 零停机
  • 原文地址:https://www.cnblogs.com/linuxws/p/10678424.html
Copyright © 2011-2022 走看看