Formas de acelerar o reequilíbrio do MogileFS?

1

Estou no processo de atualização de armazenamento para o nosso cluster MogileFS e estou usando os recursos de rebalanceamento e drenagem de dispositivo para migrar dados de um conjunto de dispositivos para outro. Temos cerca de 55 TB em um conjunto de dispositivos que gostaria de migrar para um novo conjunto de dispositivos de 88 TB livres.

Eu tenho a seguinte configuração de política:

[ashinn@mogile2 ~]$ sudo mogadm rebalance settings
             rebal_policy = from_devices=2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028 to_hosts=5,6,7 leave_in_drain_mode=1

Mas parece que apenas drenar / reequilibrar um dispositivo de cada vez:

[ashinn@mogile2 ~]$ sudo mogadm rebalance status
Rebalance is running
Rebalance status:
             bytes_queued = 250755303323
           completed_devs = 
              fids_queued = 7785000
                    limit = 0
             sdev_current = 2005
             sdev_lastfid = 1444986524
               sdev_limit = none
              source_devs = 2016,2028,2007,2013,2012,2022,2008,2001,2024,2017,2023,2025,2009,2015,2006,2026,2021,2020,2019,2010,2027,2004,2018,2014,2002,2011,2003
            time_finished = 0
             time_started = 1340960590
             time_stopped = 0

Nesse ritmo, levaria 4 meses para drenar todos os dispositivos antigos e se reequilibrar para os novos! Aqui está uma lista dos dispositivos que estou tentando drenar e os novos adicionados. dev2001 para dev2028 estão definidos para drenar e reequilibrar para todos os 3 hosts (incluindo os novos dispositivos dev2029 para dev2036 no host id 6):

[ashinn@mogile2 ~]$ sudo mogadm device list | grep dev20
dev2001: drain      2018.942 731.216 2750.158
dev2002: drain      2022.452 727.706 2750.158
dev2003: drain      2022.311 727.848 2750.158
dev2004: drain      2022.211 727.947 2750.158
dev2005: drain      1472.550 1277.608 2750.158
dev2006: drain      2022.135 728.023 2750.158
dev2007: drain      2022.139 728.020 2750.158
dev2008: drain      2022.246 727.912 2750.158
dev2009: drain      2022.369 727.789 2750.158
dev2010: drain      2022.191 727.967 2750.158
dev2011: drain      2022.694 727.464 2750.158
dev2012: drain      2022.256 727.902 2750.158
dev2013: drain      2022.117 728.041 2750.158
dev2014: drain      2022.271 727.887 2750.158
dev2015: drain      2021.590 728.568 2750.158
dev2016: drain      2021.499 728.659 2750.158
dev2017: drain      2021.712 728.446 2750.158
dev2018: drain      2021.191 728.967 2750.158
dev2019: drain      2020.846 729.312 2750.158
dev2020: drain      2021.758 728.400 2750.158
dev2021: drain      2021.490 728.668 2750.158
dev2022: drain      2021.217 728.941 2750.158
dev2023: drain      2020.922 729.236 2750.158
dev2024: drain      2019.909 730.249 2750.158
dev2025: drain      2020.503 729.655 2750.158
dev2026: drain      2020.807 729.352 2750.158
dev2027: drain      2021.056 729.103 2750.158
dev2028: drain      2020.487 729.671 2750.158
dev2029: alive      182.120 10818.996 11001.116
dev2030: alive      184.549 10816.567 11001.116
dev2031: alive      185.268 10815.849 11001.116
dev2032: alive      182.004 10819.112 11001.116
dev2033: alive      189.295 10811.821 11001.116
dev2034: alive      183.199 10817.917 11001.116
dev2035: alive      178.625 10822.491 11001.116
dev2036: alive      180.549 10820.567 11001.116

Já tentamos ajustar queue_rate_for_rebal , queue_size_for_rebal e os trabalhadores replicados.

Fizemos isso uma vez usando zonas em dois datacenters e a replicação foi MUITO mais rápida. Esperávamos que um reequilíbrio funcionasse muito como replicação. Mas, a este ritmo, parece que marcar os dispositivos antigos como mortos para a replicação de fids seria mais rápido.

Existem outras maneiras de acelerar um rebalanceamento (como vários dispositivos ao mesmo tempo) sem precisar marcar os dispositivos como mortos?

    
por Andy Shinn 29.06.2012 / 18:57

0 respostas