|
|
Line 1: |
Line 1: |
− | | + | This page has moved to [[Cinder-multi-backend]] |
− | * '''Launchpad Entry''': https://blueprints.launchpad.net/cinder/+spec/multi-volume-backends
| |
− | * '''Created''': 8 Aug 2012
| |
− | * '''Contributors''': Nirmal Ranganathan
| |
− | | |
− | == Summary ==
| |
− | | |
− | Allow managing multi volume backends from a single volume manager. Right now there's a 1-1 mapping of manager-driver. This blueprint aims to provide suport for 1-n manager-drivers, where by certain volume drivers that really don't depend on local host storage can take advantage of this to manager multi backends without having to run multi volume managers.
| |
− | | |
− | The thought is to use the existing configuration sections to distinguish the various drivers to load for a single volume manager.
| |
− | | |
− | == Release Note ==
| |
− | # Run one or more drivers with a single volume manager.
| |
− | # Adds support for volume backends within the volumes table to distinguish which driver to choose for a certain volume.
| |
− | | |
− | == Rationale ==
| |
− | | |
− | Currently there's no way to manage multi backends, it's 1-1. This provides more flexibility for an operator manager several backends, where they could just run 2 or 3 volume managers for load balancing instead of having to run multi instances of volume managers for each of the backends plus if they need to load balance it.
| |
− | | |
− | == User stories ==
| |
− | | |
− | No user facing impact.
| |
− | | |
− | == Design ==
| |
− | | |
− | Provide a way in the configuration to support multiple sections per volume driver configuration.
| |
− | | |
− | == Implementation ==
| |
− | | |
− | === Sample Config ===
| |
− | | |
− | Here's how the configuration would look like with the new changes.
| |
− | NOTE: You can still run the regular 1-1 manager-driver with the existing configuration options.
| |
− | | |
− | | |
− | <pre><nowiki>
| |
− | [DEFAULT] | |
− | iscsi_helper=tgtadm
| |
− | | |
− | # Multi Volume Backend support
| |
− | multi_backend_support=True
| |
− | multi_backend_configs=locallvm,cluster1
| |
− | | |
− | [locallvm] | |
− | volume_driver=nova.volume.driver.ISCSIDriver
| |
− | volume_group=cinder-volumes
| |
− | | |
− | [cluster1]
| |
− | volume_driver=nova.volume.san.HpSanISCSIDriver
| |
− | san_ip=x.x.x.x
| |
− | san_ssh_port=123
| |
− | san_login=foo
| |
− | san_password=bar
| |
− | san_clustername=cluster1
| |
− | </nowiki></pre>
| |
− | | |
− | | |
− | === Code Changes ===
| |
− | | |
− | Mostly update the volume manager to support multi drivers and update the drivers to load configuration on startup rather than loading then when they need it.
| |
− | | |
− | === Migration ===
| |
− | | |
− | ==== Additions: ====
| |
− | # volume_backends
| |
− | ## created_at - datetime
| |
− | ## updated_at - datetime
| |
− | ## deleted_at - datetime
| |
− | ## deleted - tinyint(1)
| |
− | ## id - int(11)
| |
− | ## name - varchar(255)
| |
− | ## description - varchar(255)
| |
− | | |
− | ==== Modifications: ====
| |
− | # volumes
| |
− | ## backend_id - int(11) Foreign key to volume_backends.id
| |
− | | |
− | == Test/Demo Plan ==
| |
− | | |
− | TBD
| |
− | | |
− | ----
| |
− | [[Category:Spec]]
| |