SLOG device selection

Status
Not open for further replies.

cktDesigner

Cadet
Joined
Aug 30, 2017
Messages
5
I'm building my first FreeNAS system and am pondering what type of device to use for an SLOG device. The main intent for the system is file storage, but I will probably run one or two VMs as well, and the reading I have done indicates that having an SSD for the SLOG device should improve performance.

Section 28 (ZFS Primer) of the User Guide (11.0-U2) states that "ZFS currently uses 16 GB of space for SLOG", and that larger ones would be a waste.

The discussion "Some insights into SLOG/ZIL with ZFS on FreeNAS" suggests the fastest device (you can afford), both in actual speed, and minimal latency. The "best" suggestion is for a card that contains Flash memory on a PCI 3.0 card (and is probably the most expensive one). The FreeNAS Hardware guide suggest the Intel P3700 series. While this has great performance, it is very expensive (and the capacity far exceeds the 16 GB that the User Guide indicates is the max the system will use... I hate to spend a lot, then not really use the majority of the capacity.)

Other suggestions, read from various places, suggest that the SLOG be mirrored, and that each pool should have its own (separate device).

So some possibilites, (read/write times in Mbps):
1. Intel P3700. Great performance, but very expensive, plugs into motherboard expansion slot. Has read/write of 2800/2000.
2. Small, fast SSDs (but connected directly to the motherboard, not via an HBA for latency reasons). A small, inexpensive one will have read/write of 500/320.
3. SuperDOMs (SuperMicro boards support these). They are relatively small and have read/write times of 500/145 (and still use SATA).
4. M.2 card (My SuperMicro board supports one of these). One that is reasonably prices has a read/write time of 1850/570.
5. Add a PCI expansion card (like: SEDNA - PCIe 4X - Quad mSATA SSD RAID Controller Card ( RAID 0/1/10) Marvell HyperDuo Technology - Newegg.com) that holds 4 mSATA SSD cards. One mSATA card I looked at had read/write of 550/510.
6. Add a PCI expansion card (like: 2-Slot M.2 SSD Controller Card - PCI Express | StarTech.com) that holds 2 M.2 cards and plugs into a PCIe 4x slot. Saves the SATA connectors for HDDs (vs a regular SSD) and is faster than a regular SSD.

Questions:
1. Given the speed of M.2 (versus regular SSD/SATA), could the motherboard M.2 be partitioned, using one section for SLOG (~16 GB) and the rest for something else (ZIL?)?
2. Has anyone used the PCI expansion method (5 or 6 above for mSATA or M.2 respectively) for SLOG and/or boot? Using a single PCI slot to hold 4 mSATA (2 for mirrored boot and 2 for mirrored SLOG) sounds interesting, but does freeNAS support this? Am I overlooking something that is wrong with a setup like this?

If freeNAS supports it, I was thinking of using suggestion 5 (above) to hold 2 mirrored boot mSATA cards and 2 mirrored SLOG cards, then using the M.2 motherboard socket for a ZIL M.2 SSD. This would free up all the SATA connectors for HDD storage. Or use suggestion 6 for M.2 cards for the SLOG (since M.2 is faster than mSATA).

Comments? Thoughts? Suggestions?

Thanks!
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
To answer your questions:
1. Yes. I have done it years ago to prove to myself that I could, but this is a non-standard configuration and done via the CLI. It is also a violation of the rule to use the device as a single function such as only as an SLOG in this case or performance will suffer.
2. I don't know if anyone has done this but I don't see why it wouldn't work.

Now to add some comments...
You really should quantify the performance you desire and how you will be using the FreeNAS server. What protocols, are you using iSCSI, 15,000RPM drives, 128GB RAM, 40Gb/sec NIC? My two cents, you don't need it unless you can quantify what kind of speed improvement you think you are going to obtain by using an SLOG. You do understand that this is just for write speeds, and you should use a battery backed up unit to ensure all the writes do get written to the pool.

I'd hate to see someone spend a lot of money thinking they were going to get something but in reality you will not.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
You're missing an important detail: You need power loss protection, otherwise, your SLOG is as useful as disabling sync, but slower and more expensive.

You won't find that on low-end SSDs (or any consumer SSD, really), M.2 format SSDs or SATA DOMs.

5. Add a PCI expansion card (like: SEDNA - PCIe 4X - Quad mSATA SSD RAID Controller Card ( RAID 0/1/10) Marvell HyperDuo Technology - Newegg.com) that holds 4 mSATA SSD cards. One mSATA card I looked at had read/write of 550/510.
Horrible idea in any situation, especially SLOG. Marvell SATA is slow at best, unreliable at worst. And it
6. Add a PCI expansion card (like: 2-Slot M.2 SSD Controller Card - PCI Express | StarTech.com) that holds 2 M.2 cards and plugs into a PCIe 4x slot. Saves the SATA connectors for HDDs (vs a regular SSD) and is faster than a regular SSD.
Stay away from that card too. That's a crap SATA controller driving two SATA-only M.2 slots.
 

Chris Moore

Hall of Famer
Joined
May 2, 2015
Messages
10,080
ZIL and SLOG are things that you can add later, if you find the performance is less than you need.
The idea of these devices is for large systems running many VMs not for the occasional use of one or two.

Sent from my SAMSUNG-SGH-I537 using Tapatalk
 

Scampicfx

Contributor
Joined
Jul 4, 2016
Messages
125
Hey,

thanks for your postings!

While this has great performance, it is very expensive (and the capacity far exceeds the 16 GB that the User Guide indicates is the max the system will use... I hate to spend a lot, then not really use the majority of the capacity.)

I understand your point! However, even if you only require a very tiny amount of your SSD's space, you will use every cell of your SSD evenly. The balancing of writes accross as many cells as possible helps to keep a high lifetime of your SSD.

However, I'm wondering if there is any negative outcome when FreeNAS gets assigned a slog device with 400 GByte capacity? Is it required to decrease the SSD's capacity by creating a small partition with e.g. 20 GByte? Are there any dangerous points to consider when using large SSDs, like for example, the smallest Intel P3700, which is offering 400 GByte?
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
However, I'm wondering if there is any negative outcome when FreeNAS gets assigned a slog device with 400 GByte capacity?

You’re relying on ZFS TRIMming the slog in that scenario, which i’m Not sure it does. . If you OP the slog, then the ssd knows what storage is in use and you can be sure the spare cells will be spare.

I go into quite some detail on the selection and usage of a P3700 400GB here

The larger P3700s drives have better performance than the 400GB due to increased parallelism, but the performance of the 400 is very good.
 

Chris Moore

Hall of Famer
Joined
May 2, 2015
Messages
10,080
If you OP the slog,
You might want to review what OP (over provision) is all about due to the fact some people may not be familiar with the principles.
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
You might want to review what OP (over provision) is all about due to the fact some people may not be familiar with the principles.

From my link:

Over-provisioning an SSD is a technique used to limit how much of the SSD is used for data, thus providing more spare flash area for the controller to wear leveland usually provide more write performance.
 

Chris Moore

Hall of Famer
Joined
May 2, 2015
Messages
10,080
Is it required to decrease the SSD's capacity by creating a small partition with e.g. 20 GByte?
The OP (Over Provision) settings make the 400GB drive appear to the operating system as a smaller drive. So the OS (operating system) only has access to 20GB, but the actual cell being written on the device is rotated among all the cells in the device for wear leveling.
With my Samsung SSD (in my desktop) I have to use the Samsung Magician software (in Windows) to change the settings in the SSD firmware.
From the illustrations, in the article @Stux wrote, it looks like the Intel utility runs from a Windows command prompt and makes persistent changes to the firmware in the SSD so FreeNAS can only access the device in the way specified.
 
Last edited by a moderator:

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
it looks like the Intel utility runs from a Windows command prompt

Yerp. They have a Linux version too, but not sure if it supports Ubuntu. I couldn't get the ESXi version to function, and the Windows version did.
 

wblock

Documentation Engineer
Joined
Nov 14, 2014
Messages
1,506
A utility should not be needed at all. Create a small GPT partition on the drive. Use that for the SLOG. Done.
 
Status
Not open for further replies.
Top