Всякий хостинг начинается с организации хранения, резервирования, бэкапов и связи. Если диски или электропитание хорошо полягут, никакие zfs и ecc от потери данных не спасут.
Дальше. На одной машине организовать всё это теоретически можно, если посадить её голой попой в Интернет и не заморачиваться с надёжностью хранения, но делать так точно не стоит. Если речь о двух терабайтах, то лучше взять в аренду или разместить в датацентре свой аппаратный сервер с соответствующим дисковым пространством, обеспечив ему синхронизацию файлов с компьютером через Интернет. Получится два экземпляра файлов в физически разных местах (плюс к надёжности хранения) и возможность формирования Интернет-ссылок для одного из них без необходимости обращения к другому. Сломается сервер или компьютер - перельёте данные из исправного места, переформируете базу и продолжаете работу (хотя, конечно, это не будет очень быстро).
Дальше. Не стоит совсем отказываться от папок-подпапок. Будете хранить файлы в одной папке - в один прекрасный момент просто не сможете бэкапиться или реплицироваться: папки сканироваться будут очень долго. Но стоит перевести хранение, например, в хронологический порядок и реплицировать не всё, а, например, то, что поступило в текущие сутки (т. е., обязательна привязка ко времени). Так и бэкапиться будет удобно. А пути с тэгами можно хранить и в БД.