Re: moving mons across networks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 13, 2017 at 11:04 AM, Dan van der Ster <dan@xxxxxxxxxxxxxx> wrote:
> On Wed, Sep 13, 2017 at 10:54 AM, Wido den Hollander <wido@xxxxxxxx> wrote:
>>
>>> Op 13 september 2017 om 10:38 schreef Dan van der Ster <dan@xxxxxxxxxxxxxx>:
>>>
>>>
>>> Hi Blair,
>>>
>>> You can add/remove mons on the fly -- connected clients will learn
>>> about all of the mons as the monmap changes and there won't be any
>>> downtime as long as the quorum is maintained.
>>>
>>> There is one catch when it comes to OpenStack, however.
>>> Unfortunately, OpenStack persists the mon IP addresses at volume
>>> creation time. So next time you hard reboot a VM, it will try
>>> connecting to the old set of mons.
>>> Whatever you have in ceph.conf on the hypervisors is irrelevant (after
>>> a volume was created) -- libvirt uses the IPs in each instance's xml
>>> directly.
>>>
>>
>> That's why I always recommend people to use DNS and preferably a Round Robin DNS record to overcome these situations.
>>
>> That should work with OpenStack as well.
>>
>> ceph-mon.storage.local. AAAA 2001:db8::101
>> ceph-mon.storage.local. AAAA 2001:db8::102
>> ceph-mon.storage.local. AAAA 2001:db8::103
>>
>> And then use *ceph-mon.storage.local* in your OpenStack configuration a MON.
>>
>
> Does that work? Last time I checked, it works like this when a new
> volume is attached:
>
>    - OpenStack connects to ceph using ceph.conf, DNS, whatever...
>    - Retrieve the monmap.
>    - Extract the list of IPs from the monmap.
>    - Persist the IPs in the block-device-mapping table.
>
> I still find that logic here:
> https://github.com/openstack/nova/blob/master/nova/virt/libvirt/storage/rbd_utils.py#L163
>

And here's that same approach in the Cinder driver:

https://github.com/openstack/cinder/blob/master/cinder/volume/drivers/rbd.py#L350

-- dan



> Next time you hard-reboot the VM, it will connect to the IPs directly
> -- not use ceph.conf or DNS.
>
> -- Dan
>
>
>
>> Wido
>>
>>> There is an old ticket here: https://bugs.launchpad.net/cinder/+bug/1452641
>>> It's recently gone unassigned, but there is a new proposed fix here:
>>> http://lists.openstack.org/pipermail/openstack-dev/2017-June/118040.html
>>>
>>> As of today, you will need to manually update nova's
>>> block-device-mapping table for every volume when you re-ip the mons.
>>>
>>> Cheers, Dan
>>>
>>>
>>> On Wed, Sep 13, 2017 at 4:57 AM, Blair Bethwaite
>>> <blair.bethwaite@xxxxxxxxx> wrote:
>>> > Hi all,
>>> >
>>> > We're looking at readdressing the mons (moving to a different subnet)
>>> > on one of our clusters. Most of the existing clients are OpenStack
>>> > guests on Libvirt+KVM and we have a major upgrade to do for those in
>>> > coming weeks that will mean they have to go down briefly, that will
>>> > give us an opportunity to update their libvirt config to point them at
>>> > new mon addresses. We plan to do the upgrade in a rolling fashion and
>>> > thus need to keep Ceph services up the whole time.
>>> >
>>> > So question is, can we for example have our existing 3 mons on network
>>> > N1, add another 2 mons on network N2, reconfigure VMs to use the 2 new
>>> > mon addresses, all whilst not impacting running clients. You can
>>> > assume we'll setup routing such that the new mons can talk to the old
>>> > mons, OSDs, and vice-versa.
>>> >
>>> > Perhaps flipping the question on its head - if you configure a librbd
>>> > client with only a subset of mon addresses will it *only* talk to
>>> > those mons, or will it just use that config to bootstrap and then talk
>>> > to any mons that are up in the current map? Or likewise, is there
>>> > anything the client has to talk to the mon master for?
>>> >
>>> > --
>>> > Cheers,
>>> > ~Blairo
>>> > _______________________________________________
>>> > ceph-users mailing list
>>> > ceph-users@xxxxxxxxxxxxxx
>>> > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>> _______________________________________________
>>> ceph-users mailing list
>>> ceph-users@xxxxxxxxxxxxxx
>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux