openstack 动态加载usb,需要修改kvm虚拟机的xml文件
一、利用libvirt命令动态挂载
在利用KVM的虚拟桌面应用中,有时候需要在虚拟桌面起来后还能够动态的挂载或卸载数据盘,以达到类似热插盘U盘或移动硬盘的效果,当然管理上需要做处理。如果纯粹中技术上来讲,大概是下面的几步:
1. 创建数据盘:
创建数据盘可以用qemu-img命令,但是缺点是创建完以后还需要在虚拟机里面做磁盘初始化(在磁盘管理里)和格式化。相比较而言,用libguestfs带的 virt-make-fs就好很多,一条命令完成磁盘创建和初始化的功能,挂到虚拟机里面马上就可以使用。
sudo virt-make-fs -F qcow2 -t ntfs -s 100G /home/.../workroom/test/temp test100G.img
2. 定义数据盘配置文件:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/.../workroom/test/test500G.img'/>
<target dev='hdf' bus='virtio' type='virtio'/>
</disk>
另存为 test-device-attach.xml
3. 启动虚拟机,假设虚拟机的domain名是 DomainAttachDisk;
4. 运行 virsh 命令完成挂载
sudo attach-device DomainAttachDisk /home/.../workroom/test/test-attach.xml
测试下来从挂载命令到操作系统识别大概30秒-60秒之间
5. 卸载命令:
sudo detach-device DomainAttachDisk /home/.../workroom/test/test-attach.xml
如果用应用程序把这些过程管理起来,那么就能做到动态的数据盘挂载和卸载功能。
openstack 动态加载usb,需要修改kvm虚拟机的xml文件的更多相关文章
- Spring配置文件的加载,及装载多个beans.xml文件
applicationContext.xml 是spring的全局配置文件,用来控制srping的特性 1 手动加载自定义的beans.xml文件 @Test public void testAut ...
- unity动态加载FBX模型(Http下载到Rescources文件,场景Load直接调用):
using UnityEngine; using System.Collections; using System.IO; using System.Net; using System; using ...
- layui中radio的动态加载(进入修改页面时,设置radio)
动态设置 radio 的值让它处于选中状态 效果图 : 前端代码: <div class="layui-form-item"> <label class=& ...
- 在VC中动态加载ODBC的方法
在使用VC.VB.Delphi等高级语言编写数据库应用程序时,往往需要用户自己在控制面板中配置ODBC数据源.对于一般用户而言,配置ODBC数据源可能是一件比较困难的工作.而且,在实际应用中,用户往往 ...
- 动态加载 移除js file
动态加载.移除.替换js/css文件 stylesheetjavascriptcssfunctionnull <script language="javascript"> ...
- 【Unity3D】Unity3D之 Resources.Load 动态加载资源
[Unity3D]Unity3D之 Resources.Load 动态加载资源 1.Resources.Load:使用这种方式加载资源,首先需要下Asset目录下创建一个名为Resources的文件夹 ...
- 动态库DLL加载方式-静态加载和动态加载
静态加载: 如果你有a.dll和a.lib,两个文件都有的话可以用静态加载的方式: message函数的声明你应该知道吧,把它的声明和下面的语句写到一个头文件中 #pragma comment(lib ...
- 动态加载、移除js、css
本文简单介绍动态加载.移除.替换js/css文件 .有时候我们在写前端的时候,会有出现需要动态加载一些东如css js 这样能减轻用户加载负担,从而提高响应效率.下面贴出代码.//JS写法 <s ...
- Java之——Web项目中DLL文件动态加载方法
本文转自:https://blog.csdn.net/l1028386804/article/details/53903557 在Java Web项目中,我们经常会用到通过JNI调用dll动态库文件来 ...
随机推荐
- bzoj 3196二逼平衡树 线段树套平衡树
比较裸的树套树,对于区间K值bz上有一道裸题,详见题解http://www.cnblogs.com/BLADEVIL/p/3455336.html(其实题解也不是很详细) //By BLADEVIL ...
- 【Mysql优化】聚簇索引与非聚簇索引概念
必须为主键字段创建一个索引,这个索引就是所谓的"主索引".主索引与唯一索引的唯一区别是:前者在定义时使用的关键字是PRIMARY而不是UNIQUE. 首先明白两句话: innod ...
- C++ 迭代器容器学习
set的一个用法 . difference找差集 union合并set intersection找到交集 #include<iostream> #include<string> ...
- python学习笔记 可变参数关键字参数**kw相关学习
在Python中可以定义可变参数,顾名思义,可变参数就是传入参数是可变的.可以是任意个,以一个简单的数学编程为例,计算 sum = a * a + b * b + .....z * z 函数定义可以如 ...
- 使用socket获取html
import socket client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = "www.baidu.com& ...
- 【 Linux 】三大主流软件负载均衡器对比(LVS、Nginx、HAproxy)
三大主流软件负载均衡器对比(LVS.Nginx.HAproxy) (资料来自网络,做了部分的补充说明) LVS: 1. 抗负载能力强,性能高,能达到F5的60%,对内存和CPU资源消耗比较低 ...
- WCF测试小程序
using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;u ...
- Javascript基于对象三大特征 -- 冒充对象
Javascript基于对象三大特征 基本概述 JavaScript基于对象的三大特征和C++,Java面向对象的三大特征一样,都是封装(encapsulation).继承(inheritance ) ...
- DELPHI数组,指针,字符串转换的例子
关于数组,指针,字符串转换的例子 var aa: array [0..5] of Char; bb:Pointer; cc:string; dd:PChar; procedure ...
- redis 数据类型的使用场景
value为对应的数据类型. String 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其实不仅是String,也可以是数字. Hash 应用 ...