Puncte:0

Synology - Volumul BTRFS s-a prăbușit și a fost recuperat. De ce s-a prăbușit?

drapel gb

Aceasta este o autopsie, pun informațiile acolo pentru persoanele care ar putea avea această problemă în viitor.

Acest lucru s-a întâmplat pe un Synology RS2818RP+ care rulează Synology DSM 6.2-25556. Sistemul conține un procesor Xeon și o memorie ECC. Are 8 x HUH721010ALE604 (HGST WD Ultrastar DC HC510 10TB 7200 RPM SATA) cuprinzând un RAID6 md matrice. Sistemul de fișiere este BTRFS.

(REȚINEȚI că acesta NU este un RAID BTRFS, ci mai degrabă un RAID „unic” cu BTRFS deasupra pentru beneficii precum verificarea însumării / instantanee etc.)

Aseară, când am primit un e-mail de la un NAS care spunea

volumul 1 s-a prăbușit, este posibil ca mai multe fișiere să fie corupte în această circumstanță. Accesați Managerul de stocare > Volum pentru mai multe informații.

Puncte:1
drapel gb

Am vizitat WebGUI. Nu au existat erori în sistem, în afară de faptul că volumul este offline.

  • Starea SMART a fiecărui disc a fost verificată și părea OK
  • „Manager de stocare” a afișat „Sănătos”
  • „Bacină de stocare” a afișat „Sănătos”

Doar „volumul” a fost afișat blocat.

Am intrat în SSH și am verificat. mdadm --D /dev/md2 care este locul unde era matricea mea. Se arăta Stare: Curat, Degradat

Am verificat dmesg și am găsit asta:

[5638907.327288] ------------[ tăiați aici ]------------
[5638907.332247] AVERTISMENT: CPU: 3 PID: 10234 la fs/btrfs/extent-tree.c:4207 btrfs_write_dirty_block_groups+0x365/0x390 [btrfs]()
[5638907.343601] BTRFS: Tranzacție anulată (eroare -2)
[5638907.343603] Module legate în: nfsd exportfs rpcsec_gss_krb5 cifs udf isofs loop tcm_loop(O) iscsi_target_mod(O) target_core_ep(O) target_core_multi_file(O) target_core_file_multi_file(O) target_core_core_file(O) target_core_core_file(O) target_core_core_file_lock(O_PO) target_core_file_pool(O_PO) hid_generic usbhid hid usblp usb_storage denverton_synobios(PO) overlay exfat(O) btrfs synoacl_vfs(PO) hfsplus md4 hmac bnx2x(O) mdio mlx5_core(O) mlx4_en(O) mlx4_en(Ocompat) mlx4) qede_Ocompat(O) ) atlantic(O) tn40xx(O) i40e(O) ixgbe(O) be2net(O) igb(O) i2c_algo_bit e1000e(O) vxlan ip6_udp_tunnel udp_tunnel fuse vfat fat crc32c_intel aesni_intel glue_helper lrw gf128mul ablk_helper arc4 cryptd ecryptfs sha256_generic ecb aes_x86_64 authenc des_generic ansi_cprng cts md5 cbc cpufreq_powersave cpufreq_performance procesor acpi_cpufreq cpufreq_stats
[5638907.425092] dm_snapshot dm_bufio crc_itu_t crc_ccitt quota_v2 quota_tree psnap p8022 llc sit tunnel4 ip_tunnel ipv6 zram sg etxhci_hcd xhci_pci xhcitt xhci_hcd ecci_pci xhci_hcd ecci_pci xhci_hcd ecci_pci_hcd
[5638907.448308] CPU: 3 PID: 10234 Comm: btrfs-transacti Viciat: P O 4.4.59+ #25556
[5638907.457047] Nume hardware: Synology Inc. RS2818RP+/Type2 - Nume produs placă1, BIOS M.212 2019/11/01
[5638907.466571] 0000000000000000 ffff880068a0fc50 ffffffff812bf70d ffff880068a0fc98
[5638907.474851] ffffffffa0939b8d ffff880068a0fc88 ffffffff8104b7cd ffff8801704f9e00
[5638907.483132] ffff88003b616338 0000000000000001 00000000fffffffe ffff8801704f9f50
[5638907.491422] Urmărire apel:
[5638907.494179] [<ffffffff812bf70d>] dump_stack+0x4d/0x70
[5638907.499623] [<ffffffff8104b7cd>] warn_slowpath_common+0x7d/0xc0
[5638907.505932] [<ffffffff8104b859>] warn_slowpath_fmt+0x49/0x50
[5638907.511996] [<ffffffffa0892d45>] btrfs_write_dirty_block_groups+0x365/0x390 [btrfs]
[5638907.520056] [<ffffffffa0932df8>] commit_cowonly_roots+0x230/0x2d1 [btrfs]
[5638907.527250] [<ffffffffa08a90e8>] btrfs_commit_transaction+0x528/0xcb0 [btrfs]
[5638907.534793] [<ffffffffa08a9905>] ? start_transaction+0x95/0x3d0 [btrfs]
[5638907.541810] [<ffffffffa08a387c>] transaction_kthread+0x1ec/0x220 [btrfs]
[5638907.548915] [<ffffffffa08a3690>] ? btrfs_cleanup_transaction+0x510/0x510 [btrfs]
[5638907.556701] [<ffffffff810672a6>] kthread+0xc6/0xe0
[5638907.561883] [<ffffffff810671e0>] ? kthread_create_on_node+0x180/0x180
[5638907.568717] [<ffffffff81567abf>] ret_from_fork+0x3f/0x80
[5638907.574423] [<ffffffff810671e0>] ? kthread_create_on_node+0x180/0x180
[5638907.581346] ---[ final trace 27185b26c2db1370 ]---
[5638907.586280] BTRFS: eroare (dispozitiv md2) în btrfs_write_dirty_block_groups:4207: errno=-2 Nu există o astfel de intrare
[5638907.595721] Informații BTRFS (dispozitiv md2): doar citire forțată
[5638907.600997] Avertisment BTRFS (dispozitiv md2): Omiterea comiterii tranzacției anulate.
[5638907.608618] BTRFS: eroare (dispozitiv md2) în cleanup_transaction:2019: errno=-2 Nu există o astfel de intrare
[5638907.617108] Informații BTRFS (dispozitiv md2): delayed_refs nu are nicio intrare

Deci datele erau acolo, iar matricea era doar în citire. Cercetarea mea m-a dus la acest KB SuSe: https://www.suse.com/support/kb/doc/?id=000018769

Mă refer la aceeași eroare pe care am primit-o BTRFS: Tranzacție anulată (eroare -2).

Articolul precizează

Bine este că este un AVERTISMENT, nu o eroare fatală. AVERTIZARE ca acesta, de ex. În ceea ce privește cota, de obicei sunt doar lucruri de rulare care sunt reparate de BTRFS după emiterea ATENȚIONULUI. Nu este o problemă rea.

Ceea ce era oarecum liniştitor.

am alergat a

syno_poweroff_task -d

Pentru a opri toate serviciile Synology care ar putea accesa volumul. Acest lucru oprește WebUI etc., dar menține SSH activat.

Am facut apoi un

umount /volum1 

Pentru a opri I/O la volum (deși era deja în modul RO conform ieșirii lui dmesg de mai sus. Am facut apoi un btrfsck pe md2 dispozitiv. Ieșire mai jos

# btrfsck /dev/md2
Funcția Syno fără carcasă este activată.
Verificarea sistemului de fișiere pe /dev/md2
UUID: 7a29febb-e9b5-4f77-afd7-4e1e10971340
verificarea întinderilor
verificarea arborelui spațiu liber
verificarea rădăcinilor fs
verificarea sumelor
verificarea referințelor rădăcină
găsit 30769182859264 octeți utilizați err este 0
total csum octeți: 44052
total de octeți de arbore: 50331648
totalul de octeți arbore fs: 24477696
extinderea totală de octeți ai arborelui: 23691264
octeți de deșeuri spațiale btree: 1190925
blocuri de date fisiere alocate: 30769149861888
referit la 30769131089920

Și în dmesg:

[5644451.646580] Informații BTRFS (dispozitiv md127): folosind arborele de spațiu liber
[5644451.652561] Informații BTRFS (dispozitiv md127): are extensii slabe
[5644459.827213] Informații BTRFS (dispozitiv md127): verificarea arborelui UUID

Odată ce s-a terminat, pur și simplu am repornit sistemul și totul a apărut ca în mod normal.

În prezent, efectuez o verificare a coerenței volumului, care cred că este o „resincronizare” mdadm care rulează de aproape 24 de ore fără probleme.

Cred că scopul publicării acestei postări este să ne dăm seama dacă cineva cu mai multe cunoștințe despre btrfs a experimentat asta și dacă are idei despre ce a cauzat acest lucru?

spaceman-spiff avatar
drapel ie
Se pare că acest lucru a fost făcut pe DSM6, deoarece DSM7 a eliminat comanda syno_poweroff_task. Ai idee cum să faci asta pe DSM 7?
rgb255_255_255 avatar
drapel gb
@spaceman-spiff - aruncați o privire la acest https://community.synology.com/enu/forum/1/post/146217

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.