By machines I am assuming hosts. MySQL Cluster can be setup to run on one or more hosts. The minimal cluster is usually considered to include one management node, two data nodes, and one SQL node. A typical production cluster may have one or two management nodes, several SQL nodes, and 4 or more data nodes.