Данные постоянно растут. Как быть?
Как рассчитать предельную допустимую нагрузку на сервер? Нагрузочное тестированиеДанные постоянно нарастают. Скоро закончится место на харде сервера.Volume testingЧто изучить чтобы разобратся как распределять данные между множеством серверов и хардов?Отправляем клиентов на разные сервера
- Как рассчитать предельную допустимую нагрузку на сервер? 
Понятное дело что выдерживамая нагрузка зависит от сервера и настроек ПО. Но может есть общепринятая формула?
Увы, такой формулы нет. Приходится все всегда примерно на глаз и сходя из опыта если он есть.
Всегда найдется причина, что не хватит мощности у сервера/серверов.- Данные постоянно нарастают. Скоро закончится место на харде сервера.
Что изучить чтобы разобратся как распределять данные между множеством серверов и хардов?
Тут в общем нет четкого ответа, опять же все исходя из того как вы пишите свою CRM и ее возможности.
Самое простой пойти на вертикальное масштабирование. Те тупо увеличиваем мощности железо, ставим новые HDD, собираем RAID итд. Это самый простой способ.
Теперь о сложных. Насколько я понял с БД проблем нет, на худой конец ее можно вполне перекинуть на отдельную машину, что бы не замарачиватся с кластеризацией БД.
Теперь перейдем к файлам. На текущий момент можно использовать распределенное ФС такие как ceph и glusterfs,ocfs2 итд. Можно вполне спокойно добавлять пулы машин, к сожалению я не готов сейчас сказать, готовая ли у них именно CEPH FS для использования в продакшене.  Можно использовать, что-то типа Hdfs из hadoop,  но тогда надо будет тянуть весь hadoop,mapreduse итд итд. В общем это просто пример, пусть и плохой. 
Можно хранить как блобы , используя eblob (делают русские люди) reverbrain.com/eblob
В общем вариантов много, как пойти зависит только от вас.