开发者社区> 科技小能手> 正文

LVM虚拟机管理

简介:
+关注继续查看

LVM虚拟机管理

环境:RHEL6.4


一、virsh命令:

1、查看虚拟机列表

#  virsh list

#  virsh list  --all

2、查看virsh版本

#  virsh version

3、启动名称为rhel6pxe的GUEST主机

#  virsh start  rhel6pxe

4、强制关闭GUEST主机

#  virsh destroy  rhel6pxe

5、导出GUEST主机的XML配置文件

#  virsh dumpxml  rhel6pxe  > ~/rhel6pxe.xml

6、取消GUEST主机的定义

#  virsh undefine  rhel6pxe   //注:这里rhel6pxe是虚拟机的名字

7、使用已经存在的xml文件和磁盘文件定义GUEST主机

#  virsh define  ~/rhel6pxe.xml

8、设置GUEST主机在HOST主机启动时,也会自动启动

#  virsh autostart  rhel6pxe


二、使用LVM方式管理虚拟主机磁盘

1、创建LV

(1)#  fdisk  -cu /dev/sdb  ->把system-id改为8e

(2)#  pvcreate  /dev/sdb1

(3)#  vgcreate  vg_kvm /dev/sdb1

(4)#  lvcreate  -n rhel6base  -L  10G vg_kvm

2、创建GUEST主机时,磁盘选择创建的LV

wKiom1NNWPSAqCF2AAGuwnjVv7Y702.jpg

3、设置模板虚拟机。把模板计算的个性化信息去除,如root密码、IP地址等。

(1)启动rhel6base虚拟机后,执行以下命令

#  touch  /.unconfigured

创建该文件之后,重新启动系统,会出现重新设置关于计算机初始化的信息。


4、生成lv快照

#lvcreate  -s  -n rhel6node1  -L  2G /dev/vg_kvm/rhel6base

5、导出原有虚拟机的配置文件

#  virsh dumpxml  rhel6base  > rhel6node1.xml

6、生成一个uuid

[root@localhost ~]#uuidgen

9cb350bb-2add-461f-9e05-afc9799b3d9b

7、修改rhel6node1.xml

wKioL1NNWPmwFdx3AAG8Rus9sQA283.jpg

wKioL1NNWPmSEpXPAAO3udJsLEw551.jpg


8、利用新的xml文件和LV快照定义新的克隆虚拟机

#  virsh define  rhel6node1.xml


9、当虚拟机用完,想要删除时,只要把虚拟机取消定义,并删除LV即可

#  virsh undefined  rhel6node1

#  lvremove /dev/vg_kvm/rhel6node1


三、使用qcow2管理KVM虚拟机磁盘

1、创建qcow2磁盘文件

[root@localhost ~]#cd  /var/lib/libvirt/images/

[root@localhostimages]# qemu-img  create  -f qcow2  rhel6base.img  80G

2、查看虚拟磁盘文件信息

[root@localhostimages]# qemu-img  info  rhel6base.img

image: rhel6base.img

file format: qcow2

virtual size: 80G(85899345920 bytes)

disk size: 136K

cluster_size: 65536

3、安装虚拟机到该文件中,使用脚本命令


四、使用qcow2增量镜像实现克隆虚拟机功能

1、根据基础镜像创建增量镜像文件

#qemu-img  create  -b rhel6base.img  -f  qcow2 rhel6basenode1.img

[root@localhostimages]# qemu-img  info  rhel6basenode1.img

image:rhel6basenode1.img

file format: qcow2

virtual size: 80G(85899345920 bytes)

disk size: 136K

cluster_size: 65536

backing file:rhel6base.img

2、生成克隆虚拟机的XML文件

#virsh  dumpxml  rhel6base >  rhel6basenode1.xml

#  vim rhel6basenode1.xml  #参见(二)中的修改方法

3、定义新的虚拟机

#  virsh define  rhel6basenode1.xml


附:LVM快照

1、 COW  -> copy on  write 写时复制

2、应用。如,数据库的库文件存在lv(名称为lv_db)上,大小为10G,如果在数据库仍然在运行的条件下,要备份某一个时间点的数据(如10:30),那么可以使用快照snapshot

#  lvcreate -s  -n  lv_db-snap -L  1G  /dev/vg_db/lv_db

#  mount -o  ro  /dev/vg_db/lv_db-snap  /mnt

从/mnt中把数据库备份走即可

3、快照只是临时应用,用完后移除即可

#  lvremove /dev/vg_db/lv_db-snap




本文转自 murongqingqqq  51CTO博客,原文链接:http://blog.51cto.com/murongqingqqq/1396079

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何使用云数据库持久保存用户的数据(补充)
这篇文章是针对于之前写的一篇付费文章《如何在小游戏制作工具中使用云数据库持久保存用于的数据》的补充。
5 0
理解游戏开发中的绝对位置和相对位置
本文主要内容带你彻底理解游戏开发中的绝对位置和相对位置的区别。
4 0
我的ECS使用体验报告
在校大 学生用户第一次使用阿里云ECS服务器的体验报告 这篇文章是为了分享一下本人最近使用ECS的体验报告,我是广州某高校计算机学院的电子信息专业的一名研二研究生。
5 0
如何在小游戏使用键盘进行输入
本文主要内容是在微信小游戏制作工具中使用“键盘”插件,来实现玩家在小游戏中通过键盘进行输入操作的功能。
5 0
冬季实战营第三期:MySQL数据库进阶实战
冬季实战营第三期:MySQL数据库进阶实战
4 0
SpringMVC源码分析:POST请求中的文件处理
一起阅读和分析SpringMVC的部分源码,看看收到POST请求中的二进制文件后,SpingMVC框架是如何处理的
5 0
什么是云开发以及使用云开发时的一些“坑”
可能很多人不明白“云开发”到底是个什么东西,举个例子,在以前如果你要做一款可以多人联网同时在线玩的小游戏,是一件非常非常难的事,因为你需要客户端(根据不同的平台这里的客户端可能指的是手机,电脑或是其他的平台),还需要服务器,这是两个完全不同的领域。
5 0
为什么不要通过去找游戏源码的方式来做游戏
有做游戏的想法的人其实并不少,我遇到过挺多因为有做游戏的想法而来问问题的人,只不过大部分的问题都是:“我有一个游戏想法,你能不能帮我做一下?”或者是“你做一个游戏多少钱?我有一个想法想让你帮我做出来。”,对于所有这样的问题,我都给了相同的回复:我只做自己的游戏,以及教别人做游戏,不做外包。
5 0
23705
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载