I know there is a good deal of interest [1] on feasible methods for
enabling vnodes on clusters that did not start with them.
We recently completed a migration from a production cluster not using
vnodes and in a single DC to one using vnodes in two DCs. We used the
"just spin up a new DC and rebuild" strategy instead of shuffle and it
worked. The checklist was long but it really wasn't more complicated
than that. Thanks to several people in #cassandra for suggesting the
technique and reviewing procedures.
One oddity we noticed is that when nodes in a new DC join
(auto_bootstrap:false) CL.ONE performance tanked [2]. The spike is when
the nodes came online, and the drop is when reads were switched to
CL.LOCAL_QUORUM This only happened when the new DC was cross-continent
(not a logical DC in the same colo).
[1]
http://mail-archives.apache.org/mod_mbox/cassandra-user/201308.mbox/%3CCAEDUwd12vhRJbPZpVJ6QzTOx3pwU=11hhgkkipghhgvosbj...@mail.gmail.com%3E
[2] http://i.imgur.com/ZW5Ob8V.png