Điểm:0

Synology - Khối lượng BTRFS bị lỗi và đã khôi phục. Tại sao nó bị sập?

lá cờ gb

Đây là khám nghiệm tử thi, tôi sẽ cung cấp thông tin cho những người có thể gặp sự cố này trong tương lai.

Điều này xảy ra trên Synology RS2818RP+ chạy Synology DSM 6.2-25556. Hệ thống chứa CPU Xeon và bộ nhớ ECC. Nó có 8 x HUH721010ALE604 (HGST WD Ultrastar DC HC510 10TB 7200 RPM SATA) bao gồm RAID6 md mảng. Hệ thống tập tin là BTRFS.

(LƯU Ý đây KHÔNG phải là RAID BTRFS mà là RAID "đơn giản" với BTRFS ở trên cùng để có các lợi ích như tổng kiểm tra/chụp nhanh, v.v.)

Đêm qua, khi tôi nhận được email từ một NAS nói rằng

tập 1 trên đã bị lỗi, có thể nhiều tệp khác có thể bị hỏng trong trường hợp này. Vui lòng vào Trình quản lý lưu trữ > Âm lượng để biết thêm thông tin.

Điểm:1
lá cờ gb

Tôi đã truy cập WebGUI. Không có lỗi nào trong hệ thống ngoài âm lượng đang ngoại tuyến.

  • Trạng thái SMART của mỗi đĩa đã được kiểm tra và có vẻ ổn
  • "Trình quản lý lưu trữ" hiển thị "Khỏe mạnh"
  • "Kho lưu trữ" hiển thị "Khỏe mạnh"

Chỉ có "âm lượng" cho thấy bị hỏng.

Tôi đã SSH vào và kiểm tra. mdadm --D /dev/md2 đó là nơi mảng của tôi đã được. Nó đã được hiển thị Trạng thái: Sạch sẽ, xuống cấp

Tôi đã kiểm tra dmesg và thấy điều này:

[5638907.327288] ------------[ cắt ở đây ]----------
[5638907.332247] CẢNH BÁO: CPU: 3 PID: 10234 tại fs/btrfs/extent-tree.c:4207 btrfs_write_dirty_block_groups+0x365/0x390 [btrfs]()
[5638907.343601] BTRFS: Giao dịch bị hủy bỏ (lỗi -2)
[5638907.343603] Các mô-đun được liên kết trong: nfsd exportfs rpcec_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(O) target_core_iblock(O) target_core_mod(O) syno_extent_pool(PO) rodsp_ep(O) hid_generic usbhid hide usblp usb_storage lớp phủ denverton_synobios(PO) exfat(O) btrfs synoacl_vfs(PO) hfsplus md4 hmac bnx2x(O) mdio mlx5_core(O) mlx4_en(O) mlx4_core(O) mlx_compat(O) qede(O) qed(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 acpi_cpufreq bộ xử lý 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 xhci_hcd uhci_hcd ehci_hcd ehci_pci ehci_hcd usbcore usbbed_common [denvert] unsy-laston usbcore usbed_common
[5638907.448308] CPU: 3 PID: 10234 Giao tiếp: btrfs-transacti Bị nhiễm độc: P O 4.4.59+ #25556
[5638907.457047] Tên phần cứng: Synology Inc. RS2818RP+/Type2 - Tên sản phẩm bo mạch1, BIOS M.212 2019/11/01
[5638907.466571] 0000000000000000 ffff880068a0fc50 ffffffff812bf70d ffff880068a0fc98
[5638907.474851] fffffffffa0939b8d ffff880068a0fc88 ffffffff8104b7cd ffff8801704f9e00
[5638907.483132] ffff88003b616338 0000000000000001 00000000ffffffffe ffff8801704f9f50
[5638907.491422] Theo dõi cuộc gọi:
[5638907.494179] [<ffffffff812bf70d>] dump_stack+0x4d/0x70
[5638907.499623] [<ffffffff8104b7cd>] cảnh báo_slowpath_common+0x7d/0xc0
[5638907.505932] [<ffffffff8104b859>] cảnh báo_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>] giao dịch_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] ---[dấu vết kết thúc 27185b26c2db1370]---
[5638907.586280] BTRFS: lỗi (thiết bị md2) trong btrfs_write_dirty_block_groups:4207: errno=-2 Không có mục nào như vậy
[5638907.595721] Thông tin BTRFS (thiết bị md2): chỉ đọc bắt buộc
[5638907.600997] Cảnh báo BTRFS (thiết bị md2): Bỏ qua cam kết của giao dịch bị hủy bỏ.
[5638907.608618] BTRFS: lỗi (thiết bị md2) trong cleanup_transaction:2019: errno=-2 Không có mục nào như vậy
[5638907.617108] Thông tin BTRFS (thiết bị md2): delay_refs KHÔNG có mục nhập

Vì vậy, dữ liệu đã ở đó và mảng ở dạng chỉ đọc. Nghiên cứu của tôi đã đưa tôi đến SuSe KB này: https://www.suse.com/support/kb/doc/?id=000018769

Tôi tham khảo cùng một lỗi như tôi đã nhận BTRFS: Giao dịch bị hủy bỏ (lỗi -2).

Bài báo nêu rõ

Điều tốt là, đó là CẢNH BÁO, không phải lỗi nghiêm trọng. CẢNH BÁO như thế này, ví dụ: liên quan đến hạn ngạch, thường là những thứ chỉ có trong thời gian chạy được BTRFS khắc phục sau khi CẢNH BÁO được đưa ra. Không phải là một vấn đề xấu.

Đó là phần nào yên tâm.

tôi chạy một

syno_poweroff_task -d

Để tắt tất cả các dịch vụ Synology có thể đang truy cập ổ đĩa. Thao tác này sẽ dừng WebUI, v.v., nhưng vẫn bật SSH.

sau đó tôi đã làm một

số lượng / tập1 

Để dừng I/O với âm lượng (mặc dù nó đã ở chế độ RO theo đầu ra của dmesg ở trên. sau đó tôi đã làm một btrfsck trên md2 thiết bị. Đầu ra bên dưới

# btrfsck /dev/md2
Đã bật tính năng không vỏ Syno.
Kiểm tra hệ thống tập tin trên /dev/md2
UUID: 7a29febb-e9b5-4f77-afd7-4e1e10971340
kiểm tra phạm vi
kiểm tra cây không gian trống
kiểm tra gốc fs
kiểm tra csums
kiểm tra ref gốc
đã tìm thấy 30769182859264 byte được sử dụng err là 0
tổng số byte csum: 44052
tổng số byte cây: 50331648
tổng số byte cây fs: 24477696
tổng số byte cây phạm vi: 23691264
byte lãng phí không gian btree: 1190925
khối dữ liệu tệp được phân bổ: 30769149861888
đã tham khảo 30769131089920

Và trong dmesg:

[5644451.646580] Thông tin BTRFS (thiết bị md127): sử dụng cây không gian trống
[5644451.652561] Thông tin BTRFS (thiết bị md127): có phạm vi hẹp
[5644459.827213] Thông tin BTRFS (thiết bị md127): kiểm tra cây UUID

Sau khi hoàn thành, tôi chỉ cần khởi động lại hệ thống và mọi thứ diễn ra như bình thường.

Tôi hiện đang chạy kiểm tra tính nhất quán của âm lượng" trên đó mà tôi tin rằng đó là mdadm "đồng bộ lại" đã chạy được gần 24 giờ mà không gặp vấn đề gì.

Tôi đoán mục tiêu của việc đăng bài này là để tìm hiểu xem có ai có hiểu biết hơn một chút về btrfs đã trải qua điều này không và liệu họ có bất kỳ ý tưởng nào về nguyên nhân gây ra điều này không?

spaceman-spiff avatar
lá cờ ie
Có vẻ như điều này đã được thực hiện trên DSM6 vì DSM7 đã loại bỏ lệnh syno_poweroff_task. Bất kỳ ý tưởng làm thế nào để thực hiện điều này trên DSM 7?
rgb255_255_255 avatar
lá cờ gb
@spaceman-spiff - hãy xem cái này https://community.synology.com/enu/forum/1/post/146217

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.