柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: 云计算
2014-06-03 20:37:30
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:
ISCSI:
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表中。
转载来源:原文链接地址: