• 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

  • 相关阅读:
    GotoAndPlay 图论
    P1965 转圈游戏  快速幂
    双栈排序 图论
    威尔逊定理 数学
    n!mod p 的求法 数学
    P3195 [HNOI2008]玩具装箱TOY DP+优化
    loj6485. LJJ 学二项式定理
    loj6539. 奇妙数论题
    loj535. 「LibreOJ Round #6」花火
    loj534. 「LibreOJ Round #6」花团
  • 原文地址:https://www.cnblogs.com/sky00747/p/8489403.html
Copyright © 2020-2023  润新知