úterý 21. března 2023

Rescan sata port (hot-swap)

Short:

First: identify and delete the old drive (identify HCTL, which is Host:Channel:Target:Lun (viz ))

$ lsscsi
[0:0:0:0]    cd/dvd  HL-DT-ST BD-RE  BH10LS30  1.02  /dev/sr0
[1:0:0:0]    disk    ATA      APPLE SSD TS256C 0201  /dev/sdd
[2:0:0:0]    disk    ATA      WDC WD6002FRYZ-0 1M03  /dev/sdb
[3:0:0:0]    disk    ATA      WDC WD5001F9YZ-0 1E03  /dev/sdc
[N:0:1:1]    disk    WDC PC SN520 SDAPNUW-512G-1002__1          /dev/nvme0n1
$ lsscsi -g
[0:0:0:0]    cd/dvd  HL-DT-ST BD-RE  BH10LS30  1.02  /dev/sr0   /dev/sg0
[1:0:0:0]    disk    ATA      APPLE SSD TS256C 0201  /dev/sdd   /dev/sg1
[2:0:0:0]    disk    ATA      WDC WD6002FRYZ-0 1M03  /dev/sdb   /dev/sg2
[3:0:0:0]    disk    ATA      WDC WD5001F9YZ-0 1E03  /dev/sdc   /dev/sg3
[N:0:1:1]    disk    WDC PC SN520 SDAPNUW-512G-1002__1          /dev/nvme0n1  -  
$ lsblk -o NAME,MODEL,HCTL
NAME             MODEL                          HCTL
sdb              WDC WD6002FRYZ-01WD5B1         2:0:0:0
└─sdb1                                          
  └─data-bigdata                                
sdc              WDC WD5001F9YZ-09YUWL1         3:0:0:0
└─sdc1                                          
  └─data-bigdata                                
sdd              APPLE SSD TS256C               1:0:0:0
sr0              HL-DT-ST BD-RE BH10LS30        0:0:0:0

and also:

readlink /sys/block/sdX

To find the physical SATA port number, add one to the given host number.

2:0:0:0 -> H=2, sdb == ata3
 

Or use this command:

# find -L /sys/bus/pci/devices/*/ata*/host*/target* -maxdepth 3 -name "sd*" 2>/dev/null |\
egrep block |egrep --colour '(ata[0-9]*)|(sd.*)'
/sys/bus/pci/devices/0000:00:18.0/ata1/host0/target0:0:0/0:0:0:0/block/sda
/sys/bus/pci/devices/0000:00:18.0/ata2/host1/target1:0:0/1:0:0:0/block/sdb
/sys/bus/pci/devices/0000:00:18.0/ata3/host2/target2:0:0/2:0:0:0/block/sdc
  ...   

As a first step, the old drive has to be deleted (see), and (see):

echo 1 > /sys/block/sda/device/delete

Then rescan the host bus:

echo "- - -" >/sys/class/scsi_host/host<n>/scan

or

for i in /sys/class/scsi_host/host* ; do echo "- - -" > $i/scan ; done

also here.

pátek 3. března 2023

Debian 11

Staticka IP adresa

(pred  systemctl restart networking je obcas nutne rucne smazat IP adresy zarizeni, jinak se zmeny v /etc/network/interfaces neprojevi)


Aktivace rc.local

(podle https://blog.wijman.net/enable-rc-local-in-debian-bullseye/ )

Create a file /etc/rc.local

#!/bin/sh
  # ...
  # By default this script does nothing.
  /etc/rc.firewall
  touch /var/lock/subsys/local
  exit 0
  
chmod +x /etc/rc.local

Then we need to reload the systemd manager configuration:

systemctl daemon-reload

Then we start the rc-local daemon:

systemctl start rc-local

And then we check the status of rc-local to confirm it ran OK:


systemctl status rc-local 

Pokud definice sluzby chybi: (podle https://www.cyberciti.biz/faq/how-to-enable-rc-local-shell-script-on-systemd-while-booting-linux-system/

[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
 
[Install]
WantedBy=multi-user.target

anebo delsi a ukecanejsi soubor (ale musi mit sekci [Install]):

  
# /etc/systemd/system/rc-local.service
#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
 
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
StandardOutput=journal+console
StandardError=journal+console
[Install]
WantedBy=multi-user.target
 [Install]
WantedBy=multi-user.target

Iptables firewall

iptables negate: (https://www.cyberciti.biz/faq/iptables-invert-ip-or-protocol-with/) 

Narozdil od starsi implementace, negace se dava pred "option" (viz man iptables): --option ! this is deprecated in favour of ! --option this

--------------

neděle 19. února 2023

LVM - recovery of a temporarily failed disk/PV, missing PV

https://www.golinuxcloud.com/recover-lvm2-partition-restore-vg-pv-metadata/#Step_2_Restore_PV_Physical_Volume_in_Linux

 

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/4/html/cluster_logical_volume_manager/mdatarecover


https://serverfault.com/questions/788202/locked-lvm-logical-volume-in-vg-with-missing-pv

Similar to Can't remove volume group, solved this problem by creating a temporary pv with the same uuid:

UUID="RQr0HS-17ts-1k6Y-Xnex-IZwi-Y2kM-vCc5mP"  # from question
dd if=/dev/zero of=/tmp/tmp.raw bs=1M count=100 
losetup -f
losetup /dev/loop0 /tmp/tmp.raw
pvcreate --norestorefile -u $UUID /dev/loop0   # it has arisen!
killall lvmetad      # so it stops complaining about duplicate uuids (dulezite)
pvremove /dev/loop0  # a clean removal 
losetup -D
pvscan --cache       # to restart lvmetad


https://serverfault.com/questions/894410/cant-remove-volume-group

You cannot use --removemissing or force delete VG if metadata area equal zero as in my case.

Make block device from file and include in $VG:

dd if=/dev/zero of=/tmp/tmp.raw bs=1M count=100
losetup -f
losetup /dev/loop0 /tmp/tmp.raw
vgextend $VG /dev/loop0

After that I have Metadata Areas 1

vgremove --force $VG

and remove pvdevice:

pvremove /dev/loop0

pátek 17. února 2023

compression

 https://linuxreviews.org/Comparison_of_Compression_Algorithms

 https://www.privex.io/articles/which-compression-algorithm-tool/

 

 

Summary - which compression algorithms are best for each usecase?

Fastest compression and decompression: LZ4

Highest overall compression ratio: XZ

Compromise between compression ratio and speed: BZIP2 using LBZIP2

Most widely used / compatible compression algorithm: GZIP

 

My test:     256060514304  linux-sda.raw (239G) (almost empty disk image)

program sizesecs.speedrealusersys
pigz 10457259791  382.226 s 27.4 MB/s  6m22.2s 79m49.8s 10m14.8s
pbzip2 10147770833  511.313 s 19.8 MB/s  8m31.3s 151m19.4s 6m25.3s
lbzip2 10135040141  427.531 s 23.7 MB/s  7m7.5s 65m57.9s 3m23.1s
plzip  28286275683 1033.31 s  8.0 MB/s 17m13.3s 529m13.4s 3m1.4s
xz -T0  8183670908 887.644 s 9.2 MB/s 14m47.9s 339m29.3s 2m40.7s

 

My test 2:     10400825344  tmp.qcow2 (9.7G)

program sizesecs.speedrealusersys
pigz 4452123186 24.9386 s 179 MB/s 0m24.9s 8m52.9s 0m30.6s
pbzip2 4230752746 67.2459 s 62.9 MB/s 1m7.3s 33m10.6s 1m5.4s
lbzip2 4228282477 33.8341 s 125 MB/s 0m33.1s 16m43.6s 0m29.0s
plzip 3808851634 155.09 s 24.6 MB/s 2m35.1s 79m57.5s 0m35.6s
xz -T0 3756465944 156.155 s 24.1 MB/s 2m36.4s 79m7.2s 0m30.9s

Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz, 16core/32threads, 128G ram

pátek 27. ledna 2023

transfer data between computers

 1. netcat

receiving machine:

iptables -A INPUT -p tcp --dport 1440 -s $remoteIP -i br0 -j ACCEPT
nc -l -p 1440 |  dd bs=16M of=destimage

sending machine

pv -r -t -b -e sourceimage.iso |nc virt3 1440 -i 1

(dd or cat can be used instead of pv)
(netcat option -i 1 (idle timer) is -q 1 at other implementation)

with compression: 

serv1# nc -l -p 1440 | pigz -d | dd bs=16M of=/path/destimage
serv2# dd if=srcimage bs=16M |pv|pigz -1|nc virt3 1440 -i 1


in one command:

(zstd je alternativa, mozna rychlejsi)

ssh -n -f dest.example.com "bash -c 'nc -l -p 1440 |pigz -d |dd bs=16M of=/mnt/1/destimage>/dev/null 2>&1 &'" ;
sleep 2 ; dd if=srcimage bs=16M |pv|pigz -1|nc virt3 1440 -i 1 


2. ssh: 

 cat /dev/xxx | zstd | ssh dest.example.com "zstd -d | dd of=/dev/xxx" (nezkoušeno)

pátek 13. ledna 2023

Optimal setting for badblocks

See: how-can-i-choose-optimal-values-for- ... -badblocks parameters?

Summary:

There is a badblocks benchmark script available that should suit your purpose.

 

1. The default size is  of data is 4M x 512 bytes, i.e., 2GB ; not too much.

2. The script performs destructive test on first 2GB of the device.

3. The cases for count=1 or 2 are slow and can be skipped.

typical result for 4k block (TOSHIBA MG04ACA600E, sector size 512 logical, 4096 physical)

2:39.77s: badblocks -b 4096 -c 2048
2:39.97s: badblocks -b 4096 -c 4096
2:40.43s: badblocks -b 4096 -c 1024
2:41.14s: badblocks -b 4096 -c 8192
2:41.39s: badblocks -b 4096 -c 512
2:42.29s: badblocks -b 4096 -c 256
2:43.70s: badblocks -b 4096 -c 16384
2:43.76s: badblocks -b 4096 -c 128
2:45.03s: badblocks -b 4096 -c 32768
2:45.83s: badblocks -b 4096 -c 65536
2:48.80s: badblocks -b 4096 -c 131072
2:52.29s: badblocks -b 4096 -c 64
2:59.83s: badblocks -b 4096 -c 32
3:15.19s: badblocks -b 4096 -c 16
3:36.80s: badblocks -b 4096 -c 8
4:25.55s: badblocks -b 4096 -c 4
6:23.96s: badblocks -b 4096 -c 2
10:33.7s: badblocks -b 4096 -c 1

The full script run (TOSHIBA MG04ACA600E, sector size 512 logical, 4096 physical)

 

RUN1:                                      RUN2:    
0:19.57s: badblocks -b 512 -c 4             0:20.02s: badblocks -b 1024 -c 1
0:19.58s: badblocks -b 512 -c 2             0:20.09s: badblocks -b 512 -c 2
0:20.00s: badblocks -b 2048 -c 1            0:20.41s: badblocks -b 512 -c 4
0:20.57s: badblocks -b 1024 -c 2            0:20.48s: badblocks -b 2048 -c 1
0:20.67s: badblocks -b 8192 -c 1024         0:20.70s: badblocks -b 32768 -c 128
0:20.69s: badblocks -b 2048 -c 2048         0:20.73s: badblocks -b 16384 -c 128
0:20.71s: badblocks -b 32768 -c 128         0:20.73s: badblocks -b 512 -c 8192
0:20.75s: badblocks -b 512 -c 32768         0:20.73s: badblocks -b 65536 -c 128
0:20.75s: badblocks -b 65536 -c 128         0:20.74s: badblocks -b 1024 -c 8192
0:20.77s: badblocks -b 16384 -c 512         0:20.74s: badblocks -b 16384 -c 512
0:20.77s: badblocks -b 8192 -c 512          0:20.76s: badblocks -b 2048 -c 2048
0:20.78s: badblocks -b 1024 -c 8192         0:20.76s: badblocks -b 32768 -c 256
0:20.78s: badblocks -b 16384 -c 1024        0:20.76s: badblocks -b 4096 -c 2048
0:20.78s: badblocks -b 32768 -c 256         0:20.76s: badblocks -b 8192 -c 1024
0:20.78s: badblocks -b 32768 -c 64          0:20.77s: badblocks -b 2048 -c 4096
0:20.78s: badblocks -b 4096 -c 1024         0:20.78s: badblocks -b 1024 -c 16384
0:20.78s: badblocks -b 512 -c 8192          0:20.78s: badblocks -b 8192 -c 512
0:20.78s: badblocks -b 65536 -c 256         0:20.79s: badblocks -b 16384 -c 1024
0:20.79s: badblocks -b 512 -c 16384         0:20.79s: badblocks -b 512 -c 16384
0:20.80s: badblocks -b 4096 -c 2048         0:20.80s: badblocks -b 2048 -c 8192
0:20.82s: badblocks -b 1024 -c 2048         0:20.80s: badblocks -b 4096 -c 1024
0:20.82s: badblocks -b 2048 -c 512          0:20.80s: badblocks -b 65536 -c 32
0:20.82s: badblocks -b 4096 -c 512          0:20.81s: badblocks -b 1024 -c 2048
0:20.83s: badblocks -b 16384 -c 256         0:20.81s: badblocks -b 32768 -c 512
0:20.83s: badblocks -b 16384 -c 64          0:20.82s: badblocks -b 1024 -c 4096
0:20.83s: badblocks -b 65536 -c 32          0:20.82s: badblocks -b 65536 -c 64
0:20.84s: badblocks -b 4096 -c 4096         0:20.83s: badblocks -b 4096 -c 4096
0:20.85s: badblocks -b 32768 -c 512         0:20.83s: badblocks -b 8192 -c 2048
0:20.85s: badblocks -b 65536 -c 64          0:20.84s: badblocks -b 32768 -c 64
0:20.86s: badblocks -b 512 -c 4096          0:20.84s: badblocks -b 8192 -c 256
0:20.86s: badblocks -b 8192 -c 2048         0:20.85s: badblocks -b 16384 -c 256
0:20.87s: badblocks -b 4096 -c 256          0:20.85s: badblocks -b 4096 -c 512
0:20.88s: badblocks -b 2048 -c 4096         0:20.85s: badblocks -b 512 -c 2048
0:20.89s: badblocks -b 2048 -c 1024         0:20.85s: badblocks -b 512 -c 4096
0:20.90s: badblocks -b 1024 -c 16384        0:20.89s: badblocks -b 65536 -c 16
0:20.90s: badblocks -b 2048 -c 16384        0:20.90s: badblocks -b 512 -c 32768
0:20.90s: badblocks -b 2048 -c 8192         0:20.91s: badblocks -b 2048 -c 1024
0:20.91s: badblocks -b 16384 -c 2048        0:20.95s: badblocks -b 1024 -c 1024
0:20.92s: badblocks -b 16384 -c 128         0:20.95s: badblocks -b 2048 -c 16384
0:20.93s: badblocks -b 65536 -c 16          0:20.97s: badblocks -b 65536 -c 256
0:20.95s: badblocks -b 4096 -c 8192         0:20.98s: badblocks -b 4096 -c 256
0:20.96s: badblocks -b 512 -c 1024          0:21.03s: badblocks -b 2048 -c 512
0:20.98s: badblocks -b 1024 -c 4096         0:21.04s: badblocks -b 32768 -c 32
0:20.99s: badblocks -b 1024 -c 1024         0:21.05s: badblocks -b 16384 -c 2048
0:20.99s: badblocks -b 8192 -c 128          0:21.05s: badblocks -b 8192 -c 4096
0:21.00s: badblocks -b 512 -c 2048          0:21.08s: badblocks -b 16384 -c 32
0:21.03s: badblocks -b 32768 -c 32          0:21.09s: badblocks -b 32768 -c 1024
0:21.04s: badblocks -b 8192 -c 4096         0:21.12s: badblocks -b 4096 -c 8192
0:21.05s: badblocks -b 65536 -c 512         0:21.12s: badblocks -b 512 -c 1024
0:21.06s: badblocks -b 32768 -c 1024        0:21.13s: badblocks -b 32768 -c 16
0:21.09s: badblocks -b 4096 -c 128          0:21.14s: badblocks -b 8192 -c 128
0:21.09s: badblocks -b 65536 -c 8           0:21.15s: badblocks -b 65536 -c 512
0:21.12s: badblocks -b 8192 -c 64           0:21.18s: badblocks -b 4096 -c 128
0:21.16s: badblocks -b 1024 -c 512          0:21.18s: badblocks -b 8192 -c 64
0:21.19s: badblocks -b 8192 -c 256          0:21.22s: badblocks -b 16384 -c 64
0:21.27s: badblocks -b 16384 -c 32          0:21.24s: badblocks -b 1024 -c 512
0:21.27s: badblocks -b 32768 -c 16          0:21.28s: badblocks -b 65536 -c 8
0:21.39s: badblocks -b 512 -c 65536         0:21.29s: badblocks -b 2048 -c 256
0:21.43s: badblocks -b 2048 -c 256          0:21.31s: badblocks -b 1024 -c 2
0:21.47s: badblocks -b 1024 -c 32768        0:21.46s: badblocks -b 1024 -c 32768
0:21.53s: badblocks -b 1024 -c 1            0:21.58s: badblocks -b 512 -c 65536
0:21.56s: badblocks -b 512 -c 512           0:21.64s: badblocks -b 512 -c 512
0:21.59s: badblocks -b 8192 -c 32           0:21.67s: badblocks -b 4096 -c 16384
0:21.64s: badblocks -b 16384 -c 4096        0:21.69s: badblocks -b 65536 -c 1024
0:21.66s: badblocks -b 8192 -c 8192         0:21.72s: badblocks -b 16384 -c 4096
0:21.67s: badblocks -b 65536 -c 1024        0:21.72s: badblocks -b 2048 -c 32768
0:21.69s: badblocks -b 32768 -c 2048        0:21.72s: badblocks -b 8192 -c 8192
0:21.77s: badblocks -b 2048 -c 32768        0:21.73s: badblocks -b 32768 -c 2048
0:21.78s: badblocks -b 4096 -c 16384        0:21.79s: badblocks -b 512 -c 131072
0:21.78s: badblocks -b 512 -c 131072        0:21.83s: badblocks -b 1024 -c 65536
0:21.88s: badblocks -b 1024 -c 65536        0:21.88s: badblocks -b 16384 -c 16
0:22.03s: badblocks -b 16384 -c 16          0:21.98s: badblocks -b 2048 -c 128
0:22.04s: badblocks -b 1024 -c 256          0:22.02s: badblocks -b 1024 -c 256
0:22.21s: badblocks -b 65536 -c 4           0:22.08s: badblocks -b 8192 -c 32
0:22.24s: badblocks -b 2048 -c 128          0:22.20s: badblocks -b 32768 -c 8
0:22.40s: badblocks -b 4096 -c 32768        0:22.21s: badblocks -b 4096 -c 64  
0:22.41s: badblocks -b 65536 -c 2048        0:22.30s: badblocks -b 4096 -c 32768
0:22.41s: badblocks -b 8192 -c 16384        0:22.41s: badblocks -b 16384 -c 8192
0:22.43s: badblocks -b 16384 -c 8192        0:22.42s: badblocks -b 2048 -c 65536
0:22.46s: badblocks -b 32768 -c 4096        0:22.45s: badblocks -b 32768 -c 4096
0:22.49s: badblocks -b 1024 -c 131072       0:22.46s: badblocks -b 65536 -c 2048
0:22.53s: badblocks -b 2048 -c 65536        0:22.46s: badblocks -b 8192 -c 16384
0:22.53s: badblocks -b 8192 -c 16           0:22.55s: badblocks -b 1024 -c 131072
0:22.72s: badblocks -b 32768 -c 8           0:22.63s: badblocks -b 65536 -c 4
0:22.75s: badblocks -b 4096 -c 64           0:22.85s: badblocks -b 4096 -c 32
0:22.86s: badblocks -b 512 -c 256           0:22.95s: badblocks -b 512 -c 256
0:23.22s: badblocks -b 65536 -c 2           0:23.02s: badblocks -b 32768 -c 4
0:23.26s: badblocks -b 4096 -c 32           0:23.04s: badblocks -b 1024 -c 128
0:23.27s: badblocks -b 1024 -c 128          0:23.16s: badblocks -b 2048 -c 64
0:23.32s: badblocks -b 16384 -c 8           0:23.31s: badblocks -b 65536 -c 2
0:23.32s: badblocks -b 32768 -c 4           0:23.41s: badblocks -b 8192 -c 16
0:23.48s: badblocks -b 2048 -c 64           0:23.54s: badblocks -b 16384 -c 8
0:23.75s: badblocks -b 2048 -c 131072       0:23.75s: badblocks -b 16384 -c 16384
0:23.78s: badblocks -b 16384 -c 16384       0:23.75s: badblocks -b 8192 -c 32768
0:23.79s: badblocks -b 32768 -c 8192        0:23.76s: badblocks -b 4096 -c 65536
0:23.79s: badblocks -b 4096 -c 65536        0:23.81s: badblocks -b 65536 -c 4096
0:23.80s: badblocks -b 8192 -c 32768        0:23.85s: badblocks -b 32768 -c 8192
0:23.84s: badblocks -b 65536 -c 4096        0:23.86s: badblocks -b 2048 -c 131072
0:25.08s: badblocks -b 65536 -c 1           0:25.13s: badblocks -b 2048 -c 32
0:25.16s: badblocks -b 4096 -c 16           0:25.23s: badblocks -b 8192 -c 8
0:25.25s: badblocks -b 32768 -c 2           0:25.31s: badblocks -b 32768 -c 2
0:25.32s: badblocks -b 8192 -c 8            0:25.45s: badblocks -b 512 -c 128
0:25.41s: badblocks -b 512 -c 128           0:25.51s: badblocks -b 4096 -c 16
0:25.52s: badblocks -b 16384 -c 4           0:25.55s: badblocks -b 65536 -c 1
0:25.72s: badblocks -b 2048 -c 32           0:25.56s: badblocks -b 1024 -c 64
0:26.12s: badblocks -b 1024 -c 64           0:26.15s: badblocks -b 16384 -c 4
0:26.55s: badblocks -b 4096 -c 131072       0:26.48s: badblocks -b 8192 -c 65536
0:26.56s: badblocks -b 16384 -c 32768       0:26.53s: badblocks -b 4096 -c 131072
0:26.56s: badblocks -b 32768 -c 16384       0:26.56s: badblocks -b 16384 -c 32768
0:26.56s: badblocks -b 65536 -c 8192        0:26.59s: badblocks -b 32768 -c 16384
0:26.57s: badblocks -b 8192 -c 65536        0:26.69s: badblocks -b 65536 -c 8192
0:28.07s: badblocks -b 512 -c 1             0:26.86s: badblocks -b 512 -c 1
0:30.16s: badblocks -b 8192 -c 4            0:29.74s: badblocks -b 8192 -c 4
0:30.18s: badblocks -b 32768 -c 1           0:29.79s: badblocks -b 4096 -c 8
0:30.31s: badblocks -b 4096 -c 8            0:29.93s: badblocks -b 1024 -c 32
0:30.35s: badblocks -b 512 -c 64            0:29.98s: badblocks -b 2048 -c 16
0:30.38s: badblocks -b 2048 -c 16           0:30.05s: badblocks -b 512 -c 64
0:30.44s: badblocks -b 1024 -c 32           0:30.35s: badblocks -b 32768 -c 1
0:30.84s: badblocks -b 16384 -c 2           0:30.92s: badblocks -b 16384 -c 2
0:32.06s: badblocks -b 16384 -c 65536       0:32.10s: badblocks -b 16384 -c 65536
0:32.09s: badblocks -b 8192 -c 131072       0:32.10s: badblocks -b 8192 -c 131072
0:32.15s: badblocks -b 65536 -c 16384       0:32.12s: badblocks -b 32768 -c 32768
0:32.19s: badblocks -b 32768 -c 32768       0:32.17s: badblocks -b 65536 -c 16384
0:39.88s: badblocks -b 1024 -c 16           0:39.48s: badblocks -b 16384 -c 1
0:40.33s: badblocks -b 4096 -c 4            0:39.88s: badblocks -b 2048 -c 8
0:40.40s: badblocks -b 16384 -c 1           0:39.99s: badblocks -b 512 -c 32
0:40.48s: badblocks -b 512 -c 32            0:40.00s: badblocks -b 4096 -c 4
0:40.56s: badblocks -b 8192 -c 2            0:40.12s: badblocks -b 1024 -c 16
0:41.01s: badblocks -b 2048 -c 8            0:40.28s: badblocks -b 8192 -c 2
0:58.43s: badblocks -b 8192 -c 1            0:58.04s: badblocks -b 4096 -c 2
0:58.75s: badblocks -b 512 -c 16            0:58.08s: badblocks -b 1024 -c 8
0:58.98s: badblocks -b 1024 -c 8            0:58.08s: badblocks -b 2048 -c 4
0:59.31s: badblocks -b 4096 -c 2            0:58.46s: badblocks -b 8192 -c 1
1:00.85s: badblocks -b 2048 -c 4            0:59.13s: badblocks -b 512 -c 16
1:38.71s: badblocks -b 2048 -c 2            1:38.28s: badblocks -b 2048 -c 2
1:38.87s: badblocks -b 1024 -c 4            1:38.43s: badblocks -b 512 -c 8
1:39.77s: badblocks -b 4096 -c 1            1:39.55s: badblocks -b 1024 -c 4
1:43.59s: badblocks -b 512 -c 8             1:40.16s: badblocks -b 4096 -c 1