将cassandra数据从常规驱动器迁移到生产服务器上的SSD

我们希望将我们的数据从生产服务器上的常规驱动器迁移到新的SSD驱动器。 我们怎样才能做到这一点,而不会超过4小时的时间(假设交接时间是4小时),我们的数据是在几百GigaBytes。

我一直在想的是在一个节点上一次性停止cassandra,将数据刷新到磁盘,然后将数据从旧的驱动器传输到新的驱动器,并卸载旧的磁盘并使节点联机。 这是一个正确的做法? 如果是这样,我主要关心的是,数据迁移到新磁盘需要超过4个小时,而我将失去提示。

有没有更好的方法将数据迁移到新磁盘?

当Cassandra运行时,从HD到SSD的rsync。 确保使用-H和–delete标志来处理硬链接并删除sstables / commitlogs。 不要忘记提交日志,如果他们在同一台设备上。 一旦达到了传输大量数据的时间,并且相对较快的rsyncs完成,您可以排除并停止cassandra实例,执行最终的rsync并更改data_dirpath。 这将节点停机时间缩短到几分钟,大概是最终的rsync所花费的时间,假设机箱可以同时适合HD和SSD。

或者如果你的复制> 1,模拟一个死的节点,然后用新的SSD布局引导它,并让它重新join集群。