Назад | Перейти на главную страницу

миграция данных cassandra с обычного диска на SSD на рабочем сервере

мы хотим перенести наши данные с обычных дисков на производственном сервере на новые твердотельные накопители. как мы можем сделать это, не отключая узел, не дольше 4 часов (намекает, что передача составляет 4 часа), наши данные составляют несколько сотен гигабайт.

то, что я думал, - это остановить Cassandra на одном узле за раз, сбрасывая данные на диски, а затем перенося данные со старых дисков на новые, размонтируйте старый диск и вернув узел в оперативный режим. Это правильный подход ?? Если это так, то меня больше всего беспокоит то, что перенос данных на новый диск занимает в среднем более 4 часов, в то время как я потеряю подсказки.

Есть ли лучший подход для переноса данных на новые диски ??

Пока Cassandra работает, rsync с HD на SSD. Убедитесь, что вы используете флаги -H и --delete для адресации жестких ссылок и удаленных файлов sstables / commitlogs. Не забывайте журналы коммитов, если они находятся на одном устройстве. Как только вы дойдете до точки, когда вы передали основную часть данных и последующие rsync завершились относительно быстро, вы можете слить и остановить этот экземпляр cassandra, выполнить последний rsync и изменить путь data_dir. Это сокращает время простоя узла до минут, примерно до времени, необходимого для окончательной rsync, при условии, что шасси может одновременно соответствовать как HD, так и SSD.

или, если ваша репликация> 1, смоделируйте мертвый узел, а затем загрузите его с новым макетом SSD и заставьте его снова присоединиться к кластеру.