On 2/9/24 20:36, Alexander V. Makartsev wrote:
On 10.02.2024 03:34, gene heskett wrote:
On 2/8/24 07:22, Alexander V. Makartsev wrote:
This is how I would test it.
First create a new GPT partition table and a new 2TB partition:
$ sudo gdisk /dev/sdX check
/!\ Make double sure you've selected the right device by using
"lsblk" and "blkid" utilities. /!\
/!\ It could change from 'sdm' to another
name after reboot. /!\
At gdisk prompt press "o" to create a new GPT table, next press "n"
to create a new partition, accept default values by pressing "enter".
To verify setup press "p", to accept configuration and write it to
device press "w". check
Next format partition to ext4 filesystem:
$ sudo mkfs.ext4 -m 0 -e remount-ro /dev/sdX1 check
Next mount the filesystem:
$ sudo mkdir /mnt/disktest check
$ sudo mount /dev/sdX1 /mnt/disktest check
Next create reference 1GB file filled with dummy data:
$ cd /mnt/disktest check
$ sudo fallocate -l 1G ./reftestfile check
$ sudo badblocks -w -s -t random ./reftestfile check
Now we can use script to create 1830 1GB files and check their checksum:
$ for i in $(seq 1830); do sudo dd if="./reftestfile"
of="./testfile${i}" status=none; md5sum -b "./testfile${i}" ;done
This procedure will take a very long time to complete. "md5sum" will
output the checksum for each file and they should be equal to
checksum of "reftestfile":
$ md5sum -b ./reftestfile
Got a problem Alexander:
I had to put the script someplace else. So I put it in my private
/home/gene/bin as disktest.txt with nano. couldn't find it.
But:
gene@coyote:/mnt/disktest$ sudo /home/gene/bin/disktest.txt
sudo: /home/gene/bin/disktest.txt: command not found
If you put that 'for' loop one-liner inside, I think you forgot to make
"/home/gene/bin/disktest.txt" executable:
$ chmod +x /home/gene/bin/disktest.txt
And:
gene@coyote:/mnt/disktest$ ls /home/gene/bin/disktest.txt
/home/gene/bin/disktest.txt
So I think I found the problem with my script, ancient eyeballs can't
tell the diff between () and{} so I fixed that but it still won't run
or be killed. I don't care how big you've made the t-bird font, by the
time you've read 2 more msgs, its back to about 6 point text. Grrrrrrr.
So I fired up a root session of htop, found about 8 copies of dd
showing and started killing them but cannot kill the last 2 in the D
state.
And cannot find .disktest.txt running in a root htop and the2 copy's
of dd can't be killall'd.
It's not possible for me to know what went wrong.
Have you created "reftestfile" inside "/mnt/disktest" directory?
How many "testfile*" files, if any, were created on the filesystem
mounted at "/mnt/disktest"?
Was there anything relevant in the syslog about "sdm" drive after the test?
If you'd followed my instructions step by step, you'd end up inside
"/mnt/disktest" directory and for the last step all you had to do is
copy and paste that one-liner 'for' loop into the command line.
It's a long line and it really meant to be copied and pasted not typed
by hand, and also to give you the idea of the process, so you could
adjust it if needed.
I've tested it again on my computer and it worked as expected,
synchronously created "testfiles" inside current directory and
calculated their hashes one by one.
And by now, I've forgotten what it was that we were trying to
accomplish. One of the hazards of my next b-day being the 90'th.
Sorry. Or t-bird is messing with my mind by reserectiing older messages.
--
With kindest regards, Alexander.
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀⠀⠀⠀
Cheers, Gene Heskett, CET.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis