11
Software / Re:BTRFS replace - zapisuje něco na původní disk?
« Poslední příspěvek od stemar kdy Dnes v 17:56:53 »Jen update - as se někam blížím, jen tedy netuším kam. Zkusil jsem, ze zoufalství začít úplně odznovu, s novou bitovou kopií jednoho z těch původních disků (uloženou jako sda.img). Doběhl dd, pustil jsem na sda.img btrfs inspect-internal dump-super a dostal jsem:
Jak já to čtu, tak tam našel 2 kopie superblocku (na třetí není místo, je to 128G disk), celkem smysluplně oba naplněné, nesouhasí magic - očekávané a csum - nevím ale to může být tím přepsaným magic. Celkem tedy docela nadějné.
Neudělám nic jiného než že přepíšu to magic v obou superblocích:
a dám znovu btrfs inspect-internal dump-super ať vidím, co jsem udělal. A co nevidím a svým očim nevěřím:
Tedy magic v prvním superbloku už sedí, zato se z něj ztratila podstatná část dat, od label dále. Druhý superblock zmizel úplně -
Co to, sakra, je? dd dostal 8 znaků, tvrdí že zapsal 8 znaků, dokonce tam těch 8 znaků vidím na správném místě... Kam, sakra, zmizel ten zbytek superblocku a proč?
Kód: [Vybrat]
btrfs inspect-internal dump-super --force --all sda.img
superblock: bytenr=65536, device=sda.img
---------------------------------------------------------
csum_type 0 (crc32c)
csum_size 4
csum 0x1d92253c [DON'T MATCH]
bytenr 65536
flags 0x1
( WRITTEN )
magic ........ [DON'T MATCH]
fsid 2db8f54a-3a36-4e3c-8e1f-6ef781966d66
metadata_uuid 00000000-0000-0000-0000-000000000000
label srv
generation 1598019
root 6673317888
sys_array_size 258
chunk_root_generation 1598019
root_level 1
chunk_root 67139272704
chunk_root_level 0
log_root 0
log_root_transid (deprecated) 0
log_root_level 0
total_bytes 246096592896
bytes_used 53234524160
sectorsize 4096
nodesize 16384
leafsize (deprecated) 16384
stripesize 4096
root_dir 6
num_devices 2
compat_flags 0x0
compat_ro_flags 0x0
incompat_flags 0x161
( MIXED_BACKREF |
BIG_METADATA |
EXTENDED_IREF |
SKINNY_METADATA )
cache_generation 1598019
uuid_tree_generation 1598019
dev_item.uuid f3793453-4d55-46eb-9388-e9e716178818
dev_item.fsid 2db8f54a-3a36-4e3c-8e1f-6ef781966d66 [match]
dev_item.type 0
dev_item.total_bytes 123048296448
dev_item.bytes_used 60196651008
dev_item.io_align 4096
dev_item.io_width 4096
dev_item.sector_size 4096
dev_item.devid 2
dev_item.dev_group 0
dev_item.seek_speed 0
dev_item.bandwidth 0
dev_item.generation 0
superblock: bytenr=67108864, device=sda.img
---------------------------------------------------------
csum_type 0 (crc32c)
csum_size 4
csum 0xbdf30df2 [DON'T MATCH]
bytenr 67108864
flags 0x1
( WRITTEN )
magic ........ [DON'T MATCH]
fsid 2db8f54a-3a36-4e3c-8e1f-6ef781966d66
metadata_uuid 00000000-0000-0000-0000-000000000000
label srv
generation 1598019
root 6673317888
sys_array_size 258
chunk_root_generation 1598019
root_level 1
chunk_root 67139272704
chunk_root_level 0
log_root 0
log_root_transid (deprecated) 0
log_root_level 0
total_bytes 246096592896
bytes_used 53234524160
sectorsize 4096
nodesize 16384
leafsize (deprecated) 16384
stripesize 4096
root_dir 6
num_devices 2
compat_flags 0x0
compat_ro_flags 0x0
incompat_flags 0x161
( MIXED_BACKREF |
BIG_METADATA |
EXTENDED_IREF |
SKINNY_METADATA )
cache_generation 1598019
uuid_tree_generation 1598019
dev_item.uuid f3793453-4d55-46eb-9388-e9e716178818
dev_item.fsid 2db8f54a-3a36-4e3c-8e1f-6ef781966d66 [match]
dev_item.type 0
dev_item.total_bytes 123048296448
dev_item.bytes_used 60196651008
dev_item.io_align 4096
dev_item.io_width 4096
dev_item.sector_size 4096
dev_item.devid 2
dev_item.dev_group 0
dev_item.seek_speed 0
dev_item.bandwidth 0
dev_item.generation 0
Jak já to čtu, tak tam našel 2 kopie superblocku (na třetí není místo, je to 128G disk), celkem smysluplně oba naplněné, nesouhasí magic - očekávané a csum - nevím ale to může být tím přepsaným magic. Celkem tedy docela nadějné.
Neudělám nic jiného než že přepíšu to magic v obou superblocích:
Kód: [Vybrat]
echo "_BHRfS_M" | dd bs=1 count=8 of=sda.img seek=$((64*1024+64))
8+0 záznamů přečteno
8+0 záznamů zapsáno
8 bajtů zkopírováno, 0,000129285 s, 61,9 kB/s
echo "_BHRfS_M" | dd bs=1 count=8 of=sda.img seek=$((64*1024*1024+64))
8+0 záznamů přečteno
8+0 záznamů zapsáno
8 bajtů zkopírováno, 0,000323182 s, 24,8 kB/s
a dám znovu btrfs inspect-internal dump-super ať vidím, co jsem udělal. A co nevidím a svým očim nevěřím:
Kód: [Vybrat]
btrfs inspect-internal dump-super --force --all sda.img
superblock: bytenr=65536, device=sda.img
---------------------------------------------------------
csum_type 0 (crc32c)
csum_size 4
csum 0x1d92253c [DON'T MATCH]
bytenr 65536
flags 0x1
( WRITTEN )
magic _BHRfS_M [match]
fsid 2db8f54a-3a36-4e3c-8e1f-6ef781966d66
metadata_uuid 00000000-0000-0000-0000-000000000000
label
generation 0
root 0
sys_array_size 0
chunk_root_generation 0
root_level 0
chunk_root 0
chunk_root_level 0
log_root 0
log_root_transid (deprecated) 0
log_root_level 0
total_bytes 0
bytes_used 0
sectorsize 0
nodesize 0
leafsize (deprecated) 0
stripesize 0
root_dir 0
num_devices 0
compat_flags 0x0
compat_ro_flags 0x0
incompat_flags 0x0
cache_generation 0
uuid_tree_generation 0
dev_item.uuid 00000000-0000-0000-0000-000000000000
dev_item.fsid 00000000-0000-0000-0000-000000000000 [DON'T MATCH]
dev_item.type 0
dev_item.total_bytes 0
dev_item.bytes_used 0
dev_item.io_align 0
dev_item.io_width 0
dev_item.sector_size 0
dev_item.devid 0
dev_item.dev_group 0
dev_item.seek_speed 0
dev_item.bandwidth 0
dev_item.generation 0
ERROR: failed to read the superblock on sda.img at 67108864 read 72/4096 bytes
ERROR: error = 'Success', errno = 0
Tedy magic v prvním superbloku už sedí, zato se z něj ztratila podstatná část dat, od label dále. Druhý superblock zmizel úplně -
Citace
failed to read the superblock on sda.img at 67108864
Co to, sakra, je? dd dostal 8 znaků, tvrdí že zapsal 8 znaků, dokonce tam těch 8 znaků vidím na správném místě... Kam, sakra, zmizel ten zbytek superblocku a proč?