Currently, with Raft, badly. Raft cannot scale to 100s of nodes, but we plan to have an alternative by the end of Q1 which will do.
You could use multiple clusters + cluster composition but that becomes harder to manage.
Size limitations come from ipfs, but I think with experimental badgerDS it should be in the terabytes. Cluster is mostly going to set a limit in number of cluster-pinned items. Things like status sync operations will get slower as the number grows into the 100s of thousands and memory usage will grow. We have also some plans to address this rather soon. I am not sure how many pinned items ipfs can take though, but I think pin/unpin operations will degrade badly with really big amounts.
If they are completely isolated… but I would not.
In case if I have multiple clusters I need identified from which cluster my file’s CID.
If I understand this well, it would be up to you to track. If you use composition, you can use the “over-cluster” to track which subcluster has what.
You can set the replication factor to lower than ‘everyone’ (-1). We don’t support manual peer allocations per pin right now, but it can be done rather easily (open an issue).