Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10329050
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 云计算

2014-06-03 20:37:30

 

CloudStack存储简介

分类: CloudStack 2760人阅读 评论(0) 收藏 举报

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表中。

转载来源:

原文链接地址:

阅读(1061) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~