1、使用LVM创建存储池时,pool的名字必须和vg的名字相同,否则会报错:
写道
error: Failed to create pool from pool.xml
error: internal error Child process (/sbin/vgchange -ay vg-test) status unexpected: exit status 5
因为在创建pool的时候,libvirt需要激活对应的vg,可能是还没有创建vg
vgcreate vg-test /dev/sdx
2、创建pool之前必须要存在vg,vg下创建的lv都可以转换成libvirt下的volume,只要刷新pool即可
virsh pool-refresh vgname
创建好vg后,即使定义pool的时候不指定source的path也没关系
<pool type='logical'>
<name>vg-test</name>
<!-- 此处source可以不指定 -->
<source>
<device path='/dev/disk/by-path/ip-192.168.0.203:3260-iscsi-mycloud-lun-10'/>
</source>
<target>
<path>/dev/vg-test</path>
</target>
</pool>
target 的path 必须填写为vg的路径
也可以用命令行代替上面的xml文件
virsh pool-create-as vg-test logical --target /dev/test
总结:把iscsi存储共享到计算节点的主要步骤为:
1)添加硬盘
2)分区格式化
3)把硬盘改为lvm类型
4)创建lv,此lv是欲共享出去的
5)安装tgt
6)配置 /etc/tgt/target.conf 文件
7)在计算节点中用openiscsi 软件 发现上面共享出来的存储
8)登录该存储,就可以当做本地的一块硬盘使用了
9)接着在此硬盘上创建vg,pool
3、把storage pool 标记为自动启动时如报一下错误:
error: failed to get pool 'vg-testt'
error: Storage pool not found: no pool with matching name 'vg-testt'
其中的一种可能的原因是该pool是transient(瞬时)对象,直接用virsh create pool.xml 创建的。
解决办法是先destroy 掉该pool,使用virsh define 的方式创建,这样就可以设为自动启动了。
分享到:
相关推荐
Downburst——在 libvirt 上快速创建 Ubuntu 云镜像Downburst 是一个在 libvirt 上快速创建虚拟机的工具。 它使用 Ubuntu 的 Cloud Images 和 qcow2 copy-on-write 克隆来几乎即时创建 VM,并在启动时使用 cloud-...
接着,创建了一个Storage Pool的定义文件`/etc/libvirt/storage/HostVG.xml`,用于定义HostVG的配置信息。使用`virsh`命令创建并启用了这个名为"HostVG"的Storage Pool。 在KVM的管理界面virt-manager中,用户可以...
本篇文章将深入探讨Libvirt创建虚拟机时XML配置文件中的"Domain vcpu"和"numa"参数,帮助读者理解如何通过这些参数优化虚拟机性能。 首先,我们来解释"vcpu"(Virtual CPUs)参数。vCPU是虚拟机的逻辑处理器,它们...
在"terraform-libvirt-demo"项目中,我们将学习如何设置Terraform配置文件来创建libvirt虚拟机。这个项目通常会包含以下核心文件: 1. `main.tf`:这是Terraform的主配置文件,它定义了libvirt provider、虚拟机...
`Network`和`StoragePool`类分别用于管理网络资源和存储池,可以创建、删除、修改网络配置,以及管理虚拟硬盘和ISO镜像。 4. **事件监听**:libvirt-java的事件机制允许开发者注册监听器,实时接收虚拟机状态变化、...
1. **Nova**:作为 OpenStack 计算服务,Nova 使用 Libvirt 来创建、启动、停止和迁移虚拟机实例。Nova 通过调用 Libvirt 的 API 来执行这些操作。 2. **Neutron**:OpenStack 网络服务 Neutron 可以利用 Libvirt ...
virt-install是Libvirt的虚拟机安装工具,可以创建新的虚拟机。virt-manager是Libvirt的图形化管理工具,可以管理虚拟机的生命周期、网络、存储等。 Libvirt XML配置文件是Libvirt的配置文件,用于定义虚拟机的配置...
这个源码包是版本0.9.11,适用于安装和开发基于libvirt的应用程序。在深入研究libvirt源码之前,我们需要先了解其基本概念和功能。 1. **libvirt API** Libvirt提供了一组丰富的C语言API,允许开发者创建跨平台的...
从整个内容来看,Libvirt不仅支持KVM、Xen等主流虚拟化技术,而且也支持LVM、iSCSI等多种存储技术,以及提供网络虚拟化的支持。其API库允许开发人员通过统一的接口来实现各种虚拟化管理和自动化任务,无论是简单的...
libvirt支持多种安全机制,包括基于ACL的访问控制、SELinux整合以及安全策略的定制。这些特性确保了对虚拟资源的细粒度控制,防止未经授权的访问和操作。 8. **libvirt扩展与生态系统** 除了核心功能,libvirt...
libvirt 软件包go-libvirt提供了用于与libvirt进行交互的纯Go接口。 而不是使用libvirt的的C绑定,这个软件包使用了libvirt的的RPC接口,如记录。 与libvirt服务器的连接可以是本地的,也可以是远程的。 RPC数据包...
### Libvirt Qemu KVM 教程大全 #### 虚拟化基本概念与类型 虚拟化技术允许在单一物理主机上运行多个操作系统实例(即虚拟机),这为资源的有效利用提供了新的途径。虚拟化的基本类型包括无虚拟化、半虚拟化、非...
libvirt是Linux下管理虚拟化资源的开放源代码API,它支持KVM、Xen和VMware等虚拟化技术。本文档是《libvirt C语言应用开发指南》的摘录,介绍了如何利用libvirt开发应用程序。文档详细说明了libvirt的架构、对象模型...
Libvirt是一个强大的开源库,用于管理和控制虚拟化平台,如KVM、Xen、QEMU等。这个PHP管理器利用Libvirt的API来执行各种操作,使非专业用户也能方便地进行虚拟机的日常维护。 该管理系统的核心功能包括: 1. **...
它基于客户端-服务器模型,由管理站(管理软件所在设备)和代理(被管理设备上的软件)组成。SNMP通过发送陷阱消息(traps)和轮询(polling)机制,帮助管理员获取网络中的实时信息。 **libvirt-snmp 的功能** 1....
这将创建一个名为`libvirt-0.9.4`的目录,接下来的所有操作都将在该目录下进行。 #### 2. 配置与解决依赖问题 进入解压后的目录,执行`./configure`命令进行编译前的配置。这个步骤可能会遇到各种依赖问题,因为...
- **测试套件**: `libvirt-test-API` 是一个基于 Python 的测试套件,目标是实现功能回归测试,确保 `libvirt` 的稳定性和兼容性。 - **编写测试案例**: 该文档还提供了一些指导如何编写测试案例的方法。 #### ...
Qemu KVM and Libvirt Qemu KVM 和 Libvirt 是虚拟化领域中的三个重要概念,分别是虚拟机监控器、内核模块和虚拟机管理工具。本文将对这三个概念进行解析,并探讨它们之间的关系。 虚拟化的基本类型 虚拟化可以...
libvirt也提供了虚拟NAT和基于路由的网络功能,任何运行了libvirt守护进程的主机都可以用来管理和创建虚拟网络。 4. 体系结构 libvirt的体系结构包括Daemon(libvirtd)、Virsh、API函数和数据结构声明、Python...
开发者可以通过libvirt提供的API与虚拟机进行交互,如创建、配置、运行和监视虚拟机等操作。利用libvirt API,开发者可以编写程序来控制和管理虚拟化环境,而无需直接操作底层虚拟化技术的代码。 Python作为一门...