Resource icon

solnet-array-test Discussion Thread

Davvo

MVP
Joined
Jul 12, 2022
Messages
3,222
@jgreco should be able to tell you something about what's happening and the best alternatives.
 

Stromkompressor

Dabbler
Joined
Mar 13, 2023
Messages
18
What I am doing right now is writing data to an SMB share in parallel like this

Code:
cat /dev/random > file1.out


with file1, file2, file3. I know you can't do this on a live pool but I have fresh disks which I want to stress a bit.

Edit: Btw this is how my memory usage looks like when running this
1681924023841.png


So no abnormal behavior like with the multiple dd commands running.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
@jgreco Just wanted to say - Thank you this is great.

Yup.

I HAVE NO IDEA HOW I AM JUST NOW SEEING THIS THREAD 8 YEARS LATE

Well the obvious answer is because you weren't around doing fun Internet Service Provider stuff 24 years ago when I wrote the (v1) tool. The v2 tool was basically just some stuff stripped out of it, and the v3 is the ugly bi-modal FreeBSD+Linux rewrite.

It's so very handy to have a nondestructive read-only tool that works the hell out of an I/O subsystem.
 

NickF

Guru
Joined
Jun 12, 2014
Messages
763
Well the obvious answer is because you weren't around doing fun Internet Service Provider stuff 24 years ago
You see - and this is not a dig nor sarcasm. I was 9. This is the exact type of thing explains why all of your war stories are fascinating and why you are such a great resource with a wealth of experience.

The v2 tool was basically just some stuff stripped out of it, and the v3 is the ugly bi-modal FreeBSD+Linux rewrite.
But this post is from 2014 and I am just now seeing it! o_O

It's so very handy to have a nondestructive read-only tool that works the hell out of an I/O subsystem.
Exactly! My workload for burning in servers has always been SMART LONG -> DBAN SHORT -> SMART LONG. I even did this as a technician for questionable hard drives in workstations. Being able to simulate a workout without having to destroy and scrub the whole damn drive over and over with random data is great. Makes predeployment stuff easier.

But the magic is in the fact it will work fine on a live system with live data....albeit slowly but sometimes thats all that matters
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
You see - and this is not a dig nor sarcasm. I was 9.

I know. I looked. Try getting born earlier next time around, you missed some awesome times. The days when computers might actually be made out of discrete transistors, and 1000 transistors on an IC was considered a high density part. See, you're going to live long enough for AI to take over the cloud, and then it'll be Skynet, and robot treads crunching over human skeletons littered all over.

But this post is from 2014 and I am just now seeing it! o_O

2014. You managed to survive Cyberjock. Be happy.

Exactly! My workload for burning in servers has always been SMART LONG -> DBAN SHORT -> SMART LONG. I even did this as a technician for questionable hard drives in workstations. Being able to simulate a workout without having to destroy and scrub the whole damn drive over and over with random data is great. Makes predeployment stuff easier.

The SMART LONG testing is a good strategy, especially if you do it on an idle system and have some idea what the elapsed time should be. That gets you a LOT of what my script does, except my script also exercises all the I/O paths too. The trick was that we didn't really have good SMART stats in 2000. SMART was introduced in the mid '90's but really should have been named STUPID. Modern firmware stacks make it a much more practical tool.
 

NickF

Guru
Joined
Jun 12, 2014
Messages
763
2014. You managed to survive Cyberjock. Be happy.

I just spent the better part of the past half hour trying to prove that I did indeed have some cyberjock scars to share, but it appears that either I have a horrible memory, or I was too afraid to even start posting and asking questions until 2016. Even though I registered in 2014.

I think I joined after following this video:

Because I wanted to move away from using a Windows "Server" that I definitely had licensing for when I was in my early 20s. So as crappy as cyberjock would have said that video was, it certainly inspired me to learn and grow :)
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I just spent the better part of the past half hour trying to prove that I did indeed have some cyberjock scars to share,

They need not be directly inflicted. There's more than one way to end up scarred. :smile:

Common Usenet and Internet etiquette was to lurk for awhile to get the feel for a place before you tried participating.
 

NickF

Guru
Joined
Jun 12, 2014
Messages
763
Common Usenet and Internet etiquette was to lurk for awhile to get the feel for a place before you tried participating.
That is actually fascinating and true, and strange... because I don't remember that changing even though it absolutely did. And I mean even as recent as my comparatively smaller experience. People just go on Reddit now and ask anyone anything with no background information about anything. To steal from one of my favorite authors John Taylor Gatto

It's kind of like we used to have communities, and now we just have networks of people. That phenomenon has occurred in real life by his account of society, and it kinda did even on the internet. Which puts a few holes in his thesis and is fascinating to me. He sorta blames technology, but the same phenomenon exists even in technology.

EDIT:
I lied. It was this video
 
Last edited:

Hemidactylus

Cadet
Joined
Oct 7, 2023
Messages
7
Hey,

Thanks jgreco for this test tool.

Can you correct me if I am wrong? If I understand correctly, I have to use the script v3 version from Proxmox (Debian compatible) and the script v2 version from TrueNAS Core (FreeBSD version)?

I use Proxmox on a SSD and I will install TrueNAS Core in a VM after testing all HDD (18 TB each). If it does not run on Debian, I will install TrueNAS Core first.

Before, I was willing to use destructive badblocks on all the HDD, but it seems not necessary?
I don't understand, will badblocks be completely useless before using the HDD?

Thanks!
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
v3 works on both FreeBSD and Linux.

I don't care for badblocks for various reasons, including that it cannot handle larger disks and that the testing is destructive. The tool is intended for a different purpose (it's right there in the name) and so is like trying to use a hammer to put your disks into your chassis; you might be able to get it to do the job, but it just seems wrong to me.
 

MrGuvernment

Patron
Joined
Jun 15, 2017
Messages
268
Testing with it now (wget works wonders when browsers dont want to support ftp://)
 
Last edited:

MrGuvernment

Patron
Joined
Jun 15, 2017
Messages
268
@jgreco question, when i run camcontrol, is does not show my NVMe's - is this something that would need to be updated somewhere?Presume it is a truenas change?

1697408857913.png


my NVM's are nvd* labeled.
 

Davvo

MVP
Joined
Jul 12, 2022
Messages
3,222
@jgreco question, when i run camcontrol, is does not show my NVMe's - is this something that would need to be updated somewhere?Presume it is a truenas change?

View attachment 71245

my NVM's are nvd* labeled.
Camcontrol doesn't see NVMe drives, I believe the script wasn't originally written with those in mind :wink:
Manually, you can use nvmecontrol devlist but it's not in the script.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
It's doubtful this test would be meaningful on SSDs without further work (writes would be necessary).
 

MrGuvernment

Patron
Joined
Jun 15, 2017
Messages
268
It's doubtful this test would be meaningful on SSDs without further work (writes would be necessary).
Good to know, it may lead into my next curiosity, all of my NVMe drives were showing about 2GB of speeds...which was making me wonder (I am currently going through FIO tests, running the gamut on my systems to see what my baseline is and then tweak as much as possible for best possible scenarios!
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
It's doubtful this test would be meaningful on SSDs without further work (writes would be necessary).

Nonsense, @Ericloewe. The entire point, at least originally, of the test was to measure differences in throughput available from an array of drives. That's still legitimate within the SSD framework but admittedly there are less "moving parts" involved especially if the SSD isn't needing to retrieve pages from the flash, as with a brand new SSD. You could still write /dev/random to the drives first. With HDD, you're testing the kernel device driver performance, the interconnect between the CPU's, the memory bus, the PCI busses, the PCI bridges (remember that this was designed back in the ServerWorks days), the RAID controllers, the shared parallel SCSI busses, and then the individual disks. This was just a great demo of the maxim about "weakest link in the chain". Modern NVMe SSD arrays are going to have much fewer moving parts (or links in the chain) but it will still effectively sniff out weak links where you might not have noticed that the PCIe slot you're using is provided by the PCH, or slower PCIe, or what have you.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I should've been clearer: I meant empty SSDs, in the context of burning them in. Yes, there are some moving parts still, but I'd be cautious about "over-eager" users reading too much into the test if they ran it with empty SSDs and saw that "everything's okay".
 

VoxUnthank

Cadet
Joined
Nov 18, 2023
Messages
1
Just adding this post to help future newbies like myself. Please anyone with greater knowledge feel free to correct this
As highlighted in earlier posts you can't view and download this script in an FTP app. It needs to be downloaded in a single command.
wget and fetch do not work on windows.

Instead open up the command prompt, type PowerShell. hit return. Then
Code:
Invoke-WebRequest ftp://ftp.sol.net/incoming/solnet-array-test-v3.sh -OutFile solnet-array-test-v3.sh
 
Top