Thank you, that is very helpful!
I'd be interested what you tune and why.
I plan to sett the following tunables in order to improve l2arc caching (at the expense of SSD lifespan, but nothing lasts forever
)
l2arc_noprefetch 0
l2arc_write_boost 134217728
l2arc_write_max 67108864
One of my containers is a media server, and I am looking to avoid content stutter during heavy pool load. These tunables worked very well in that regard when my pool was in FreeNAS.
On a side note:
I currently have two pools on my proxmox box, the mirror created by the installer, and a 12 disk (dual 6 disk RAIDz2) with mirrored SLOG/ZIL SSD's and dual l2arc SSD's for mass storage.
It concerns me a little bit that the mirrored pool created by the proxmox uses direct device links to /dev/sda and /dev/sdb
When I first imported it, my big pool did the same, and it didn't take long for one of the devices to be offlined because it's device name changed during reboot, so I converted it to control devices by by id by exporting it again, and importing it using the following command:
Code:
zpool import -d /dev/disk/by-id/ <poolname>
This worked beautifully, as my big pool status now looks like this:
Code:
state: ONLINE
scan: scrub repaired 0 in 7h25m with 0 errors on Wed Apr 27 05:55:41 2016
config:
NAME STATE READ WRITE CKSUM
zfshome ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4EK8ZSX37 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4EK8ZS6DS ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4EF24PKAY ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4EE3LX9RV ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E5UJ0PX5 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4EFP2610U ONLINE 0 0 0
raidz2-1 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E1636111 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E1647062 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E1646218 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E1646088 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E5PEDRTY ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E5X4NKU1 ONLINE 0 0 0
logs
mirror-2 ONLINE 0 0 0
ata-INTEL_SSDSC2BA100G3_BTTV425101D5100FGN ONLINE 0 0 0
ata-INTEL_SSDSC2BA100G3_BTTV4253038A100FGN ONLINE 0 0 0
cache
ata-Samsung_SSD_850_PRO_512GB_S250NXAH313648V ONLINE 0 0 0
ata-Samsung_SSD_850_PRO_512GB_S250NWAG822223D ONLINE 0 0 0
errors: No known data errors
I'm looking to convert the installer generated mirror to use device id's as well, but the approach above is unlikely to work, as I can't export the root drive while booted.
I'm wondering if a command like this would work, one by one (waiting for the resilver to finish in between) on the two disks in the mirror:
Code:
zpool replace /dev/<sdx> /dev/disk/by-id/<equivalent disk id>
or if the volume checker would complain that the disk I am trying to add to the mirror is already a member of the mirror.
If I get the complaint above it becomes more problematic, because then I have to first offline the sdx disk, then somehow delete the ZFS label so that the disk appears to not be a member of the pool anymore, and then resilver it.
The command "zpool labelclear <device>" is supposed to clear ZFS labels, but it never works for me, and I see similar complaints out on various forums to suggest it isn't working for others either, so I assume it is broken. This leaves overwriting the labels with DD.
The only way I have successfully done this is by doing a "dd if=/dev/zero of=<device>" and allowing it to overwrite the entire disk. This takes a VERY long time though, and it wastes drive write cycles in the case of SSD's. The reason for this is that ZFS creates 4 labels throughout the disk. If I had their exact locations I could DD just those spots, but the best I can come up with are vague statements about two labels being towards the beginning of the drive, and two being towards the end.
Any suggestions here?