zoukankan      html  css  js  c++  java
  • 烂泥:KVM利用LVM快照快速部署虚拟机

    本文由秀依林枫提供友情赞助,首发于烂泥行天下

    上一篇文章介绍了有关KVM利用LVM快照备份和恢复虚拟机的功能,这篇文章我们来介绍,如何利用LVM快照功能为KVM快速部署虚拟机。

    部署虚拟机需要以下几个步骤:

    1、 创建LVM快照

    2、 修改虚拟机的XML配置文件

    3、 通过virsh define命令定义虚拟机

    4、 启动虚拟机,并修改相关网络设置

    既然是利用LVM的快照功能,那么我们就先创建一个快照。如下:

    lvcreate -L 100M -s -n lvmsp2 /dev/vg1/lvmsp

    clip_image001

    有关KVM相关的文章,可以参考我以前的博客。同时目前该逻辑卷/dev/vg1/lvmsp所挂载的目录/test是KVM一个虚拟机存放硬盘的,并且目前该虚拟机时正常运行的。如下:

    clip_image002

    clip_image003

    快照做好后,我们就可以把此快照作为一个虚拟机来使用。先把快照进行挂载,如下:

    mount /dev/vg1/lvmsp2 /test2/

    clip_image004

    以上有关LVM快照的配置完毕,下面就是有关KVM的配置。

    我们可以先复制其中任意一个虚拟机的XML配置文件,然后修改该配置文件。下面我们已虚拟机testlvmos的配置文件为例,复制testlvmos虚拟机配置文件,并命名为testlvmos2.xml如下:

    cp /etc/libvirt/qemu/testlvmos.xml /etc/libvirt/qemu/testlvmos2.xml

    clip_image005

    现在我们来修改testlvmos2.xml文件,该文件有几处需要我们修改其他的可以保持不变。

    第一处、<name>testlvmos</name>,此处我们可以把testlvmos修改为testlvmos2。这个是虚拟机的名称,建议和配置文件testlvmos2.xml保持一致。

    第二处、<uuid>44a24883-9805-f679-4b3a-a443064a3ebb</uuid>,这个是设备的UUID号。我们可以通过uuidgen命令生成。如下:

    clip_image006

    第三处、<source file='/test/testlvmos.img'/>,这个是虚拟机的硬盘路径。修改为快照的所挂载的目录即可,如下:

    <disk type='file' device='disk'>

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

    <source file='/test2/testlvmos.img'/>

    <target dev='hda' bus='ide'/>

    <address type='drive' controller='0' bus='0' target='0' unit='0'/>

    </disk>

    clip_image007

    或者我们也可以这样修改,如下:

    <disk type='block' device='disk'>

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

    <source dev='/dev/vg1/lvmsp2'/>

    <target dev='hda' bus='ide'/>

    <address type='drive' controller='0' bus='0' target='0' unit='0'/>

    </disk>

    clip_image008

    注意图中所标示出来的部分。

    第四处、<mac address='52:54:00:19:57:8c'/>,此处是虚拟机的网口地址。该地址我们可以随意修改,但是一定不能和其他虚拟机有重复。我们现在修改为52:54:00:19:50:8d,如下:

    clip_image009

    第五处、<graphics type='vnc' port='5994' autoport='no' listen='0.0.0.0'>。VNC客户端连接的端口号,在此我们修改为5880。如下:

    clip_image010

    虚拟机testlvmos2的配置文件修改完毕后,我们现在来定义该虚拟机通过virsh define命令。如下:

    virsh define /etc/libvirt/qemu/testlvmos2.xml

    clip_image011

    虚拟机testlvmos2定义完毕后,我们来启动虚拟机testlvmos2,使用virsh start testlvmos2,如下:

    clip_image012

    通过上图我们可以看到,虚拟机testlvmos2已经可以正常启动并运行。

    注意:目前虚拟机testlvmos2的所有配置和虚拟机testlvmos是一模一样的。

    下面我们需要进行的操作就是配置虚拟机testlvmos2网络相关的内容,也可以参考我以前的文章《烂泥:为KVM虚拟机添加网卡》。如下:

    vi /etc/udev/rules.d/70-persistent-net.rules

    clip_image013

    cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1

    rm -r /etc/sysconfig/network-scripts/ifcfg-eth0

    clip_image014

    vi /etc/sysconfig/network-scripts/ifcfg-eth1

    clip_image015

    /etc/init.d/network restart

    clip_image016

    到此虚拟机testlvmos2已经完全配置完毕,我们也可以正常使用虚拟机teslvmos2。

    如果我们还需要虚拟机的话,我们可以通过这种方法重复操作即可。

    注意:如果我们是通过以上方法生成虚拟机使用的话,原虚拟机testlvmos一定不要再进行使用。

    这个是因为目前LVM快照保存的是原虚拟机testlvmos的状态,如果原虚拟机testlvmos的状态习惯的话,LVM的COW写时复制功能就会造成,快照发生改变。

  • 相关阅读:
    oracle里的查询转换
    Oracle里的优化器
    转:oracle几组重要的常见视图-v$undostat,v$open_cursor,v$rowcache,v$session_longops,v$waitstat
    转:oracle几组重要的常见视图-v$segstat,v$segment_statistics,v$filestat,v$rollstat
    转:oracle几组重要的常见视图-v$latch,v$latch_children,v$lock,v$locked_object
    转:oracle常见重要视图-v$sql,v$sql_plan,v$sqltext,v$sqlarea,v$sql_plan_statistcs
    转:oracle几组重要的常见视图-v$process,v$session,v$session_wait,v$session_event
    第三方引擎应用场景分析--Tokudb,infobright
    mysql 常见参数
    Uep的静态下拉和动态下拉建立
  • 原文地址:https://www.cnblogs.com/ilanni/p/3927213.html
Copyright © 2011-2022 走看看