Does every site have its own caching when set up?
WP sites yes; non-WP can't benefit of "automatic" cache. Every site of yours should solve the cache issue the best they can.
How can I clean a particular cache for a particular site only?
For WordPress I'd try:
cd /var/www/domain.com/htdocs
wp cache flush
Of course, your mileage may vary. And, again, non-WP sites do not have any cache integrated to WO.
I'm going to separate the database server, how do I optimize for high performance?
I'll let someone else to answer that. 🙂
How do I limit disk space for a particular site? (I'm going to use ubuntu 20.04 LTS)
You don't. Such a feature is out of WO's project scope.