Did I mess up?

john60

Explorer
Joined
Nov 22, 2021
Messages
85
A few years ago my home was nicked by lighting. While the home only had a 1cm hole in the rain gutter, every piece of electronics in the home died. So I am rather diligent on backups, so I thought.

Just lost a drive hosting my 2 TB project with millions of files I've been working on for 2 years and discovered my backups have some silent failures (some files are not readable others empty which should not be). So much for being diligent by manually backing up to dropbox and google drive, and also backing up onto a number of different detached for backup hard drives, not to mention UPS. Fortunately, I have soo many backups I will be able to track down each and every file before the corruption, but it's a pain.

It turns out that uncontrol control core dumps of my development PC can do nasty things to files on Ext4 and Fat like changing file content. Pushing these files blindly into various backups just spreads the cancer.

Now motivated to get onto Truenas with ZFS to avoid a repeat of this nightmare. While I work on recovering my lost files across, I ordered some HW. With some luck, I will finish the file restoration when the HW arrives. I could use some advice on a number of things:

1) I first considered and rejected the idea of running Truenas in a VM on my development system and doing PCI passthrough to the VM so Truenas could manage the disks directly. The development PC has massive memory and cores, but I rejected this idea because of my development uses a bunch of sketchy SW packages running inside docker and somehow these manage to hard crash the host a few times over the past 2 years. Uncontrolled crashes of the host for Truenas is just asking for trouble. Is this reasonable logic or is Truenas resilient with uncontrolled crashes of the host? A single monster server would be really nice.

2) I purchased a used Dell PowerEdge T320 Server Intel Xeon E5-2430 2.20GHz 3x500GB 16GB RAM Win 10 and qty 5 of WL 4TB 64MB Cache 7200RPM (Enterprise Grade) SATA 6Gb/s 3.5" Internal Hard Drive. Is it as simple as swapping out the HD and boot with the installer for Truenas or am I missing anything?
I am assuming I can disable the built-in raid and let Truenas deal with the disks directly.
I am assuming this dinosaur PC has at least 1G ethernet.
I am assuming that Truenas can be configured to backup to dropbox and/or google drive.
Anything else likely to be missing or troublesome?

3) A bulk of the files I will now consider the truenas copy as master and push these to the development PC and to Dropbox/Google Drive. These are safe from corruption because of ZFS build-in checksum. Other files that are mastered on the development pc and backup to Truenas may get corrupted over time by the development system. So I need to develop an integrity check in my app, for timely detection of corruption. When corruption is detected by my app, I need to back up to the previous versions. The millions of files may make this less timely than I like. Does Truenas offer a way to pick a file and view its versions or checksum over time? For example: I know files /a/b/c/d/e/f.data is corrupt, do I need to check snapshot by snapshot or does Truenas offer a way to jump to the snapshot with the previous changed version of a specific file?

I am a complete newbie to Truenas, so please feel free to correct my terminology and offer any insight that may help me.

Regards,
John
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Welcome to the forums, and sorry for your problems.

Is this reasonable logic or is Truenas resilient with uncontrolled crashes of the host? A single monster server would be really nice.

We do not recommend running FreeNAS or TrueNAS as a VM for production purposes. While it is much less risky to do so now than it was eight years ago, this is still an area where you are introducing unnecessary risk and ambiguity. Please do read the linked article.

However, virtualization still has a lot going for it, and there may be cases where it is acceptable or even prudent to do so. This article discusses some of that.

As the author of both articles, and also the person who's probably provided the most help to would-be virtualizers on these forums, you can read something into the setups here, which are for business. We do have most front-line FreeNAS as virtual instances with PCIe passthru. Anything important is at a minimum replicated to another instance, which may be a bare metal install in some cases.

TrueNAS is "resilient" to certain kinds of uncontrolled crashes, especially where such appears to be similar to a bare metal failure, but there are other virtualization failure modes which can just result in strange crap, lockups, etc.

Is it as simple as swapping out the HD and boot with the installer for Truenas or am I missing anything?
I am assuming I can disable the built-in raid and let Truenas deal with the disks directly.

No, If it has built-in RAID, that needs to be removed, and replaced with an HBA. See this article. Absolutely nonoptional for critical data.

I didn't see mention of anything for boot media in there. TrueNAS expects you to have a separate boot device, preferably SSD or SATA-DOM.

I am assuming this dinosaur PC has at least 1G ethernet.
I am assuming that Truenas can be configured to backup to dropbox and/or google drive.

That's not a dinosaur. It'll be fine.
I don't know about the Dropbox or Google Drive stuff. Generally, those are VERY small storage spaces.

It's probably best to back up to an offsite FreeNAS/TrueNAS host if you can manage it, perhaps at a family member's house. Alternatively, commercial services like rsync.net and Backblaze have been reported to be viable options.

Does Truenas offer a way to pick a file and view its versions or checksum over time? For example: I know files /a/b/c/d/e/f.data is corrupt, do I need to check snapshot by snapshot or does Truenas offer a way to jump to the snapshot with the previous changed version of a specific file?

No. ZFS checksums are built into ZFS itself. On a properly designed system, it is not possible for ZFS to return corrupted data ("bitrot"). Each block written to the filesystem includes a checksum, and upon a read failure, ZFS automatically fetches the redundancy (from the other side of the mirror, or other disks in RAIDZ) and rebuilds the block, and writes it back to disk.

There are arguable edge cases such as on systems without ECC memory, where corruption can happen in memory, so for full data protection, ECC is required. Some people desperately wish for this not to be the case.

ZFS offers the ability to snapshot a dataset or pool, which locks the contents at that point in time. If you do not have a lot of chaos in your stored files (such as constantly rewriting, recompiling, etc), it is very possible and practical to create a robust snapshot strategy. Some of our datasets snapshot every fifteen minutes for six hours, every hour for two weeks, every day for two months, and every week for ten years.

TrueNAS does not offer any significant interface to interact with snapshots on a file level, but you can manually go into the filesystem, where the snapshots appear under the '.zfs' hidden directory, and do whatever you need.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I just want to add that ZFS checksums blocks, not files, so there is no shortcut to getting a checksum of a file, even though all the underlying metadata and data is known to be good because it passes the checksum validation.
 

john60

Explorer
Joined
Nov 22, 2021
Messages
85
Thank you jgreco and Ericloewe.

Is this an HBA "

SupaHub SATA Card 8 Port, SATA Expansion Card for SATA III 6G Hard Drives for Desktop, Includes 8 SATA Cables and 2 SATA Splitter Cables​

" amazon

How big of an SSD do I need for boot ?

I'm not quite getting the snapshot capabilities. So if I have a snapshot every day, and today I detected file a/b/c/d.data is messed up but do not know the day it was messed up except that 120 days ago it was good.
Does Snapshot let's go directly to 120 days ago and see this file a/b/c/d.data or do I need to restore everything at this snapshot

Regards,
John
 

john60

Explorer
Joined
Nov 22, 2021
Messages
85
Assuming "

SupaHub SATA Card 8 Port, SATA Expansion Card for SATA III 6G Hard Drives for Desktop, Includes 8 SATA Cables and 2 SATA Splitter Cables​

" is an HBA, does Truenas have drivers for this?
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
No, that's a crappy SATA port multiplier, covered by this article.


Yes, you can see inside the file tree of a snapshot. I had to work to find a semi-relevant example, but we used to store the KeePass database on one of the fileservers here. It hasn't been there in quite a few years, but I can still see what used to be there:

Code:
> ls -l .zfs/snapshot/*/KeePass/Database.kdb
-rwxrw-rw-  1 root    wheel   51724 Sep 27  2011 .zfs/snapshot/auto-20111009.0000-10y/KeePass/Database.kdb
-rwxrw-rw-  1 root    wheel   51724 Sep 27  2011 .zfs/snapshot/auto-20111016.0000-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   53228 Oct 20  2011 .zfs/snapshot/auto-20111023.0000-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   53228 Oct 20  2011 .zfs/snapshot/auto-20111030.0000-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   54716 Nov  4  2011 .zfs/snapshot/auto-20111106.0000-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   55276 Nov  8  2011 .zfs/snapshot/auto-20111111.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   56172 Nov 14  2011 .zfs/snapshot/auto-20111118.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   59452 Nov 22  2011 .zfs/snapshot/auto-20111125.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   59452 Nov 25  2011 .zfs/snapshot/auto-20111202.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   59452 Nov 25  2011 .zfs/snapshot/auto-20111209.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   59804 Dec 14  2011 .zfs/snapshot/auto-20111216.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   59804 Dec 14  2011 .zfs/snapshot/auto-20111223.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   59804 Dec 14  2011 .zfs/snapshot/auto-20111230.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   59804 Dec 14  2011 .zfs/snapshot/auto-20120106.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   60348 Jan 13  2012 .zfs/snapshot/auto-20120113.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   60348 Jan 13  2012 .zfs/snapshot/auto-20120120.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   60348 Jan 13  2012 .zfs/snapshot/auto-20120127.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   60348 Jan 13  2012 .zfs/snapshot/auto-20120203.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   60348 Jan 13  2012 .zfs/snapshot/auto-20120210.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   60348 Jan 13  2012 .zfs/snapshot/auto-20120217.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   60348 Jan 13  2012 .zfs/snapshot/auto-20120224.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   60828 Feb 29  2012 .zfs/snapshot/auto-20120302.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   61356 Mar  3  2012 .zfs/snapshot/auto-20120309.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   61356 Mar  3  2012 .zfs/snapshot/auto-20120316.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   61356 Mar  3  2012 .zfs/snapshot/auto-20120323.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   61356 Mar  3  2012 .zfs/snapshot/auto-20120330.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   61356 Mar  3  2012 .zfs/snapshot/auto-20120406.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   61356 Mar  3  2012 .zfs/snapshot/auto-20120413.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   62764 Apr 20  2012 .zfs/snapshot/auto-20120420.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   62764 Apr 20  2012 .zfs/snapshot/auto-20120427.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   62764 Apr 20  2012 .zfs/snapshot/auto-20120504.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   62764 Apr 20  2012 .zfs/snapshot/auto-20120511.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   64380 May 13  2012 .zfs/snapshot/auto-20120518.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   64380 May 13  2012 .zfs/snapshot/auto-20120525.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   65612 May 26  2012 .zfs/snapshot/auto-20120601.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   68188 Jun  7  2012 .zfs/snapshot/auto-20120608.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   68844 Jun  8  2012 .zfs/snapshot/auto-20120615.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   68844 Jun  8  2012 .zfs/snapshot/auto-20120622.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   69244 Jun 25  2012 .zfs/snapshot/auto-20120629.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   69244 Jun 25  2012 .zfs/snapshot/auto-20120706.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   69244 Jun 25  2012 .zfs/snapshot/auto-20120713.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   69244 Jun 25  2012 .zfs/snapshot/auto-20120720.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   69244 Jun 25  2012 .zfs/snapshot/auto-20120727.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   70188 Aug  3  2012 .zfs/snapshot/auto-20120803.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   70188 Aug  3  2012 .zfs/snapshot/auto-20120810.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   70188 Aug  3  2012 .zfs/snapshot/auto-20120817.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   70188 Aug  3  2012 .zfs/snapshot/auto-20120824.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   70396 Aug 30  2012 .zfs/snapshot/auto-20120831.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   70620 Sep  6  2012 .zfs/snapshot/auto-20120907.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   71020 Sep 13  2012 .zfs/snapshot/auto-20120914.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   71020 Sep 13  2012 .zfs/snapshot/auto-20120921.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   72364 Sep 25  2012 .zfs/snapshot/auto-20120928.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   72364 Sep 25  2012 .zfs/snapshot/auto-20121005.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   72524 Oct 10  2012 .zfs/snapshot/auto-20121012.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   72524 Oct 10  2012 .zfs/snapshot/auto-20121019.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   72524 Oct 10  2012 .zfs/snapshot/auto-20121026.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   72524 Oct 10  2012 .zfs/snapshot/auto-20121102.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   72524 Oct 10  2012 .zfs/snapshot/auto-20121109.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   72524 Oct 10  2012 .zfs/snapshot/auto-20121116.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 admin   wheel   72524 Oct 10  2012 .zfs/snapshot/auto-20121123.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   75772 Dec  1  2012 .zfs/snapshot/auto-20121203.0340-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   77356 Dec  6  2012 .zfs/snapshot/auto-20121210.0340-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   78860 Dec 14  2012 .zfs/snapshot/auto-20121217.0340-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   81004 Dec 20  2012 .zfs/snapshot/auto-20121224.0340-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   81004 Dec 20  2012 .zfs/snapshot/auto-20121231.0340-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   81004 Dec 20  2012 .zfs/snapshot/auto-20130107.0340-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   81004 Dec 20  2012 .zfs/snapshot/auto-20130114.0340-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   81228 Jan 15  2013 .zfs/snapshot/auto-20130121.0340-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   83996 Jan 26  2013 .zfs/snapshot/auto-20130128.0340-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84140 Feb  1  2013 .zfs/snapshot/auto-20130204.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130211.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130304.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130311.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130318.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130325.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130401.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130408.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130415.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130422.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130429.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   84428 Feb  8  2013 .zfs/snapshot/auto-20130506.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   88380 May  6  2013 .zfs/snapshot/auto-20130513.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   89868 May 16  2013 .zfs/snapshot/auto-20130520.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   89868 May 16  2013 .zfs/snapshot/auto-20130527.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   90636 May 31  2013 .zfs/snapshot/auto-20130603.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   90636 May 31  2013 .zfs/snapshot/auto-20130610.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   92444 Jun 15  2013 .zfs/snapshot/auto-20130617.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   92444 Jun 15  2013 .zfs/snapshot/auto-20130624.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   92444 Jun 15  2013 .zfs/snapshot/auto-20130701.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   92444 Jun 15  2013 .zfs/snapshot/auto-20130708.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   92444 Jun 15  2013 .zfs/snapshot/auto-20130715.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   92444 Jun 15  2013 .zfs/snapshot/auto-20130722.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   92444 Jun 15  2013 .zfs/snapshot/auto-20130729.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   92444 Jun 15  2013 .zfs/snapshot/auto-20130805.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   93820 Aug  9  2013 .zfs/snapshot/auto-20130812.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   97772 Aug 15  2013 .zfs/snapshot/auto-20130819.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   97772 Aug 15  2013 .zfs/snapshot/auto-20130826.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel   97772 Aug 15  2013 .zfs/snapshot/auto-20130902.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  100892 Sep  7  2013 .zfs/snapshot/auto-20130909.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  103372 Sep 12  2013 .zfs/snapshot/auto-20130916.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  107100 Oct 15  2013 .zfs/snapshot/auto-20131021.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  107948 Oct 22  2013 .zfs/snapshot/auto-20131028.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  107948 Oct 22  2013 .zfs/snapshot/auto-20131104.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  111436 Nov  6  2013 .zfs/snapshot/auto-20131111.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  111436 Nov  6  2013 .zfs/snapshot/auto-20131118.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  111836 Nov 19  2013 .zfs/snapshot/auto-20131125.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  113660 Nov 26  2013 .zfs/snapshot/auto-20131202.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  115452 Dec  7  2013 .zfs/snapshot/auto-20131209.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  115452 Dec  7  2013 .zfs/snapshot/auto-20131216.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  115452 Dec  7  2013 .zfs/snapshot/auto-20131223.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  115452 Dec  7  2013 .zfs/snapshot/auto-20131230.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  115452 Dec  7  2013 .zfs/snapshot/auto-20140106.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  115644 Jan  8  2014 .zfs/snapshot/auto-20140113.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  116108 Jan 17  2014 .zfs/snapshot/auto-20140120.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  116108 Jan 17  2014 .zfs/snapshot/auto-20140127.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  116108 Jan 17  2014 .zfs/snapshot/auto-20140203.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  116860 Feb  6  2014 .zfs/snapshot/auto-20140210.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  118284 Feb 15  2014 .zfs/snapshot/auto-20140217.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  118492 Feb 21  2014 .zfs/snapshot/auto-20140224.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  118908 Mar  1  2014 .zfs/snapshot/auto-20140303.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  121324 Mar  6  2014 .zfs/snapshot/auto-20140310.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  122828 Mar 15  2014 .zfs/snapshot/auto-20140317.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  122828 Mar 15  2014 .zfs/snapshot/auto-20140324.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  123756 Mar 26  2014 .zfs/snapshot/auto-20140331.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  127244 Apr  4  2014 .zfs/snapshot/auto-20140407.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  127452 Apr  9  2014 .zfs/snapshot/auto-20140414.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  127452 Apr  9  2014 .zfs/snapshot/auto-20140421.0341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  128876 Apr 25  2014 .zfs/snapshot/auto-20140428.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  128876 Apr 25  2014 .zfs/snapshot/auto-20140505.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  128876 Apr 25  2014 .zfs/snapshot/auto-20140512.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  128876 Apr 25  2014 .zfs/snapshot/auto-20140519.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  129212 May 23  2014 .zfs/snapshot/auto-20140526.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  130940 May 27  2014 .zfs/snapshot/auto-20140602.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  131132 Jun  7  2014 .zfs/snapshot/auto-20140609.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  133228 Jun 14  2014 .zfs/snapshot/auto-20140616.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  133852 Jun 22  2014 .zfs/snapshot/auto-20140623.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  133852 Jun 22  2014 .zfs/snapshot/auto-20140630.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  133852 Jun 22  2014 .zfs/snapshot/auto-20140707.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  134956 Jul  7  2014 .zfs/snapshot/auto-20140714.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  136572 Jul 20  2014 .zfs/snapshot/auto-20140721.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  136572 Jul 20  2014 .zfs/snapshot/auto-20140728.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  141756 Aug  2  2014 .zfs/snapshot/auto-20140804.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  142684 Aug  6  2014 .zfs/snapshot/auto-20140811.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  142892 Aug 13  2014 .zfs/snapshot/auto-20140818.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  145308 Aug 18  2014 .zfs/snapshot/auto-20140825.0342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  146764 Aug 27  2014 .zfs/snapshot/auto-20140901.0343-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  146764 Aug 27  2014 .zfs/snapshot/auto-20140908.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  147196 Sep  9  2014 .zfs/snapshot/auto-20140915.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  147500 Sep 19  2014 .zfs/snapshot/auto-20140922.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  147500 Sep 19  2014 .zfs/snapshot/auto-20140929.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  148284 Oct  2  2014 .zfs/snapshot/auto-20141006.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  148284 Oct  2  2014 .zfs/snapshot/auto-20141013.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  148284 Oct  2  2014 .zfs/snapshot/auto-20141020.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  150652 Oct 21  2014 .zfs/snapshot/auto-20141027.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  151660 Oct 27  2014 .zfs/snapshot/auto-20141103.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  154220 Nov  4  2014 .zfs/snapshot/auto-20141110.0344-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  155292 Nov 12  2014 .zfs/snapshot/auto-20141117.0345-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  155468 Nov 24  2014 .zfs/snapshot/auto-20141124.0346-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  155820 Nov 29  2014 .zfs/snapshot/auto-20141201.0348-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  155820 Nov 29  2014 .zfs/snapshot/auto-20141208.0349-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  155820 Nov 29  2014 .zfs/snapshot/auto-20141215.0350-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  156012 Dec 20  2014 .zfs/snapshot/auto-20141222.0351-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  156508 Dec 22  2014 .zfs/snapshot/auto-20150105.0404-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  157132 Jan  6  2015 .zfs/snapshot/auto-20150112.0407-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  157132 Jan  6  2015 .zfs/snapshot/auto-20150119.0408-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  158124 Jan 26  2015 .zfs/snapshot/auto-20150202.0417-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  158572 Mar 12  2015 .zfs/snapshot/auto-20150316.0514-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  158572 Mar 12  2015 .zfs/snapshot/auto-20150323.0556-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  159196 Mar 28  2015 .zfs/snapshot/auto-20150330.0602-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  159196 Mar 28  2015 .zfs/snapshot/auto-20150406.0605-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  159836 Apr  9  2015 .zfs/snapshot/auto-20150413.0605-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  159836 Apr  9  2015 .zfs/snapshot/auto-20150420.0616-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  160300 Apr 26  2015 .zfs/snapshot/auto-20150429.1314-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  160300 Apr 26  2015 .zfs/snapshot/auto-20150506.1319-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  160300 Apr 26  2015 .zfs/snapshot/auto-20150513.1323-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  160988 May 18  2015 .zfs/snapshot/auto-20150520.1326-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  164524 May 25  2015 .zfs/snapshot/auto-20150527.1331-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  182652 Jun  9  2015 .zfs/snapshot/auto-20150610.1341-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  196556 Jun 16  2015 .zfs/snapshot/auto-20150617.1342-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  199836 Jun 23  2015 .zfs/snapshot/auto-20150624.1345-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  207516 Jun 30  2015 .zfs/snapshot/auto-20150701.1347-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  209740 Jul  8  2015 .zfs/snapshot/auto-20150708.1352-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  211740 Jul 13  2015 .zfs/snapshot/auto-20150715.1359-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  211740 Jul 13  2015 .zfs/snapshot/auto-20150722.1404-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  214012 Jul 28  2015 .zfs/snapshot/auto-20150729.1420-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  215564 Aug  5  2015 .zfs/snapshot/auto-20150805.1420-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  215564 Aug  5  2015 .zfs/snapshot/auto-20150812.1420-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  220076 Sep 15  2015 .zfs/snapshot/auto-20150916.1450-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  222588 Sep 18  2015 .zfs/snapshot/auto-20150923.1453-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  223260 Sep 27  2015 .zfs/snapshot/auto-20150930.1503-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  226348 Oct  3  2015 .zfs/snapshot/auto-20151007.1505-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  227820 Oct 12  2015 .zfs/snapshot/auto-20151014.1505-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  227820 Oct 12  2015 .zfs/snapshot/auto-20151021.1508-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  232812 Oct 28  2015 .zfs/snapshot/auto-20151028.1515-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  237164 Nov  3  2015 .zfs/snapshot/auto-20151104.1518-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  239468 Nov 11  2015 .zfs/snapshot/auto-20151111.1519-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  241084 Nov 18  2015 .zfs/snapshot/auto-20151118.1522-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  241468 Nov 24  2015 .zfs/snapshot/auto-20151125.1533-10y/KeePass/Database.kdb
-rw-rw-rw-  1 jgreco  wheel  243196 Dec  2  2015 .zfs/snapshot/auto-20151202.1536-10y/KeePass/Database.kdb


At this point, the file was moved to WebDAV, and, so, is no longer present on the fileserver. However, it is still easy to go and retrieve copies up to ten years old because there's a weekly snapshot.

Note that this is not FILE VERSIONING and that the snapshot will be taken regardless of changes. Likewise, multiple changes within a week are not reflected. But most of the time, we don't really care about that, accidents in the short term are handled by the more frequent snaps that are retained for less time.

ZFS snapshots are nearly free on systems like this without significant change deltas. Virtually no disk space is required except for the change delta, and access is quick and easy as it is handled as though it is part of the filesystem. These files are all immediately available for read-only access -- you cannot write to a snapshot though.

ZFS snapshots do have a performance impact on the system, and it's recommended not to have more than 1000 of them. If you look at the snap strategy I outlined above, you'll notice it lives well within that, but nevertheless has immense recovery flexibility.

Any SSD you can get is sufficiently large. For SATA-DOM, I do recommend 64GB or larger, though I believe that 16GB is still supposed to work.
 

john60

Explorer
Joined
Nov 22, 2021
Messages
85
Thank you jgreco, snapshots capability appears perfect.

I am stuck on the HBA card I need. For example: amazon says its an HBA and works with ZFS freenas, but it makes reference to HW raid., so sounds identical the the Dell PowerEdge T320 Server capability. So I'm missing something.

Is there a list of recommended HBA or HBA that are commonly used?
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
What you're looking for is an LSI HBA, or an LSI RAID that can be crossflashed to an HBA. All LSI cards have a small MIPS CPU on them and are miniature computers in their own right. All of the fuss is simply over how they communicate with the host computer; the HBA IT mode does it one way, which is very desirable and very reliable, while the RAID cards do it differently, which isn't desirable or as reliable. The "what's all the noise about HBA's" article details some of this.

Part numbers?

The LSI HBA is, for ex., a 9211-8i or equivalent, but hasn't been available in the channel new for years AFAICT. A recent spotting by a forum member is suspected of being a fake.

LSI manufactures other cards, such as the low-end RAID card 9240-8i, which is basically the same card with firmware that does RAID. This is considered a "hardware" RAID controller because the host system has zero, zippo, nothing to do with the RAID, and it is all managed by the LSI CPU. Cards such as the LSI 9240-8i can be crossflashed to become an HBA in IT mode, simply by wiping out the RAID firmware and installing the desired firmware.

LSI also sells its cards to numerous OEM's, such as Dell and IBM. Because Dell and IBM are both extremely good at upselling customers, the market has been flooded with a glut of Dell PERC H200's, H310's, and IBM ServeRAID M1015's for years. These cards are also crossflashable to HBA IT mode, usually with a little more effort than the 9240-8i.

Any card that comes preflashed with IT mode firmware version 20.00.07.00 is "good to go" and several eBay sellers sell them preflashed this way for ten or twenty bucks more than you would pay for a standard Dell/IBM/etc controller. Speaking as someone who recycles gear professionally and has all the toolsets to do it, I will say that it is probably WORTH the $10-$20 extra unless you like a challenge.


If you have not worked with SAS in the past, be sure to read the primer, as it discusses SAS and SATA compatibility and other need-to-knows.
 

Evertb1

Guru
Joined
May 31, 2016
Messages
700
I will say that it is probably WORTH the $10-$20 extra unless you like a challenge.
I agree that its worth the extra bucks to buy an preflahsed card. But if you can't find a preflashed card you should not be afraid to do it your self. I have done so with a couple of H310 cards using the info on this page where you find all the info you need. Even the given download links are still valid. I just double checked. It will take some time but is not all that difficult in my opinion.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I agree that its worth the extra bucks to buy an preflahsed card. But if you can't find a preflashed card you should not be afraid to do it your self. I have done so with a couple of H310 cards using the info on this page where you find all the info you need. Even the given download links are still valid. I just double checked. It will take some time but is not all that difficult in my opinion.

This is largely dependent on you having a board that is compatible with the toolchain. Some of the Dell cards need to be taken back to an early phase, I want to say P8, before they can be taken over to 9211 compatibility mode, and this requires the DOS toolset, and this does not work right on all boards.
 

rvassar

Guru
Joined
May 2, 2018
Messages
972
Make sure your T320 doesn't already have a HBA or PERC controller. If it does you may be able to make use of it, just not the RAID functionality. The common T320 config is 8 x 3.5 inch hot swap drives in front, and these are almost certainly some kind of universal SAS/SATA backplane.

On the SATA drives comment... Understand SAS & SATA drives share an electrically compatible interface, but they speak a different protocol or "language". The difference most people notice is the SATA drives have an open space between the power a data connection on the drives, and SAS drives do not. If you look at the backplane on your T320 you should see that the drives plug into a socket that will accept either. A proper SAS HBA will interface with both SATA & SAS drives. A SATA controller will only talk to SATA devices. If you're planning on using the 8 x 3.5" backplane on the T320, you'll need an HBA that supports the cabling standards Dell used.
 

john60

Explorer
Joined
Nov 22, 2021
Messages
85
The T320 is still in transit, but based on the pictures, looks like cables plug into the back of the drives. The generic description says "Up to four 3.5 inch, internal, cabled SATA, nearline SAS, or SAS hard drives.".
Question 1: From the internet, it said the HBA SAS controllers automatically detect SATA and switch protocol/electrical signal. Is this correct?
Question 2: From the internet, I saw the drive side is different between SATA and SAS. On the cable side, are they the same or different?
Question 3: If the T320 does not have a HBA, does this mean it has a raid controller or is there other options?
Question 4: Assuming the T320 dies, and I replace it with another different server, will the hard-drive be transferable to another server and retain their truenas data?

t320.jpg
 

NugentS

MVP
Joined
Apr 16, 2020
Messages
2,947
As long as you have used a proper HBA then drives (and more importantly the data) are easily transferable between different servers
 

rvassar

Guru
Joined
May 2, 2018
Messages
972
Ok... I had to do a little digging. I've never seen a 4-drive T320 before. That is in fact a 8087 SAS/SATA port on the MB those drives are connected to. The T320 apparently has a PERC S110 RAID controller embedded on the motherboard, which is an Intel X79 PCH controller. Those are going to be 3Gb/sec SATA 2. The solo SATA ports on the MB are 6Gb/sec SATA 3, and there's probably some boot limitations.

To your questions:
Question 1: From the internet, it said the HBA SAS controllers automatically detect SATA and switch protocol/electrical signal. Is this correct?

The signals are electrically identical. It's more like speaking a different language. SAS is formal Latin as spoken in the Roman Senate. SATA is a bit less eloquent, more like the communications you might expect at a McDonalds drive thru lane. However, I'm not sure the X79 PCH will actually talk SAS. The spec's imply it, but it seems to be implementation dependent.

Question 2: From the internet, I saw the drive side is different between SATA and SAS. On the cable side, are they the same or different?

They are slightly different, but with a purpose. The SATA drives have a open notch between the data and power connector. SAS drives have this filled in. This is done so you can't plug a SAS drive into a SATA cable. They're electrically identical, no damage would occur, but the SATA controller doesn't talk SAS, so the notch prevents the combination. All SAS controllers will speak SATA, so their cables & back planes allow either to be inserted.

Question 3: If the T320 does not have a HBA, does this mean it has a raid controller or is there other options?

The Intel X79 PCH / PERC S110 is not a true RAID controller. It implements RAID with software help I believe, but some of that will be implemented in the Dell HII/BIOS. I suspect if configured correctly TruNAS will view it as a simple SATA controller, with direct access to the disks. But I'd like to hear one of the other's chime in and confirm. @jgreco or @danb35 any experience?

As for other options: This server was also sold with the PERC H310. You can source one of those for $30 - 50 on eBay, flash it to IT mode, pop that 8087 cable off the MB and plug it directly in to the H310. I use the H310 myself.

Question 4: Assuming the T320 dies, and I replace it with another different server, will the hard-drive be transferable to another server and retain their truenas data?

The data will be in a ZFS pool implemented on the hard drives. That pool will be able to be imported into any OpenZFS v2 supporting OS, including Linux, FreeBSD, and probably even a Raspberry Pi if you wanted that kind of trouble... But the way you're posing the question makes me want to add the comment: RAID, even ZFS RAIDz2 is no substitute for a back up. If you're contemplating moving pools between machines with data, you're accepting risk. If you're expecting RAIDz2 to save you from anything more than a disk failure, you're accepting a lot of risk.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
The signals are electrically identical. It's more like speaking a different language.
Actually no, SAS uses a higher voltage to allow for longer cable runs. There may be further differences, particularly for 12 and 24 Gb/s SAS.
 

john60

Explorer
Joined
Nov 22, 2021
Messages
85
But the way you're posing the question makes me want to add the comment: RAID, even ZFS RAIDz2 is no substitute for a back up. If you're contemplating moving pools between machines with data, you're accepting risk. If you're expecting RAIDz2 to save you from anything more than a disk failure, you're accepting a lot of risk.
Thank you for the answers and for spending time to look up the T320.

Clarification: My confidence that a 200$ server will continue to operate reliably is low. So if it works and I get comfortable with Truenas, then I would like to transfer the new disks to newer hardware, possibly the TrueNAS Mini XL. Hence my questions about disk transferable between Truenas hardware. My server data is currently backed up to Google Drive, Dropbox, and a rotation of 3 other detached hard drives. Once Truenas becomes the master, then Truesnas will be back up to these sources.

Follow-up question 1: When the T320 arrives, assuming the Truenas sees the drives, any chances it will still manipulate the disk content so the disks are not transferable to another system with a different hw like the TrueNAS Mini XL?
 
Last edited:

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I'm not sure the X79 PCH will actually talk SAS

Depends on implementation, see


I'm too lazy to find the specifics for the server in question, sorry.

The Intel X79 PCH / PERC S110 is not a true RAID controller. It implements RAID with software help I believe, but some of that will be implemented in the Dell HII/BIOS. I suspect if configured correctly TruNAS will view it as a simple SATA controller, with direct access to the disks. But I'd like to hear one of the other's chime in and confirm. @jgreco or @danb35 any experience?

The X79 PCH SCU should show up as an isci driver powered device. These work just fine, if slightly limited by the 3Gbps limit. They are known to be fine with PCIe passthru at least on common Supermicro boards.

isci0: <Intel(R) C600 Series Chipset SAS Controller (SATA mode)> port 0x4000-0x40ff mem 0xe7afc000-0xe7afffff,0xe7400000-0xe77fffff irq 18 at device 0.0 on pci3

Powers one of the main fileservers for the office here. One of the really interesting things is that on a 12-bay chassis, you can hook up the SCU to four bays, and an LSI HBA to the other eight bays, and run two FreeNAS instances next to each other doing completely separate tasks.
 

rvassar

Guru
Joined
May 2, 2018
Messages
972
Actually no, SAS uses a higher voltage to allow for longer cable runs. There may be further differences, particularly for 12 and 24 Gb/s SAS.

True, but a minor difference... More correctly, they're "electrically compatible". It usually doesn't matter. I haven't looked at the 12Gb SAS spec in detail, I need to... I'm pretty sure there will be no SATA IV, so...
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Well, "electrically compatible" is probably incorrect. That's a fairly broad term and the electrical engineer in me raises eyebrows and says "not so".

It's not entirely incompatible, and most of the incompatibility has to deal with once you get beyond the 1 meter SATA limitation. Once you get out there, then you do need the higher voltage SAS, and while 1.5M or 2M SATA might appear to work, it is likely to be somewhat fragile and more susceptible to noise and other issues. I would accept "electrically fraught with peril" though. ;-)

SATA beyond 6Gbps is pretty much a dead issue. SSD's rapidly outpaced that and NVMe is the heir apparent. Once the SATA Cabal failed to come out with any meaningful solution and NVMe overtook them, there's just not that much compelling about SATA to drive further development. It will remain as a cheap attachment protocol for awhile for hard drives, while flash storage continues with NVMe. This may spell doom for the 2.5" form factor, as hard drives continue their evolution towards being exclusively for slow mass storage -- the lack of meaningful capacities in the 2.5" world has been somewhat devastating.
 
Top