Виртуализация на кластере
Для начала придется определиться для решения какой задачи это Вам нужно. Потом уже искать способы решения этой задачи. 20 ядер на виртуальной ос получить не получится. В одной виртуалке максимум то что имеет физическая машина. Совмещать процессора с разных машин в одну виртуалку теоретически возможно, но практически бессмысленно из-за медленного транспорта между машинами. 
Кластер и виртуальная машина кстати две большие разницы. Виртуальные машины на данный момент используются для консолидации серверов, а кластера наоборот для распараллеливания вычислений и получения отказоустойчивости. Иногда эти методики совмещают.
Опять таки для того чтобы распределить задачу на 10 машин эта задача 
В целом же хотелось бы услышать задачу которую требуется решить. Тогда уже можно будет думать над средствами ее решения.
Если вы хотите вычислительный (HPC) кластер, то скорее всего вы хотите apt-get install openmpi-bin libopenmpi-dev и запускайте свои MPI программы на здоровье. Также возможно захотите установить систему управления очередью задач (torque, например).

> Правильно ли я понимаю, что если у меня есть 10 машин с 2-х ядерными Core i5, то для одной любой виртуальной ОС я смогу использовать 20 ядер
Нет, у вас всё ещё остаётся 10 машин и 10 запущенных ОС, но правильное ПО помогает вам управлять и работать на них как на одной.