Hi all
I'm in the process of a major upgrade to my home NAS. The server runs Solaris 11.3, with hardware of: 2 x 2.93GHz hex-core LGA1366 CPUs, 72GB RAM (considering upgrading to 120GB) and 32 ports of LSI 6GB SAS/SATA (2 x 2008, 2 x 2308).
I currently have 27 x 2TB 7.2k SATA drives installed, from which which I plan to run a 3 x 9-drive RAIDZ3 ZFS pool - subject to further benchmark comparisons. I briefly considered and tested a 26-drive mirrored config, but as nearly all my drives were bought used, and many are old (some with as many as 40k hours logged), I feel it's too risky.
I hope to have at least one, maybe two SSDs for SLOG and cache. And I'm in the process of adding 10G ethernet.
The upshot of all this is that for the first time ever I have a pretty powerful home server, with tons of storage and very high disk bandwidth - at least sequentially. So now I want to use it as much as possible!
My main workstation is dual-boot Windows 10 and OSX 10.11, and at the moment is mostly being used for Windows.
I will of course have many SMB file shares - most likely from Samba 4 rather than Solaris' built-in SMB, as that doesn't work great when one has loads of nested ZFS filesystems. And I will probably try some NFS shares to see how they compare vs SMB on OSX.
But I was wondering - could I go further? For example, could I actually boot my workstation from the NAS? Here I'm thinking Windows 10 rather than OSX. Could I have my Windows C: drive be an iSCSI volume? Or even an SMB share? (Googling suggests probably not the latter, see below.)
Why do I want this? Well, I admit part of the reason is that it sounds cool and is another use for the NAS! But I can also see practical advantages:
Now, a key disadvantage will be random IO. Even with an SSD for cache and another for SLOG, I'm very likely to fall down heavily on random read/writes compared to a local SSD. I don't know how much of an issue that will be for my workloads. I am hoping not too much, as I tend to work with large files like MP4 videos in Adobe Audition, which I believe/hope tend to be read and written fully, ie. sequentially.
I don't run any databases on my workstation, and while I have a couple of local VMWare VMs, I plan to migrate these to run on the server in VirtualBox.
My initial Googling is suggesting that maybe diskless booting doesn't work any more for normal SMB fileshares, as I am pretty sure it used to in early Windows - at the least, I can't find any references to netbooting other than for installation, and via iSCSI.
But I do see many articles about netbooting Windows 10 via iSCSI (eg here, and here) so I know that should work. The examples I've briefly read so far were using Windows Server as the iSCSI target, but I am hopeful a Solaris target could also work. (Or, worst case, I could run a Linux, or even Windows Server VM and pass a ZFS volume through to it as a raw disk to then make an iSCSI target out of! What that would do to performance I don't know..)
It'd be a shame if it wasn't possible to do via SMB, as that cuts out at least one of my advantages (easy access to my Windows workstation files on the server). But it doesn't preclude any of the others, including using ZFS snapshots for backups.
So has anyone tried a diskless Windows machine any time recently, and has any thoughts or advice? Are there any potential pitfalls that seem obvious to you?
I'll most likely give it a go even if there are big problems I've not thought about, so when I get a chance to try it I'll report back on that (in a week or two once all my HW is here and fully setup.) But in the meantime, any comments from anyone who knows more would be much appreciated!
I'm in the process of a major upgrade to my home NAS. The server runs Solaris 11.3, with hardware of: 2 x 2.93GHz hex-core LGA1366 CPUs, 72GB RAM (considering upgrading to 120GB) and 32 ports of LSI 6GB SAS/SATA (2 x 2008, 2 x 2308).
I currently have 27 x 2TB 7.2k SATA drives installed, from which which I plan to run a 3 x 9-drive RAIDZ3 ZFS pool - subject to further benchmark comparisons. I briefly considered and tested a 26-drive mirrored config, but as nearly all my drives were bought used, and many are old (some with as many as 40k hours logged), I feel it's too risky.
I hope to have at least one, maybe two SSDs for SLOG and cache. And I'm in the process of adding 10G ethernet.
The upshot of all this is that for the first time ever I have a pretty powerful home server, with tons of storage and very high disk bandwidth - at least sequentially. So now I want to use it as much as possible!
My main workstation is dual-boot Windows 10 and OSX 10.11, and at the moment is mostly being used for Windows.
I will of course have many SMB file shares - most likely from Samba 4 rather than Solaris' built-in SMB, as that doesn't work great when one has loads of nested ZFS filesystems. And I will probably try some NFS shares to see how they compare vs SMB on OSX.
But I was wondering - could I go further? For example, could I actually boot my workstation from the NAS? Here I'm thinking Windows 10 rather than OSX. Could I have my Windows C: drive be an iSCSI volume? Or even an SMB share? (Googling suggests probably not the latter, see below.)
Why do I want this? Well, I admit part of the reason is that it sounds cool and is another use for the NAS! But I can also see practical advantages:
- it would free up the 500GB SSD I currently use for Windows boot, giving me an (extra) SSD to use for SLOG and/or cache in my server - at no additional cost
- the sequential read/write speeds I get from the NAS are far higher than even a local SSD - up to 1.5GB/s and 2GB/s respectively in my latest iozone tests, which is 3-4x faster than my SSD.
- I won't get all that bandwidth over the network unless I can team 2 x 10G links, which almost certainly requires a 10G switch which I won't have (I may have a 1G/10G switch, but with only 2 SFP+ ports)
- but even 1.2GB/s would be over double the speed my SSD can provide
- I'll never have to worry about running out of space on the workstation
- I can use compression to reduce the amount of space used, and the IO/network bandwidth involved
- I can use ZFS snapshots on workstation files/volume(s), providing point-in-time recovery and easier backups - without the hassle of setting up a workstation-to-server backup procedure
- If it were possible with SMB mount rather than iSCSI, I could read and manipulate Windows files from a UNIX environment (one that's better than Cygwin) - ie search the contents of all files on my workstation with: grep -r bar /foo/export/windows10/C
Now, a key disadvantage will be random IO. Even with an SSD for cache and another for SLOG, I'm very likely to fall down heavily on random read/writes compared to a local SSD. I don't know how much of an issue that will be for my workloads. I am hoping not too much, as I tend to work with large files like MP4 videos in Adobe Audition, which I believe/hope tend to be read and written fully, ie. sequentially.
I don't run any databases on my workstation, and while I have a couple of local VMWare VMs, I plan to migrate these to run on the server in VirtualBox.
My initial Googling is suggesting that maybe diskless booting doesn't work any more for normal SMB fileshares, as I am pretty sure it used to in early Windows - at the least, I can't find any references to netbooting other than for installation, and via iSCSI.
But I do see many articles about netbooting Windows 10 via iSCSI (eg here, and here) so I know that should work. The examples I've briefly read so far were using Windows Server as the iSCSI target, but I am hopeful a Solaris target could also work. (Or, worst case, I could run a Linux, or even Windows Server VM and pass a ZFS volume through to it as a raw disk to then make an iSCSI target out of! What that would do to performance I don't know..)
It'd be a shame if it wasn't possible to do via SMB, as that cuts out at least one of my advantages (easy access to my Windows workstation files on the server). But it doesn't preclude any of the others, including using ZFS snapshots for backups.
So has anyone tried a diskless Windows machine any time recently, and has any thoughts or advice? Are there any potential pitfalls that seem obvious to you?
I'll most likely give it a go even if there are big problems I've not thought about, so when I get a chance to try it I'll report back on that (in a week or two once all my HW is here and fully setup.) But in the meantime, any comments from anyone who knows more would be much appreciated!