Hello,
il y a pas mal de solutions utilisables, selon le niveau d'exigence et d'automatisation souhaité.
Tu peux par exemple te renseigner sur les solutions de centralisation de configuration, comme Puppet.
Un bon départ aussi à mon avis est d'utiliser une image "pré-configurée" pour les nouveaux serveurs, histoire d'avoir au moins une bonne base commune.
Ensuite rsync avec les options qui vont bien (delayed update pour du web par exemple), pour certains fichiers. Et/ou des outils tels que mssh ou cssh qui permettent de faire les mêmes modifs sur tous les serveurs en même temps. Pour les mises à jour typiquement j'utilise surtout cssh.
Pour ce qui est de MySQL, faut éviter de travailler au niveau fichier je pense, à moins de couper le serveur MySQL de destination. Quelques solutions : réplication mysql, DRBD, ou rsync sur snapshot LVM par exemple.
Sinon si tu ne veux pas t'emmerder tu prends des machines virtuelles entièrement répliquées via DRBD. Ca ne permet pas de faire de répartition de charge, mais au moins tout est intégralement répliqué en temps réel (et grâce à LVM tu peux faire des snapshots complets également).