CloudStack存储简介

CloudStack把存储分成了主存储(Primary Storage)与二级存储(Secondary Storage). 根据Hypervisor种类的不同, 主存储中的磁盘镜像格式见下表:

类型 XenServer ESXi KVM
磁盘格式 VHD VMDK QCOW2
本地存储 支持 支持 支持
NFS 支持 支持 支持
iSCSI Clustered LVM VMFS via SharedMountPoind
FC-SAN via Existing SR VMFS via Shared MountPoint
SharedMountPoint 不支持 不支持 支持
支持存储超配 NFS NFS,iCSCI NFS







iSCSI和FC-San存储在Xenserver中被加载为Clustered LVM格式,此种格式下,不能支持存储的超配。如果存储本身支持XenServer的thin-provisioning,CloudStack也可以支持存储超配

在全局配置中,有storage.overprovisioning.factor 项用来配置超配的比例。默认为2,即支持超配的存储格式,可以使用的存储为该存储的N倍。

配置完成后,可以在UI的Dashboard中查看存储信息。Primary Storage Allocated项是超配后的所有主存储的总和,Storage项是所有主存储实际大小的总和。

各种主存储添加方式:
NFS:

CloudStack新加NFS主存储

CloudStack新加NFS主存储

ISCSI:

CloudStack添加iSCSI存储

CloudStack添加iSCSI存储

PreSetup:

CloudStack添加PreSetup存储

CloudStack添加PreSetup存储

Tips:PreSetup模式添加的主存储,在添加过程中不会向hyperviser发送命令获取实际IP地址。这样会导致NFS或者iSCSI的存储,在使用PreSetup格式添加完成之后,DB和UI中显示IP Address为localhost。所以,NFS和iSCSI存储尽量在UI中添加,以保证显示正常存储IP等信息。

主存储和二级存储功能:

主存储主要用来存放虚拟机的磁盘镜像。

对于XenServer,虚拟机磁盘格式分为VHD和Clustered LVM两种。在NFS的 主存储中,磁盘格式为VHD,在iSCSI和FC-San的存储中,磁盘格式为Clustered LVM,对于VHD格式的磁盘,XenServer支持thin-provision,对于每个磁盘是链式存储,对于磁盘的copy等操作,都会基于该磁盘生成一个新的链,新加内容写入新的链中。Clustered LVM不能进行此类操作,所以不能支持超配。

二级存储用来存放template,snapshot和需要下载的volume。

二级存储不直接挂载到hyperviser上,需要由management server或ssvm来进行操作。

二级存储中有3个目录,template,volume,snapshots

template目录存放的是cloudstack所管理的模板。目录结构为:template/tmpl/userid/templateid/templatefile。第一次从模板创建vm的过程,需要把secondary storage挂载到management server,然后由management server通过hyperviser像primary storage中复制模板,将template目录下的相应文件复制到primary storage中,然后将复制过去的文件标记为模板,之后再次通过该template创建的vm,都会直接从模板复制一个新的磁盘挂载到vm上作为主磁盘。

下载模板时,会由ssvm挂载相应目录,将文件link到/var/www/userdata下,并生成链接存放到db中,提供给用户进行下载。

跨zone复制模板的时候,会将文件link到/var/www/copy 目录下,并在copy中的.htaccess进行权限设置,根据全局配置和具体环境信息,会设置某些IP的可访问,某些IP无法访问。例如:如果两个zone在同一网段,都为192.168.1.*,则默认无法对模板进行copy操作,或者192.168.1.*网段的http server不允许向cloudstack上传模板。此功能由全局配置中的secstorage.allowd.internal.sites控制,将需要copy的网段添加到此项中,以逗号分隔,重启ms,然后破坏掉ssvm重建即可保证此项操作顺利进行。

snapshots存放的是vm某磁盘的快照。目录结构为: snapshots/userid/templateid/snapshotfile。创建snapshot的时候,会先从hyperviser层创建snapshot,然后将secondary storage mount到ssvm,之后创建完整的文件存储路径,将snapshot文件复制到secondary storage相应目录中。下载snapshot的时候,会由ssvm挂载相应目录,将文件link到/var/www/userdata下,并生成链接存放到db中,提供给用户下载。

volume存放的是需要下载的vm的磁盘的文件。在UI上点击下载后,会将volume文件先复制到secondary storage中,再由ssvm创建link到/var/www/userdata中,并生成链接存放到DB中,提供给用户进行下载。

Trouble Shooting:

1、上传或下载模板时,可能会发生无法Connection Refuse或者连接不到网页之类的错误,发生此类错误,如果保证网络通畅,则可能是由于全局配置中的 secstorage.allowd.internal.sites 没有添加相关网络范围导致。
解决方案:在全局配置中加入相关设置,重启ms,将相关zone的ssvm破坏掉,等待系统重建ssvm

2、网络畅通,secstorage.allowd.internal.sites 正确配置,但是依然无法上传或下载模板,可能的原因是由于ssvm 的多个网卡都在同一网络中,会有几率导致route表中只有第一项可以正常通信,其他网卡arp无响应。此时状态是ping ssvm的public ip会不通
解决方案:重启ssvm可以恢复网卡通信

3、网络畅通,secstorage.allowd.internal.sites 正确配置,也可以ping通public ip,但是依然无法下载模板,提示权限错误,可能是由于db中的链接未过期删除,手动删除update表中的相关链接,然后重新登录UI点击下载模板,可以生成新的url并更新到update表中。

转载来源: CloudStack中文社区

原文链接地址:http://www.cloudstack-china.org/2012/09/515.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值