dsccommunity / iSCSIDsc

DSC resources for configuring Windows iSCSI targets and initiators.
https://dsccommunity.org
MIT License
7 stars 9 forks source link

Module non-starter for most production workloads #30

Open MarkPerry24 opened 6 years ago

MarkPerry24 commented 6 years ago

iSCSiDsc: No MPIO support

Details: No MultiPath iSCSI initiator support (no idea on target but would presume same issue) All DSC Configuration are affected. Support doesn't exist.

Windows 10/Server 2016 and Powershell: Name Value


PSVersion 5.1.15063.1088 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.15063.1088 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1

Module = All, it isn't supported.

PlagueHO commented 5 years ago

I'll try and get onto this one in the next few weeks.

PlagueHO commented 5 years ago

Just looking through this one @Someone24github - there is the IsMultipathEnabled parameter in the iSCSIInitiator resource that is intended to be used to enable MPIO when registering the connection.

However, I've noticed this only sets it up when registering the connection (as opposed to connecting). So I think this may need to be corrected:

https://github.com/PlagueHO/iSCSIDsc/blob/dev/DSCResources/DSR_iSCSIInitiator/DSR_iSCSIInitiator.psm1#L538

Could you confirm if you're referring to the feature being missing or if it isn't working as intended?

MarkPerry24 commented 5 years ago

Hey, I've been really busy in the real job world. So problems off top of my head. Needs another DSCResource I guess to Add MultiPath-IO windowsfeature and Implement either mpclaim.exe or Enable-MSDSMAutomaticClaim/Update-MPIOClaimedHW etc.. I guess you could document as a pre-requisite of this module since it isn't directly related but multipath won't work without it. The next part is the module needs to accept at least a list of destination SAN IP's to map. This module only accepts a single parameter unless I've missed something. Only using destination IPs has its own drawbacks as each one will create mappings that look something like this: Source 0.0.0.0 -> Dest 192.168.1.1 which means any routable source ip to dest ip. This works but it's better to give explicit source ip to dest ip as user machine may have multiple interfaces in the same subnet. The other issue is if DSC is redefined the module also needs to mop-up any invalid/undefined iscsi connections.

PlagueHO commented 5 years ago

Right I see. The first part can be dealt with using better examples, the but second part is going to need some new resource as you say. The last part about "mopping up ISCSI connections" can be difficult - because that would assume the resource had knowledge about other iSCSI resources that may or may not be defined. I'll need to do some digging.