packer-builder-vsphere
packer-builder-vsphere copied to clipboard
Support for more than one scsi controller
After the successful fix for #68 , I'd like to talk about a feature to manage more than one iscsi controller as well:
"datastore": "dsc_testvms",
"disk_controller": "scsi0", //default
"disk_controller_type": "pvscsi",
"disks": [
{
"name": "disk1",
"size": 32,
"type": "thin",
},
{
"name": "swap1",
"size": 12,
"type": "thick"
"controller": "scsi1",
"datastore": "dsc_tst_ssd",
},
{
"name": "data100_1",
"size": 100,
"controller": "scsi2",
"datastore": "dsc_tst_db",
"type": "thickeagerzeroed"
}
],
Our standard VM instantiation leverages multiple vHBAs to get multiple write-queues; it's a standard perf tweak for better offload, which then allows the hypervisor more latitude in write ordering with more writes in-flight.
As mentioned under #68 (comment 530072308).
+1
We pre-populate all of our VM templates with 4 pvscsi controllers. (3 of which don't have hard drives) This is due to the 'feature' of VMWare BIOS that the 4th peripheral device added to a VM get's a lower hardware ID than the first. So if you have a VM with 3 SCSI controllers, 3 disk and a NIC; then add a 4th SCSI controller, what was according to BIOS controller 0, 1, 2 is now 1, 2, 3, 0, making SCSI IDs seen by the OS different. On next boot if, or immediate if done live, Windows sees disk 0 that used to be 0:0 is now 1:0, disk 2 is now 2:0, disk 3 is now 3:0, sets disk 1 to offline, reattaches disk 0 and disk 3 with the new scsi ID and adds disk 4. Disk 1 must be brought back online manually.