Добрый день.
Максимум виртуалок просто так навскидку вам никто не скажет, ибо недостаточно входных данных, в теории столько, сколько позволят процессоры и виртуальная память. С дисковым пространством несколько проще, можно использовать сетевые хранилища.
Один из методов «виртуализации» ФС — использование дедупликации, что возможно, например, при использовании ZFS. Применяется в аппаратных системах хранения, из программных решений — FreeBSD или Nexenta. При дедупликации совпадающие блоки данных не будут дублироваться, будут использоваться ссылки на блоки с одинаковым содержимым, что позволит сэкономить дисковое пространство.
С оперативной памятью подобный механизм используется, например, в продуктах VMWare, там, насколько я знаю, во время работы производится дедупликация страниц памяти, что позволяет реально запускать виртуальные машины, потребляющие ресурсов больше, чем есть на физической машине с гипервизором. Впрочем, подобные механизмы сейчас есть и в других гипервизорах, например, Hyper-V.
Если требуется глубокая работа с файловой системой, то как один из вариантов можно использовать ZFS-хранилище + iSCSI как блочные устройства для виртуальных машин.