1) If we reboot an AppVol server, should the second one be rebooted as well?
Unless your did something special each appvolumes server is indepentent to each other, so you can reboot them sperataly
2) If we reboot an AppVol server, do we need to reboot the Connection servers so the AppVol server re-establishes connection to the connection servers?
Appvolumes servers are not tied to the connection servers. They only have assoications with the vcenter server your using, and AD.
App stacks not attaching are generally an entitlement issue, or an issue in parent image used for the clones. You should review any recent changes that started the issue and review and see if you can see any errors on why they aren't attaching.
Definitely look at your AppVolumes managers to start.
Are you sure your managers are configured properly to communicate with the database in an HA configuration? Basic question, but just to cut that one off. The managers must be using the same username/PW or else they will clobber each other.
Are they having trouble finding objects in AD? You would be able to see this in the manager logs. You'd see some timeouts and manager unable to find object <computer name>.
Are you mixing computer and user-based assignments? If so, maybe look to go to all user or all computer. In 2.15 (I believe) this still didn't work well, and I know it's against best practices regardless of if it will work or not.
If it's image based you should be able to look at the agent logs to see if it even attempted to mount the drives.
For your initial question about rebooting. You AppVolumes managers have no impact on CS's. AppVolumes can be rebooted independently of your CS's. The best way to get a consistent reboot is to shut down all managers and verify that they are all offline, then bring up one manager and make sure the service is available. Then bring up the rest one at a time.
Do you have a document that says this? I've never seen anything related to that, the only cavet which doing computer and user, you can't do writeable volumes.
That was a response from a support engineer from a recent case when I was running 2.14.2. We recently upgraded to 2.18 and there are no issues (thus far) that I have seen with mixing user + computer based assignments.
Documentation here VMware Knowledge Base shows that mixed assignments is supported as of 2.13, but was still against best practices according to support for a few versions following.
In personal experiences I haven't had great experiences mixing assignments, so we've always done one or the other.
I've been on 2.13.2 for while now and haven't had any issues doing mostly computer assignments, but with some user based ones mixed in. I'm aware of that kb article, but your term "against best practice" isn't referenced there. As far as I'm aware there is no "Best practice" in terms of picking mixed or not mixed assignment types.