设为首页 收藏本站
查看: 1491|回复: 0

[经验分享] KVM存储池\存储卷

[复制链接]

尚未签到

发表于 2015-10-10 14:09:51 | 显示全部楼层 |阅读模式
KVM存储池与存储卷,使用virt-install创建虚拟机
(2012-03-18 21:32:14)http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif转载标签:杂谈
分类:KVM相关http://blog.sina.com.cn/s/blog_53737d110100xabl.html

(2012-03-05 12:33:56)    在机器上装了一个Centos6.2用来测试KVM,对比Windows下的VMwareworstation,KVM功能强大,定制性高,只要入了门,绝对是功能强大。用来作云计算不错。不过就是操作性差了点。没有vmwareworkstation方便,毕竟,workstation是个人用的,可能不适合企业吧,没接触过vsphere。
  kvm的安装比较简单,如果安装Centos的时候没有安装,那么,就需要使用groupinstall了
  KVM的主要软件组有如下几个
  1。 Virtualization 提供虚拟机的环境,主要包含qumu-kvm
  2。 Virtualization Client管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer
  3。 Virtualization Platform提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client
  4。 Virtualization Tools 管理离线虚拟机镜像的工具,主要有libguestfs
  根据需求选择软件包,一般都安装1,2,3
  yum groupinstall "Virtualization" "Virtualization Client""Virtualization Platform"
  安装完组件后,就需要创建虚拟机了
  一般在创建虚拟机前,如果需要桥接虚拟机,就需要创建桥接网口,具体看自己的需求
  创建一个虚拟机,可以通过virt-manager来完成,图形化界面,但是这个功能不全,不能随心所欲,例如,需要将虚拟机创建在不同的位置上,毕竟,默认的存储是在/var/lib/libvirt/images下,无法进行存储的管理
  所以,在创建虚拟机之前,需要先创建一个存储池
  存储池(Storagepools)是放置虚拟机的存储位置,可以是本地的,也可以是网络存储,具体的虚拟机实例放置在卷(Volume)上。
  操作存储卷的命令行是virsh
  主要有以下操作
  查看卷的信息
  [iyunv@centos6 ~]# virsh vol-info --pool kvm_imagesguest1-rhel6.1
名称:      guest1-rhel6.1
类型:      文件
容量:      16.00 GB
分配:      1.97 GB
  或者直接使用存储卷的绝对路径
  virsh vol-info /kvm/images/guest1-rhel6.1
  
  在创建卷之前,先要创建存储池,存储池可以建立在好几种方式的存储上,现在主要建立一个基于目录的存储池。
  首先创建了一个LVM,并将这个LVM挂载到一个目录下,例如/kvm
  然后开始创建存储池
  1。 建立存储池的目录
  mkdir /kvm/images
  2。 为了安全性,更改目录的所有者,并设置权限
  chown root:root /kvm/images
  chmod 700 /kvm/images
  验证一下
  ls -a /kvm/images
  3。 配置SELinux文件上下文
  semanage fcontext -a -t virt_image_t /kvm/images
  这个主要是打开SELinux设定,不然虚拟机无法访问存储文件
  如果没有semanage,那么安装policycoreutils-python
  yum install policycoreutils-python
  4。创建基于文件夹的存储池
  1) 定义一个存储池
    virsh pool-define-as kvm_images dir - - - - "/kvm/images"
  2) 查看创建的存储池信息
    virsh pool-list --all
  3) 建立基于文件夹的存储池
    virsh pool-build kvm_images
  4) 使存储池生效
     virsh pool-start kvm_images
  5) 这时候,存储池还不是自动运行,使用virshpool-autostart
     virsh pool-autostart kvm_images
  6) 验证存储池
  [iyunv@centos6 ~]# virsh pool-info kvm_images
名称:      kvm_images
UUID:          89a6434f-2106-4a98-d34c-d6b32bef6a0c
状态:      running
Persistent:    yes
自动启动: yes
容量:      170.84 GB
分配:      187.38 MB
可用:      170.66 GB
  
  
  创建了存储池后,就可以创建一个卷,这个卷是用来做虚拟机的硬盘
  1。创建卷
  virsh vol-create-as kvm_images guest2-rhel6.1.img 8G --formatqcow2
  2。查看存储池里面的卷信息
  virsh vol-list kvm_images
  名称              路径                                 
-----------------------------------------
guest1-rhel6.1      /kvm/images/guest1-rhel6.1            
guest2-rhel6.1.img  /kvm/images/guest2-rhel6.1.img
  3。查看某个卷的信息
  virsh vol-info guest2-rhel6.1.img kvm_images
  名称:      guest2-rhel6.1.img
类型:      文件
容量:      8.00 GB
分配:      136.00 K
  更详细的
  virsh vol-dumpxml guest2-rhel6.1.img kvm_images
  <volume>
<name>guest2-rhel6.1.img</name>
<key>/kvm/images/guest2-rhel6.1.img</key>
<source>
</source>
<capacity>8589934592</capacity>
<allocation>139264</allocation>
<target>
   <path>/kvm/images/guest2-rhel6.1.img</path>
   <format type='qcow2'/>
   <permissions>
     <mode>0600</mode>
     <owner>0</owner>
     <group>0</group>
     <label>system_u:object_r:file_t:s0</label>
   </permissions>
</target>
</volume>
  可以从xml配置文件看出,这个卷是qcow2类型的
  4。现在开始创建虚拟机,使用virt-install来创建
  创建的虚拟机名字为guest2-rhel6.1 这个名字很重要,就是在KVM中的域名,可以做各种操作
  cpu使用1个,内存化为512M,硬盘文件使用新创建的硬盘文件,&#26684;式为qcow2,大小为8G,使用ISO镜像安装,安装的操作系统类型为linux,类别为rhel6。网络挂载桥接网卡br0
  virt-install --connect qemu:///system -n guest2-rhel6.1 -r 512-f /kvm/images/guest2-rhel6.1.img -s 8 --vnc --os-type=linux--os-variant=rhel6  --vcpus=1 --networkbridge=br0 -c /mnt/rhel-server-6.1-x86_64-dvd.iso
  回车后,控制台显示
  开始安装......
创建域......                                         |   0B    00:00
  会弹出一个窗口,如果定义了自动安装,那么,可以关闭安装窗口
  5。启动一个窗口监测安装进程
  virt-viewer guest2-rhel6.1来查看安装进程
  有时候会碰到虚拟机无法正常安装,这时候如果没有启动acpid进程的话,那么使用virsh shutdownguest2-rhel6.1无法关闭虚拟机,这时候就需要使用命令 destroy guest2-rhel6.1来强制关闭了。
  6。安装完毕后,要记的在虚拟机上安装acpid进程,以方便远程关闭机器
  yum install acpid -y
  chkconfig acpid on 345
  service acpid start
  7。 等做完虚拟机的配置后,就需要对虚拟机做一个快照了。
  快照的制作有两种方法,一种是直接在virsh 里面使用snapshot来制作。另外一种是使用qemu-img来创建快照
  virsh snapshot-create-as guest2-rhel6.1
  快照创建的很快,其实,就是生成了一个XML的配置文件,记录下当前的信息。
  查看快照
  virsh snapshot-list guest2-rhel6.1
名称              CreationTime            状态
------------------------------------------------------------
1330937069          2012-03-05 16:44:29 &#43;0800 shutoff  查看快照的配置文件
  virsh snapshot-current guest2-rhel6.1
  那么,快照文件存在什么地方呢,在/var/lib/libvirt/qemu/snapshot目录下,有以虚拟机的域名为名称的文件夹,就在里面哪
  使用qemu-img创建快照也很方便,这个镜像是直接对硬盘文件进行操作,硬盘文件的&#26684;式必须为qcow2&#26684;式的,记的貌&#20284;物理硬盘的&#26684;式为LVM才能创建快照,还是&#26684;式为LVM,qemu-img的&#26684;式不必为qcow2&#26684;式就能创建快照,还没整明白
  qemu-img snapshot -c 2012-3-5 /kvm/images/guest2-rhel6.1.img
  创建完毕后,查看一下
  qemu-img snapshot -l /kvm/images/guest2-rhel6.1.img
Snapshot list:
ID       TAG                VMSIZE               DATE      VMCLOCK
1        1330937069               02012-03-0516:44:29  00:00:00.000
2        2012-3-5                 02012-03-0516:51:39  00:00:00.000
  可以看到有两个快照,ID=1为virsh创建的,ID=2为qemu-img创建的,这两个之间有什么关系,还没有想明白。
  
  好了,基本上创建完了,如果能做到PXE启动,然后使用自动部署,那就爽多了。
  还有一个问题,就是做完网卡的桥接后,竟然无法上网了,真奇怪啊。
  刚才找到原因了,是我将br0的ip设置成与eth0相同的ip地址了,导致冲突无法上网,后来设置成不同的ip地址就ok了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-125164-1-1.html 上篇帖子: KVM系统调用说明 下篇帖子: KVM ---- 通过虚拟磁盘恢复虚拟机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表