I had a question today from someone who asked if there was any point in enabling SIOC (Storage IO Control) when you have NIOC (Network IO Control) enabled and configured. Lets start with the answer: Yes there is! NIOC controls traffic on a single NIC port level. In other words, when you have 10GbE NIC ports and vMotion, VMs and NFS (for instance) use the same NIC port it will prevent one of the streams from claiming all bandwidth while others need it. It basically is the police officer who controls a group of people getting too loud in a single room.
As not many people realize this lets repeat it… NIOC controls traffic on a NIC port level. Not on a NIC pair, not on a host level and not on a cluster wide level. On a NIC port level!
SIOC does IO control on a Datastore-VM layer. Meaning that when a certain threshold is reached it will determine on a datastore wide level which hosts and essentially which VMs get a specific chunk of the resources. SIOC prevents a single VM from claiming all IO resources for a datastore in a cluster. SIOC is cluster wide on a datastore level! It basically is the police officer who asks your neighbor to tone it down when as he is bothering the rest of the street.
Yes, enabling SIOC and NIOC together makes a lot of sense!
Sean Duffy says
Very nice, simple explanation of NIOC & SIOC. Great analogies too. Thanks for the post Duncan.
Johnny Mastin says
Great explanation! Maybe this goes without saying but owners of CNA cards are still able to use NIOC and SIOC independently. While the physical connection for a CNA card is 10Gb Ethernet, the OS treats the card as separate NICs and HBA ports.