zoukankan      html  css  js  c++  java
  • KVM安装搭建

    一 安装KVM

    环境:Centos7.3

    首先检查自己服务器或者虚拟机CPU是否支持

     egrep '(vmx|svm)' /proc/cpuinfo

    安装阿里云镜像站

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    安装KVM

    yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer -y

    详解:

    校验

    lsmod | grep kvm
    kvm_intel
    170181 6 kvm 554609 1 kvm_intel irqbypass 13503 5 kvm

    开启KVM  并设置开机自动启动

    systemctl start libvirtd
    systemctl enable libvirtd

    查看运行状态

    systemctl status libvirtd
    ● libvirtd.service
    - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: active (running) since 四 2018-03-01 15:12:08 CST; 15min ago Docs: man:libvirtd(8) http://libvirt.org Main PID: 3237 (libvirtd) CGroup: /system.slice/libvirtd.service ├─1808 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.co... ├─1812 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.co... └─3237 /usr/sbin/libvirtd

    配置网卡设置(这里使用的是桥接)

    现将自己的网卡配置  备份一份,以防万一出错

    cd /etc/sysconfig/network-scripts/
    cp ifcfg-em1 ifcfg-em1.bak

    修改网卡配置(有好几种方案,不一定非要这样,)

    DEVICE=em1
    TYPE=Ethernet
    ONBOOT=yes
    BRIDGE=br0

    创建一个新的文件 ifcfg-br0

    DEVICE=br0
    TYPE=Bridge
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=static
    IPADDR=192.168.70.125
    NETMASK=255.255.255.0
    GATEWAY=192.168.70.1

    重新启动网卡

    systemctl restart network

    查看网桥

    brctl show
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.782bcb1992cf       no              em1
                                                            vnet0
                                                            vnet1
    virbr0          8000.525400c55958       yes             virbr0-nic

    安装就基本结束了!!!!

    测试搭建一台虚拟机*(安装一台Centos6.5)

    创建ISO镜像路径

    mkdir -p /iso

    将Centos6.5镜像上传到服务器上(如果没有 安装一下,yum install -y lrzsz)

    rz -y

    创建KVM虚拟机目录

    mkdir -p /kvm/test/

    创建虚拟机

    virt-install -n linux-web01 -r 2048 --disk /kvm/test/web01.img,format=qcow2,size=20 --network bridge=br0 --os-type=linux --os-variant=rhel6 --cdrom /iso/CentOS-6-x86_64-DVD-1511.iso --vnc --vncport=5910 --vnclisten=0.0.0.0

     

     

    • -name:虚拟机的名字
    • -ram:内存大小MB
    • -vcpus:CPU个数
    • -cdrom:ISO镜像位置
    • -os-variant:OS类型,例如rhel 6,solaris
    • -network:网络,友情链接:创建通过Virt Manager创建桥接网络
    • -graphics:Guest显示设置
    • -disk path:磁盘位置

    打开防火墙

    打开防火墙上的5910端口
    firewall-cmd --zone=public --add-port=5910/tcp --permanent
    
    firewall-cmd --reload

    下载一个VNC

    直接连接,安装完成。这里我就跳过了,安装好后,启动虚拟机就可以了

    virsh start test
    virsh list --all
     Id    名称                         状态
    ----------------------------------------------------
     2     web01                          running
     3     web02                          running
     4     test                           running
     -     test01                         关闭

    (二)克隆(test 是刚才创建的)

    virsh list --all
     Id    名称                         状态
    ----------------------------------------------------
     2     web01                          running
     3     web02                          running
     4     test                           running
     -     test01                         关闭

    先把tset关闭掉(如果这里没有关闭掉,是有因为电源模块的问题,)

    virsh shutdown test

    创建虚拟机目录

    mkdir -p /kvm/linux-mysql-01

    克隆

    virt-clone -o test -n mysql01 -f /kvm/linux-mysql-01/mysql01.img
    WARNING 设置图形设备端口为自动端口,以避免相互冲突。
    正在分配 'mysql01.img' | 10 GB 00:00:02

    成功克隆 'mysql01'。

    详解

    --original:指定被克隆的虚拟机
    --name:克隆后目标虚拟机的名称
    --file:指定克隆后目标虚拟机的存储路径

    virsh list --all
    Id 名称 状态
    ----------------------------------------------------
    2 web01 running
    3 web02 running
    - mysql01 关闭
    - test 关闭
    - test01 关闭

    修改VNC的端口 

    virsh edit mysql01

    找到VNC

    <graphics type='vnc' port='5912' autoport='no' listen='0.0.0.0'>

    启动mysql01

    virsh start mysql01

    可以使用VNC直接连接了(如果连接不上,查看一下端口是否更改过来了,VNC上的端口号是否一致)

    virsh dumpxml mysql01

    看一下VNC的端口  在使用VNC加上端口就可以

    删除 

    (三)快照及恢复快照

    KVM自带的快照需要qcow2磁盘文件才支持快照

    关闭虚拟机

    virsh shutdown test

    查看虚拟机磁盘信息

    qemu-img info /kvm/test/test.img 
    image:
    /kvm/test/test.img file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 2.0G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: true

    (如果不是qcow2的,需要转换一下,修改一下配置文件)

    qemu-img convert -f raw -O qcow2 /kvm/test/test.img /kvm/test/test.qcow2
    vim /etc/libvirt/qemu/test.xml 

    <driver name='qemu' type='qcow2'/>

    创建快照并起别名

     virsh snapshot-create-as test test01

    查看快照

    virsh snapshot-list test
     名称               生成时间              状态
    ------------------------------------------------------------
     1519957601           2018-03-02 10:26:41 +0800 shutoff
     test01               2018-03-02 10:28:19 +0800 shutoff

    创建快照的位置

    ls /var/lib/libvirt/qemu/snapshot/

    开启虚拟机test,测试,在test里随便创建几个文件

    virsh start test
     mkdir test
    cd test/
    touch {1..20}.test


    ls
    10.test 13.test 16.test 19.test 2.test 5.test 8.test
    11.test 14.test 17.test 1.test 3.test 6.test 9.test
    12.test 15.test 18.test 20.test 4.test 7.test

    恢复快照

    先停止虚拟机

    virsh shutdown test

    查看test快照,恢复到10:28:19  也就是名称test01

    virsh snapshot-list test
     名称               生成时间              状态
    ------------------------------------------------------------
     1519957601           2018-03-02 10:26:41 +0800 shutoff
     test01               2018-03-02 10:28:19 +0800 shutoff

    恢复快照

    virsh snapshot-revert test test01

    启动虚拟机就恢复了

    如果没有创建别名,名称是数字1519957601

     virsh snapshot-revert test  1519957601

    查看创建点

    virsh snapshot-current test

    <name>test01</name>
    <state>shutoff</state>
    <parent>
    <name>1519957601</name>
    </parent>
    <creationTime>1519957699</creationTime>
    <memory snapshot='no'/>

    删除快照

    virsh snapshot-delete test 1519957601

    KVM虚拟机重命名

    重命名

    1. 查看 virsh list

     Id    Name                           State

    ----------------------------------------------------

     9     VM01                          running

    2. 关闭虚拟机

    virsh shutdown VM01;

    无法关闭请查看虚拟机无法关机

    3. 导出xml文件

    cd /etc/libvirt/qemu

    virsh dumpxml VM01 > Test.xml

    4.编辑Test.xml

    name>VM01---->name>Test

    最后连img文件的名字也一同修改了;

    小方案 shutdown关闭不了虚拟机,是因为acpi服务,反以导致不能关闭虚拟机,需要安装acpi。

    yum install acpi -y

    开启服务

    /etc/init.d/acpi start

  • 相关阅读:
    771. Jewels and Stones
    706. Design HashMap
    811. Subdomain Visit Count
    733. Flood Fill
    117. Populating Next Right Pointers in Each Node II
    250. Count Univalue Subtrees
    94. Binary Tree Inorder Traversal
    116. Populating Next Right Pointers in Each Node
    285. Inorder Successor in BST
    292. Nim Game Java Solutin
  • 原文地址:https://www.cnblogs.com/sky00747/p/8489403.html
Copyright © 2011-2022 走看看