virsh命令添加kvm虚拟机共享磁盘

在使用kvm虚拟机的时候,有时候部署一些应用如Oracle RAC、corosync等高可用的时候,往往会用到共享硬盘。比如本人在部署corosync+mysql高可用的时候就遇到了一些小问题(像我们这种折腾达人,肯定不会用nfs做共享存储),因此记录一下。

环境:

  • 宿主机当然是linux,否则也用不到kvm
  • 没有图形界面,否则直接virt-manager也很快。。


操作过程

新建一块虚拟盘

[email protected]:~# qemu-img -f raw shared.img 10G
要用raw格式,理论上来说应该qcow2也可以

编写xml文件

[email protected]:~# vim share-disk.xml

    <disk type=‘file‘ device=‘disk‘>
        //由于我们用的文件,disk的type是file,device字段则指我们想让这个盘在虚拟机中映射为什么设备。
      <driver name=‘qemu‘ type=‘raw‘ cache=‘none‘/>
            // 驱动是指明我们底层是哪种虚拟化,同时指定磁盘为raw格式、cache为none
      <source file=‘shared.img‘/>
            // 磁盘的映射源,有file、block、network、volume等值
      <target dev=‘vdb‘ bus=‘virtio‘/>
            // 映射给虚拟机的盘符、使用的驱动,
      <shareable/>
            // 标记此硬盘将于多个虚拟机间共享。
    </disk>

<span style="color:red"> 上面比较重要的是cache要标记为none、有shareable标记,在最开始的时候我用的qcow2硬盘,并用writeback的cache导致一堆问题。
</span>

准备完之后,使用virsh命令挂载就可以了。
[email protected]:~# virsh attach-device --config Guest1 share-disk.xml

<span style="color:red">由于virtio是热添加驱动,这时候如果你系统支持硬盘热添加,就可以在系统中fdisk -l看到一块vdb的新硬盘啦,我们就可以像真实环境一样来部署高可用系统了~</span>

参考链接:
1、Redhat virsh命令操作手册
2、virsh xml 详解

原文地址:http://blog.51cto.com/qujunorz/2059095

时间: 2024-10-11 16:53:40

virsh命令添加kvm虚拟机共享磁盘的相关文章

kvm虚拟机映射磁盘设备

需求:使用openstack云主机+EMC存储实现oracle RAC 分析:由于openstack的磁盘设备由cinder管理,目前cinder同一个卷不支持同时连接到多台云主机,事实上其他公有云上的云磁盘也暂时不支持.故不能通过cinder添加磁盘到云主机. 临时解决方案: 手动把宿主机的磁盘(使用了multipath映射EMC存储)映射到kvm虚拟机上,命令如下: virsh list virsh attach-disk instance-xxxxxxxx /dev/mapper/mpat

kvm虚拟机扩展磁盘空间

kvm虚拟机磁盘空间扩展与xen虚拟机磁盘空间扩展思路一致.原因在于xen/kvm默认的虚拟机磁盘格式为raw,所以方式可以通用. raw磁盘格式扩展思路如下 (1) 新添加一块raw格式的磁盘加入到KVM虚拟机,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间. (2) 直接通过dd命令扩展现有虚拟机磁盘大小,扩展之后,原磁盘大小增大,进入虚拟机系统后,直接通过fdisk分区新添加的空间,然后将该分区并入lvm逻辑卷中,扩大磁盘空间. xen虚拟化实战系列(四)之xen虚拟机扩展磁

KVM 虚拟机增加磁盘

背景: 由于在KVM虚机上做glusterfs测试,发现KVM虚拟存储空间不够. 思路:创建一个kvm img 文件指定大小200G,然后通过Virtual Machine Manager导入到对应的虚拟机 步骤: 这里以虚拟机vm2为例 创建kvm img [[email protected] 2]cd /d1/virtual_machine/vm/2  #进入虚机文件目录 [[email protected] 2]# qemu-img create vm2-1.img 200G Format

基于Linux命令行KVM虚拟机的安装配置与基本使用

背景 由于生产环境的服务器并不会安装桌面环境,简单操作的图形化安装也不适合批量部署安装.因此,我还是更倾向于在命令下安装配置KVM虚拟机.结合了一些资料和个人使用的状况,我大致列出了一些基本和常用的使用方法. 安装配置 一.环境介绍 操作系统:centos6.6 内核版本:2.6 IP地址:172.16.57.24 二.检查CPU 和 Xen 不同,KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持 egrep

kvm虚拟机扩展磁盘容量

virt-resize扩展 #关闭kvm虚拟机virsh shutdown testkvm2#安装工具yum install -y libguestfs-tools#查看磁盘文件位置virsh edit testkvm2#查看磁盘分区信息virt-filesystems --partitions --long -a /var/lib/libvirt/images/testkvm2.qcow2#创建新的磁盘文件qemu-img create -f qcow2 /var/lib/libvirt/im

vSphere 6 创建RAC虚拟机共享磁盘解析

在vsphere环境中搭建虚机RAC需要遵循一定的步骤,虚拟机配置RAC,如果不是挂裸盘RDM的话,按以下步骤进行,不影响VMotion 的功能,但是影响Storage VMotion 的功能.在数据库系统云化实施中,对oracleRAC要求部署在虚拟机中的场景,可以采用以下步骤来进行实施. 要点: 各节点均采用单独的pvscsi控制器,SCSI总线共享选物理 添加厚制备置零的硬盘,各节点SCSI ID保持一致 每个节点双网卡或多网卡,用vmxnet3 设置磁盘为独立磁盘,这样对VM拍快照不会对

KVM虚拟机共享存储动态迁移与冷迁移

运行环境一. 配置nfs共享服务器二. 配置KVM虚拟化三. 创建桥接网卡四. 配置kvm服务器并实现动态迁移五. 配置冷迁移运行环境KVM虚拟机两台(linux 7.4)IP地址:192.168.80.100(KVM01)IP地址:192.168.80.200(KVM02)共享服务器一台(linux 7.4)IP地址:192.168.80.102(share) 所有主机都执行:service firewalld stopsetenforce 0 一.配置nfs共享服务器yum install

更改kvm虚拟机磁盘大小

kvm 虚拟机的磁盘大小可通过命令:qemu-img resize filename size 来改,要注意的是resize只支持raw格式的磁盘文件,如果想更改qcow2等格式的磁盘大小,需先用qemu-img convert 转换磁盘格式后才能更改大小:另外,用命令改完大小后需重启kvm虚拟机,系统才能识别新添加的磁盘容量. 1.用qemu-img resize更改磁盘大小 以xp为例,原来磁盘的大小为100M,更改为250M [[email protected] ]# qemu-img i

调整KVM虚拟机的硬盘容量大小

kvm 虚拟机的磁盘大小可通过命令:qemu-img resize filename size 来改,要注意的是resize只支持raw格式的磁盘文件,如果想更改qcow2等格式的磁盘大小,需先用qemu-img convert 转换磁盘格式后才能更改大小:另外,用命令改完大小后需重启kvm虚拟机,系统才能识别新添加的磁盘容量. 1.用qemu-img resize更改磁盘大小  以xp为例,原来磁盘的大小为100M,更改为250M [[email protected] ]# qemu-img