OpenStackCinder与各种后端存储技术的集成叙述与实践

本文介绍了OpenStack Cinder项目中多种后端存储技术的应用场景,包括LVM、FC+SAN、iSCSI+SAN、NFS、VMWARE及Glusterfs等,并详细展示了每种存储技术的具体配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cinder项目为管理快设备而生,它最重要的地方就是如何做到和各种存储后端就到完美适配,用好后端存储的功能,本文为Cinder 多种后端存储(LVM, FC+SAN, iSCSI+SAN, NFS, VMWARE, Glusterfs)的场景总结, 以防自己将来忘记,欢迎交流, 共同成长微笑

1.LVM

开始OpenStack Cinder实践之旅的入门存储, cinder.conf 什么都不配,默认就是使用LVM, LVM的原理

先把分区用pvcreate做成物理卷, 再把多个物理卷做成一个卷组,然后创建volume的时候就通过lvcreate分配lvm逻辑卷。

做部署时,用dd在当前目录创建一个设定大小(本例中为10G)的文件(cinder-volumes),然后通过losetup命令把他影射为loop device(虚拟快设备),然后基于这个快设备建立逻辑卷, 然后就是建立vg, 建立vg的时候可以一次包含多个pv,本例只使用了一个。


view sourceprint?

01.dd if=/dev/zero of=/vol/cinder-volumes bs=1 count=0 seek=10G

02.# Mount the file.

03.loopdev=`losetup -f`

04.losetup $loopdev /vol/cinder-volumes

05.# Initialize as a physical volume.

06.pvcreate $loopdev

07.# Create the volume group.

08.vgcreate cinder-volumes $loopdev

09.# Verify the volume has been created correctly.

10.pvscan

建立好volume group后,使用cinder.conf的初始配置即可

重启cinder-volume服务

就可以进行正常的volume创建,挂载,卸载等等操作了

question1:LVM如何实现挂载?

创建很简单,通过lvcreate命令即可,挂载稍微复杂点, 先要把卷export为scsi存储目标设备(target,会有个lun ID),  然后通过linux scsi initiator软件实现到目标设备的连接,这里用到两个软件,scsi tagert管理软件(这个里面有多种如Tgt,Lio,Iet,ISERTgt,默认使用Tgt, 都是为装有SCSI initiator的操作系统提供块级scsi存储)与linux scsi initiator,所以两次操作分别对应命令为tgtadm与iscsiadm。

2. FC(Fibre Channel) +SAN 设备

要求:a) 计算节点所在的机器一定要有HBA卡(光纤网卡),
                   查看host上有无HBA卡方式:

一种方法:

view sourceprint?

1.$ lspci

2.20:00.0 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02)

3.20:00.1 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02

二种方法:


可以查看/sys/class/fc_host/

当有两块光纤网卡,则有host1 与host2两个目录

view sourceprint?

1.$ cat /sys/class/fc_host/host1/port_name

2.0x10000090fa1b825a wwpn (作用如同MAC地址)

b) 网卡通过光纤线连接到后端存储上, 以ibm的svc为例,必须保证连接上了,可以登录svc图形界面查看host是不是active的, 或者ssh登录svc,运行命令

view sourceprint?

1.ww_2145:SVC:superuser>svcinfo lsfabric -delim ! -wwpn "10000090fa1b825a"

2. 

3.10000090FA1B825A!0A0C00!3!node_165008!500507680130DBEA!2!0A0500!active!x3560m4-06MFZF1!!Host

这样才能保证做卷的挂载与卸载时没有问题
下面是实践,以Storwize设备为例:

view sourceprint?

1.volume_driver = cinder.volume.drivers.storwize_svc.StorwizeSVCDriver

2.san_ip = 10.2.2.123

3.san_login = superuser

4.#san_pass<a class="keylink" href="http://www.it165.net/edu/ebg/" target="_blank">word</a> = passw0rd

5.san_private_key = /svc_rsa

6.storwize_svc_volpool_name = DS3524_DiskArray1

7.storwize_svc_connection_protocol = FC

san_password 与san_private_key可以二选一,推荐san_private_key 方式,这个私钥文件用ssh-keygen生成,生成好留下私钥, 把公钥放到san设备上,以后其他host也想连接此存储设备时, 可直接使用此私钥, 不需重复生成。

测试过程,建个volume

view sourceprint?

1.[root@localhost ~]#  cinder create --display-name test55 1

2.[root@localhost ~]#  nova volume-list

3.+--------------------------------------+-----------+--------------+------+-------------+-------------+

4.| ID                                   | Status    | Display Name | Size | Volume Type | Attached to |

5.+--------------------------------------+-----------+--------------+------+-------------+-------------+

6.| 24f7e457-f71a-43ce-9ca6-4454fbcfa31f | available | test55       | 1    | None        |             |

7.+--------------------------------------+-----------+--------------+------+-------------+-------------+

用以下instance来进行attach挂载虚拟硬盘, 省了boot instance的过程~

view sourceprint?

01.[root@localhost ~]#  nova list

02.+--------------------------------------+-----------+--------------+------+-------------+-------------+

03.| 77d7293f-7a20-4f36-ac86-95f4c24b29ae | test2 | ACTIVE | -          | Running     | net_local=10.0.1.5 |

04.+--------------------------------------+-------+--------+------------+-------------+--------------------+

05.[root@localhost ~]# nova volume-attach 77d7293f-7a20-4f36-ac86-95f4c24b29ae 24f7e457-f71a-43ce-9ca6-4454fbcfa31f

06.+----------+--------------------------------------+

07.| Property | Value                                |

08.+----------+--------------------------------------+

09.| device   | /dev/vdb                             |

10.| id       | 24f7e457-f71a-43ce-9ca6-4454fbcfa31f |

11.| serverId | 77d7293f-7a20-4f36-ac86-95f4c24b29ae |

12.| volumeId | 24f7e457-f71a-43ce-9ca6-4454fbcfa31f |

13.+----------+--------------------------------------+

14.[root@localhost ~]# cinder list

15.+--------------------------------------+-----------+--------------+------+-------------+----------+--------------------------------------+

16.|                  ID                  |   Status  | Display Name | Size | Volume Type | Bootable |             Attached to              |

17.+--------------------------------------+-----------+--------------+------+-------------+----------+--------------------------------------+

18.| 24f7e457-f71a-43ce-9ca6-4454fbcfa31f |   in-use  |    test55    |  1   |     None    |  false   | 77d7293f-7a20-4f36-ac86-95f4c24b29ae |

19.+--------------------------------------+-----------+--------------+------+-------------+-------------+

3. iSCSI+SAN 设备   

这个是通过TCP/IP 协议来连接存储设备的,只需要保证存储服务节点能够ping通san ip和计算机点能ping存储设备上的iSCSI node ip即可。

以ibm的svc或者v7000为例。
  与FC部分配置唯一的不同就是

view sourceprint?

1.storwize_svc_connection_protocol = FC ==》 storwize_svc_connection_protocol = iSCSI

测试过程同上,一切ok

4. 使用VMWARE

这个主要是使用vcenter来管理快存储。cinder这个其实就是封装了一层, 最终都是调用vcenter的存储管理的功能。就像是一个中转一样,修改cinder.conf中如下配置项

view sourceprint?

1.volume_driver = cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver

2.vmware_host_ip = $VCENTER_HOST_IP

3.vmware_host_username = $VCENTER_HOST_USERNAME

4.vmware_host_password = $VCENTER_HOST_PASSWORD

5.vmware_wsdl_location = $WSDL_LOCATION

6.# VIM Service WSDL Location

7.# example, 'file:///home/SDK5.5/SDK/vsphere-ws/wsdl/vim25/vimService.wsdl


测试过程同2,一切即ok。

5.NFS

非常普遍的一种网络文件系统,原理可google,直接开始cinder中的实践  

第一步: 规划好NFS存储server端, 分别分布在那些节点,那些目录,这里在两个节点做规划,作为nfs server端,10.11.0.16:/var/volume_share和10.11.1.178:/var/volume_share,在这两台机器上建好目录/var/volume_share, 并export为nfs存储,在两个节点上启动nfs服务


 第二步:建立/etc/cinder/share.txt,内容如下, 告知可以被mount的共享存储

view sourceprint?

1.10.11.0.16:/var/volume_share

2.10.11.1.178:/var/volume_share

修改权限及用户组

view sourceprint?

1.$ chmod 0640 /etc/cinder/share.txt

2.$ chown root:cinder /etc/cinder/share.txt

第三步:编辑/etc/cinder/cinder.conf

view sourceprint?

1.volume_driver=cinder.volume.drivers.nfs.NfsDriver

2.nfs_shares_config=/etc/cinder/shares.txt

3.nfs_mount_point_base=$state_path/mnt

重启cinder-volume服务,ok了,测试过程和2一样。

有一次变更环境,voluem-attach报了错:

view sourceprint?

01.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     connector)

02.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher   File "/usr/lib/python2.6/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__

03.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     six.reraise(self.type_, self.value, self.tb)

04.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher   File "/usr/lib/python2.6/site-packages/nova/virt/block_device.py", line 239, in attach

05.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     device_type=self['device_type'], encryption=encryption)

06.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 1263, in attach_volume

07.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     disk_dev)

08.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher   File "/usr/lib/python2.6/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__

09.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     six.reraise(self.type_, self.value, self.tb)

10.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 1250, in attach_volume

11.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     virt_dom.attachDeviceFlags(conf.to_xml(), flags)

12.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher   File "/usr/lib/python2.6/site-packages/eventlet/tpool.py", line 179, in doit

13.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     result = proxy_call(self._autowrap, f, *args, **kwargs)

14.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher   File "/usr/lib/python2.6/site-packages/eventlet/tpool.py", line 139, in proxy_call

15.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     rv = execute(f,*args,**kwargs)

16.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher   File "/usr/lib/python2.6/site-packages/eventlet/tpool.py", line 77, in tworker

17.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     rv = meth(*args,**kwargs)

18.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher   File "/usr/lib64/python2.6/site-packages/libvirt.py", line 419, in attachDeviceFlags

19.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher     if ret == -1: raise libvirtError ('virDomainAttachDeviceFlags() failed', dom=self)

20.2014-06-12 11:41:58.659 19312 TRACE oslo.messaging.rpc.dispatcher libvirtError: internal error unable to execute QEMU command '__com.redhat_drive_add': Device 'drive-virtio-disk1' could not be initialized


这个错来自libvirt,做以下设置即可,先察看virt_use_nfs是off还是on

view sourceprint?

1.$ /usr/sbin/getsebool virt_use_nfs

如果是off,做以下设置 

view sourceprint?

1.$ /usr/sbin/setsebool -P virt_use_nfs on

6.GlusterFS      

写这么多, 觉得这个是比较好的,难怪redhat会收购它, 有眼光啊,它为分布式文件系统,可扩展到几个PB数量级的集群文件系统。可以把多个不同类型的存储块通过Infiniband RDMA或者TCP/IP汇聚成一个大的并行网络文件系统。

简单总结自己体会到的它的两个特性
          1.横向扩展能力强, 可以把不同节点的brick server组合起来,形成大的并行网络文件系统
          2.可以做软RAID,通过条带技术[stripe] 和镜像卷[replica], 提高并发读写速度和容灾能力

       下面提供一个cinder+glusterfs实践全过程, 穿插叙述glusterfs的优良特性的说明和使用

第一步:首先安装部署好gluterfs server环境:

本例中使用10.11.0.16和10.11.1.178作为连个节点,首先要在它们上装包

两种方式:yum源 or RPM 包

1:yum -y install glusterfs glusterfs-fuse glusterfs-server
           2:去以下网址下载包, 例如http://download.gluster.org/pub/gluster/glusterfs/3.5/3.5.0/RHEL/epel-6.5/x86_64/
                       glusterfs-3.5.0-2.el6.x86_64.rpm         glusterfs-fuse-3.5.0-2.el6.x86_64.rpm    glusterfs-server-3.5.0-2.el6.x86_64.rpm   
                       glusterfs-cli-3.5.0-2.el6.x86_64.rpm     glusterfs-libs-3.5.0-2.el6.x86_64.rpm  

我下载了3.5版本的,利用rpm的方式安装上。

装好之后,规划好多节点上的brick server,本例中将在10.11.1.178 和10.11.0.16上分别建立/var/data_cinder和/var/data_cinder2目录,并在10.11.1.178上建立存储集群cfs。

1.启动10.11.1.178和10.11.0.16上的glusterd服务

[root@chen ~]# /etc/init.d/glusterd start

2.在10.11.1.178上察看存储池状态

view sourceprint?

1.[root@kvm-10-11-1-178 ~]# gluster peer probe 10.11.0.16

2.[root@kvm-10-11-1-178 ~]# gluster peer probe 10.11.1.178 #本地也可以不执行

3.创建存储集群
     用法:$ gluster volume create <NEW-VOLNAME> [stripe <COUNT>] [replica <COUNT>] [transport <tcp|rdma|tcp,rdma>] <NEW-BRICK>?<vg_name>... [force]
     stripe 条带,类似做RAID0, 提高读写性能的,
     replica 顾名思义,镜像,类似于做RAID1, 数据会成镜像的写

stripe+ replica 可以做RAID10,此时stripe COUNT * replica  COUNT =brick-server  COUNT, 说多了,哈哈

view sourceprint?

1.[root@kvm-10-11-0-16 var]# mkdir data_cinder

2.[root@kvm-10-11-0-16 var]# mkdir data_cinder2

3.[root@kvm-10-11-1-178 var]# mkdir data_cinder

4.[root@kvm-10-11-1-178 var]# mkdir data_cinder2

5.[root@kvm-10-11-1-178 var]# gluster volume create cfs stripe 2 replica 2 10.11.0.16:/var/data_cinder2 10.11.1.178:/var/data_cinder 10.11.0.16:/var/data_cinder 10.11.1.178:/var/data_cinder2 force

6.volume create: cfs: success: please start the volume to access data

注意:不要 gluster volume create cfs stripe 2 replica 2 10.11.0.16:/var/data_cinder2 10.11.0.16:/var/data_cinder 10.11.1.178:/var/data_cinder 10.11.1.178:/var/data_cinder2 force, 因为前两个是做RAID1, 在同一个节点上就起不到容灾能力了。

4. start 存储集群 
用法:$ gluster  volume start <NEW-VOLNAME>

view sourceprint?

01.[root@kvm-10-11-1-178 var]# gluster volume start cfs

02.volume start: cfs: success

03.[root@kvm-10-11-1-178 ~]# gluster volume info all

04. Volume Name: cfs

05.Type: Striped-Replicate

06.Volume ID: ac614af9-11b8-4ff3-98e6-fe8c3a2568b6

07.Status: Started

08.Number of Bricks: 1 2 2 4

09.Transport-type: tcp

10.Bricks:

11.Brick1: 10.11.0.16:/var/data_cinder2

12.Brick2: 10.11.1.178:/var/data_cinder

13.Brick3: 10.11.0.16:/var/data_cinder

14.Brick4: 10.11.1.178:/var/data_cinder2


第二步:client端,也就是cinder-volume service所在的节点,这端除了glusterfs-server包不用装,其他都要装上,这端就和nfs那些一样了,保证服务启动时会做好mount。

建立/etc/cinder/share.conf,内容如下, 告知可以被mount的集群存储


view sourceprint?

1.10.11.1.178:/cfs

修改权限及用户组

view sourceprint?

1.$ chmod 0640 /etc/cinder/share.conf

2.$ chown root:cinder /etc/cinder/share.conf

cinder.conf 配置


view sourceprint?

1.glusterfs_shares_config = /etc/cinder/shares.conf

2.glusterfs_mount_point_base = /var/lib/cinder/volumes

3.volume_driver=cinder.volume.drivers.glusterfs.GlusterfsDriver


view sourceprint?

1.[root@chen ~]# for i in api scheduler volume; do sudo service openstack-cinder-${i} restart; done


view sourceprint?

1.[root@chen ~]# cinder create --display-name  chenxiao-glusterfs 1

2.[root@chen ~]# cinder list

3.+--------------------------------------+----------------+--------------------+------+-------------+----------+--------------------------------------+

4.|                  ID                  |     Status     |    Display Name    | Size | Volume Type | Bootable |             Attached to              |

5.+--------------------------------------+----------------+--------------------+------+-------------+----------+--------------------------------------+ 

6.| 866f7084-c624-4c11-a592-8c00fcabfb23 |   available    | chenxiao-glusterfs |  1   |     None    |  false   |                                      |

7.+--------------------------------------+----------------+--------------------+------+-------------+----------+--------------------------------------+

每个brick server上都有此存储数据的分布, 都为512M, 只有1/2G 是因为做个RAID0, 分布在四处,总共有2G,是因为做了RAID1,以其中一个为例:

view sourceprint?

1.[root@kvm-10-11-1-178 data_cinder]# ls -al

2.总用量 20

3.drwxrwxr-x    3 root cinder      4096 6月  18 20:43 .

4.drwxr-xr-x.  27 root root        4096 6月  18 10:24 ..

5.drw-------  240 root root        4096 6月  18 20:39 .glusterfs

6.-rw-rw-rw-    2 root root   536870912 6月  18 20:39 volume-866f7084-c624-4c11-a592-8c00fcabfb23

boot个instance, 进行attach操作。

view sourceprint?

01.[root@chen data_cinder]# nova volume-attach f5b7527e-2ab8-424c-9842-653bd73e8f26 866f7084-c624-4c11-a592-8c00fcabfb23

02.+----------+--------------------------------------+

03.| Property | Value                                |

04.+----------+--------------------------------------+

05.| device   | /dev/vdd                             |

06.| id       | 866f7084-c624-4c11-a592-8c00fcabfb23 |

07.| serverId | f5b7527e-2ab8-424c-9842-653bd73e8f26 |

08.| volumeId | 866f7084-c624-4c11-a592-8c00fcabfb23 |

09.+----------+--------------------------------------+


view sourceprint?

1.[root@chen data_cinder]# cinder list

2.+--------------------------------------+----------------+--------------------+------+-------------+----------+--------------------------------------+

3.|                  ID                  |     Status     |    Display Name    | Size | Volume Type | Bootable |             Attached to              |

4.+--------------------------------------+----------------+--------------------+------+-------------+----------+--------------------------------------+

5.| 866f7084-c624-4c11-a592-8c00fcabfb23 |     in-use     | chenxiao-glusterfs |  1   |     None    |  false   | f5b7527e-2ab8-424c-9842-653bd73e8f26 |

6.+--------------------------------------+----------------+--------------------+------+-------------+----------+--------------------------------------+



本文转自 guowang327 51CTO博客,原文链接:http://blog.51cto.com/guowang327/1956424x,如需转载请自行联系原作者

Openstack 从 Folsom 开始使用 Cinder 替换原来的Nova-Volume服务,为 Openstack 云平台提供块存储服务。 Cinder架构                                                  /- ( LDAP )                              [ Auth Manager ] ---                                     |            \- ( DB )                                     |                                     |                    cinderclient     |                   /             \   | [ Web Dashboard ]-               -[ api ] --  -- [ scheduler ] -- [ volume ] -- ( iSCSI )                   \             /   |                    novaclient       |                                     |                                     |                                     |                                   Cinder服务 API service:负责接受和处理Rest请求,并将请求放入RabbitMQ队列。Cinder提供Volume API V2, 我没有找到格式很好的在线文档,大体可以参见Openstack block storage API V1 Scheduler service: 处理任务队列的任务,并根据预定策略选择合适的Volume Service节点来执行任务。目前版本的cinder仅仅提供了一个Simple Scheduler, 该调度器选择卷数量最少的一个活跃节点来创建卷。 Volume service: 该服务运行在存储节点上,管理存储空间。每个存储节点都有一个Volume Service,若干个这样的存储节点联合起来可以构成一个存储资源池。为了支持不同类型和型号的存储,当前版本的Cinder为Volume Service如下drivers。当然在Cinder的blueprints当中还有一些其它的drivers,以后的版本可能会添加进来。 本地存储:LVM, Sheepdog 网络存储: NFS, RBD (RADOS) IBM: XIV, Storwize V7000, SVC storage systems Netapp: NFS存储;ISCSI存储则需要OnCommand 5.0和Data ONTAP 7-mode storage systems with installed iSCSI licenses EMC: VNX, VMAX/VMAXe Solidfire: Solidfire cluster Cinder服务的部署 上述的Cinder服务都可以独立部署,cinder同时也提供了一些典型的部署命令: cinder-all: 用于部署all-in-one节点,即API, Scheduler, Volume服务部署在该节点上。 cinder-scheduler: 用于将scheduler服务部署在该节点上。 cinder-api: 用于将api服务部署在该节点上。 cinder-volume: 用于将volume服务部署在该节点上。 Cinder如何支持典型存储 从目前的实现来看,Cinder对本地存储和NAS的支持比较不错,可以提供完整的Cinder API V2支持,而对于其它类型的存储设备,Cinder的支持会或多或少的受到限制,下面是Rackspace对于Private Cloud存储给出的典型配置: 1. 本地存储 对于本地存储,cinder-volume可以使用lvm驱动,该驱动当前的实现需要在主机上事先用lvm命令创建一个cinder- volumes的vg, 当该主机接受到创建卷请求的时候,cinder-volume在该vg上创建一个LV, 并且用openiscsi将这个卷当作一个iscsi tgt给export. 当然还可以将若干主机的本地存储用sheepdog虚拟成一个共享存储,然后使用sheepdog驱动。 2. EMC 3. Netapp Cinder在IT环境中的主要问题 目前版本的Cinder在IT私有云场景中,从硬件兼容性,高性能,高可靠性,水平扩展能力,应用兼容性等维度来看,Cinder还存在不少问题需要解决。Cinder依然任重道远。 1. 对共享存储的支持有限 不支持FC SAN; 支持的存储设备有限,即使对于EMC, IBM这样的的主流存储厂商,也只能支持寥寥几款存储; 2. 对存储设备的使用不够高效 Cinder卷管理的基本原则是在共享存储上创建一个lun, 然后把这个lun作为一个block device给attach到一个虚拟机上。但是对于当前主流的存储,能够支持的最大lun数量非常有限,比如我们经常使用的Huawei S3900, 最多能支持288个lun,如果一个VM平均3个卷,不管这些VM是offline还是online, 这个存储最多只能支持90个VM。 3. 存储管理带来的性能损耗 比如Cinder Volume的LVM驱动使用iSCSI export一个逻辑卷,从管理的角度来看是解决了存储共享的问题,从而能够支持比如迁移这样的功能,但是这样的设计势必会导致较大的性能损耗,和直接访 问相比,通常iSCSI export会增加30%以上的IO延迟。 4. 数据如何迁移 企业IT环境中大量的数据,一般都是存放在SAN甚至是磁带设备上的,这些数据如何无损,安全的接入到Cloud呢?VMware因此提供了RDM, KVM和XEN也支持PVSCSI, 但是Cinder没有考虑这个。 5. Cinder的调度器不完善 Cinder提供的simple scheduler基本没有实用价值,  cinder-scheduler仅能在初始放置时保证系统负载均衡,但是如果是发生了运行时负载严重不平衡,cinder就没法处理了。 6. Cinder服务的可靠性问题 cinder-api和cinder-scheduler是系统的单点,cinder并没有提供这两个服务提供任何HA和load balance设计,所以整个系统可靠性还是扩展性会比较受限制。 cinder-db如果发生不可恢复的故障,能够保证用户数据能恢复吗? 介绍内容出处:http://blog.youkuaiyun.com/luo_brian/article/details/8592692 标签:OpenStack
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值