It really comes down to what can your switch do, can you tag your L2 traffic on your switch.? In my lab I have 3 hosts, only two nics in each, and I separate traffic with various VLANs.
Here would be an example how to break that out-
Enable the ports on your switch as trunk ports and create your applicable VLANS.
Then have a VLAN for vMotion, Storage(NFS), Management (think esxi address, vcenter, etc), and then VMNET = vm traffic, these would be your Linux servers, windows servers, with any/all different network you would need.
Mine looks like this
VLAN10 - 10.10.10.0/24 MGMT
VLAN11 - 10.10.11.0/24 vMotion
VLAN12 - 10.10.12.0/24 iSCSI
VLAN13 - 10.10.13.0/24 Fault Tolerance
VLAN15 - 10.10.15.0/24 VM Traffic LAN15
VLAN16 - 10.10.16.0/25 VM Traffic LAN16
Since you are in learning mode, try to achieve this, it will help you from a virtual standard switch or distributed switch. Once you have your vlans created on your switch, create your port groups, assign applicable VLAN tags on them, and you are off and running.
2 NICS is plenty at this point as long as you logically separate out you networks.