meta data for this page
Thin LVM and badblock
Kernel reports problems with
[5528686.859719] blk_update_request: I/O error, dev sda, sector 85981696 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Filter out sector numbers from journal:
journalctl | grep 'dev sda, sector' | cut -d ' ' -f 12 | sort | uniq 82053408 85981440 85981536 85981544 85981552 85981560 85981568 85981696 85981704 85981712 85981720 85981728 85981736 85981744 85981752 85984832 85984840 85984848 85984856 85984864 85984872 85984880 85984888 85984896 85984904 85984928
smartctl -a /dev/sda | grep UNC 40 51 08 b8 06 20 e5 Error: UNC 8 sectors at LBA = 0x052006b8 = 85984952 40 51 08 b0 06 20 e5 Error: UNC 8 sectors at LBA = 0x052006b0 = 85984944 40 51 08 a8 06 20 e5 Error: UNC 8 sectors at LBA = 0x052006a8 = 85984936 40 51 08 a0 06 20 e5 Error: UNC 8 sectors at LBA = 0x052006a0 = 85984928 40 51 80 80 06 20 e5 Error: UNC 128 sectors at LBA = 0x05200680 = 85984896
Disk /dev/sda: 111,79 GiB, 120034123776 bytes, 234441648 sectors Disk model: KINGSTON SA400S3 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 711FEF16-FBD0-45BB-BA56-52B93B733D8E Device Start End Sectors Size Type /dev/sda1 34 2047 2014 1007K BIOS boot /dev/sda2 2048 1050623 1048576 512M EFI System /dev/sda3 1050624 234441614 233390991 111,3G Linux LVM
Calculate LVM position for bad sector 85984896
by substract Start section
85984896 - 1050624 = 84934272
Get PE size
pvdisplay /dev/sda3
, it is 4M, so 4096.
LBA block (secotr) size is 512, so each PE takes 8192 sectors.
The same information you can found in:
# cat /etc/lvm/backup/pve | grep extent_size extent_size = 8192 # 4 Megabytes # cat /etc/lvm/backup/pve | grep pe_start pe_start = 2048
echo 84934272 / 8192 | bc 10367
Region is used by thin provisioning:
pvdisplay -v -m
Physical extent 8128 to 24425: Logical volume /dev/pve/data_tdata Logical extents 0 to 16297
!!! DONT KNOW HOW TO REMAP LVM SECTORS
lvcreate -l1 pve -n bb85984896 /dev/sda3:10367
Zeroing sectors
Confirm that sector read fails:
dd if=/dev/sda of=/tmp/dump.raw bs=512 count=1 skip=85981696 hdparm --read-sector 85981696 /dev/sda hdparm --write-sector 85981696 --yes-i-know-what-i-am-doing /dev/sda
40 51 08 b8 06 20 e5 Error: UNC 8 sectors at LBA = 0x052006b8 = 85984952..85984959 40 51 08 b0 06 20 e5 Error: UNC 8 sectors at LBA = 0x052006b0 = 85984944..85984951 40 51 08 a8 06 20 e5 Error: UNC 8 sectors at LBA = 0x052006a8 = 85984936..85984943 40 51 08 a0 06 20 e5 Error: UNC 8 sectors at LBA = 0x052006a0 = 85984928..85984935 40 51 80 80 06 20 e5 Error: UNC 128 sectors at LBA = 0x05200680 = 85984896 to 85985023
for i in {85984896..85985023}; do echo $i; hdparm --write-sector $i --yes-i-know-what-i-am-doing /dev/sda; don