[openstack-dev] [swift] container DB movement to another

John Dickinson me at not.mn
Fri Aug 14 14:28:18 UTC 2015


There isn't currently any way to directly move a container DB from one drive to another. As you said, the placement is based on the hash of the container name, so you can't change that.

One thing you can do is lower the weight of the drive that is very busy. This will cause less partitions to be placed there and lower the overall load on that particular drive. This is not a panacea though. The load will simply move to other hardware in the cluster. If you're lucky, then you'll have the larger container DB on a less busy drive.

I'd strongly recommend that you deploy flash storage for accounts and containers. This will help alleviate these sorts of problems, and it's generally the cheapest way for an operator to resolve these sorts of problems.

If it's possible, you should see if you can get the end-user to use many containers instead of one container. Spreading the load around the system to more containers is a best-practice for using Swift.

Longer-term, we're talking about how to scale container resources in Swift. This week at the Swift midcycle hackathon, we talked about some ideas on how to transparently shard the container DBs. However, implementing it is a large amount of work that will take a while to complete.

I hope these suggestions help.


--John




> On Aug 11, 2015, at 4:38 PM, Senthil <senthil69 at gmail.com> wrote:
> 
> Hi,
> 
> Are you currently using same disks/nodes  for container and  object storage ?
> http://docs.openstack.org/openstack-ops/content/maintenance.html
> talks about replacing storage nodes. The same instructions applies to container db as well.You need to apply the changes to container ring and push it out.  You will be able to move container db to different server or relocate container db to different disk
> 
> Hope it helps
> 
> Senthil
> 
> 
> 
> 
> 
> On Tue, Aug 11, 2015 at 2:39 PM, Jinkyung Hwang <jinkyung.hwang at kt.com> wrote:
> Hello,
> 
> Is there any method to move A container DB to another container server of different physical disk of original one ?
> 
> I have a very large container (having 70 million objects).
> This container IO makes other customer's container read/write operation very slow, so I'd like to move it to another location that is more idle.
> 
> BUT Swift URL is made with MD5 Hash and it cannot be modifiable.
> 
> How can I move the container DB ? Or is there any method to use something like 'link' ?
> 
> It would be appreciated if you share any ideas.
> 
> Thank you
> 
> Jinkyung Hwang
> 
> 
> 
> 이 메일은 지정된 수취인만을 위해 작성되었으며, 중요한 정보나 저작권을 포함하고 있을 수 있습니다. 어떠한 권한 없이, 본 문서에 포함된 정보의 전부 또는 일부를 무단으로 제3자에게 공개, 배포, 복사 또는 사용하는 것을 엄격히 금지합니다. 만약, 본 메일이 잘못 전송된 경우, 발신인 또는 당사에 알려주시고, 본 메일을 즉시 삭제하여 주시기 바랍니다.
> This E-mail may contain confidential information and/or copyright material. This email is intended for the use of the addressee only. If you receive this email by mistake, please either delete it without reproducing, distributing or retaining copies thereof or notify the sender immediately.
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> --
> - Senthil
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150814/01771c31/attachment.pgp>


More information about the OpenStack-dev mailing list