We recently migrated our existing Solr to Solr cloud on the Prod environments. We followed a similar kind of approach suggested by Mahendra. We first migrated the Solr to Solr Cloud on the CM by making the connection string changes, config changes and did the indexing, while the indexing is performing in the background the CD server still serves the data from old Solr so there won't be downtime while we performing the index. Once the indexing is completed you can switch the CD instances pointing to the new Solr Cloud. This works really well with 0 downtimes on the site.
We also faced some challenges while migrating the XDB data to the Solr cloud. It had 40GB worth of data and it will take a hell lot of time to complete the indexing. Only for the XDB, we found the other way to migrate. For XDB we have backed up our old data using the Solr API query and restored it in the leader Solr node in the Solr cloud. Now the leader will distribute the data to other Solr nodes in the background.
These are the commands we used for backup and restore.
Backup - http://localhost:8983/solr/your-collection-name/replication?command=backup&location=d:\\solr-backup
Restore - http://localhost:8983/solr/your-collection-name/replication?command=restore&location=d:\\solr-backup
Orginal Post
A blog that gives you a better understanding.