Điểm:0

20.04.2 locks up completely when writing to RAID 6 array

lá cờ ar

I can reproduce the problem consistently (and in minutes quickly) but I can't find any messages in the logs that are helpful. This problem occurred with a RocketRaid 3740C HBA and the proprietary nvidia driver but now occurs with an LSI/Broadcom 9305-16i HBA and nouveau drivers. I have flashed the Broadcom card to the latest firmware and bios. The Host Bus Adapter is connected to 9 drives (of 10, RAID 6 is degraded until the replacement disk arrives). The network card is a Mellanox ConnectX3 running a 10G ethernet on fibre. Before I exchange the RocketRaid card I remember seeing the proprietary driver write to the kernel log talk about getting 20 something when expecting 18 before the crash. I can't seem to find those messages anymore though (pointers on how to find them appreciated!).

Steps to Reproduce:

Write a lot of things to disk (write speeds are > 700MB/s). For example open 3 scp sessions from another computer and write 3 files in parallel at ~250MB/s each. In less than five minutes Ubuntu screen is frozen / locked up and ssh is non-responsive. Hard reset appears to be the only option. After which mdadm thinks the array is dirty (even though the Event count is the same on all drives). mdadm assemble --force works but then the array spends a day re-syncing.

I'm about at my wits end with this. I'm considering seeing what will happen with TrueNAS or Alma Linux. I'm somewhat wondering about the motherboard too (ASRock Tachi X570). The system seems to be fine under any load that does not involve extensive writes to the array including cpu (5700x) and intense network traffic (I can repeatedly send/receive 10s of Gigabytes of network traffic and get ~70 Gbit/s bandwidth).

Edit per comment from @heynnema

$ sudo free -h
              total        used        free      shared  buff/cache   available
Mem:           62Gi        12Gi       442Mi       372Mi        50Gi        49Gi
Swap:         975Mi        44Mi       931Mi
sudo sysctl vm.swappiness 
vm.swappiness = 60
phil@omni:~$ sudo dmidecode -s bios-version
P4.30
Tasks: 428 total,   2 running, 426 sleeping,   0 stopped,   0 zombie
%Cpu(s): 34.8 us,  2.0 sy,  0.0 ni, 61.1 id,  0.0 wa,  0.0 hi,  2.0 si,  0.0 st
MiB Mem :  64242.9 total,   1192.4 free,  14388.3 used,  48662.3 buff/cache
MiB Swap:    976.0 total,    915.5 free,     60.5 used.  48780.6 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                                                  
  15919 fooo      20   0 4083880   3.6g  12520 S 312.5   5.7  77:36.68 chia                                                                                                                                                                     
  15560 fooo      20   0 4083904   3.6g  12544 S  93.8   5.7  77:43.99 chia                                                                                                                                                                     
   4764 root      20   0       0      0      0 S  18.8   0.0  93:17.25 md0_raid6                                                                                                                                                                
   1375 unifi     20   0 4028748 180588  21888 S   6.2   0.3   0:04.47 launcher                                                                                                                                                                 
   2154 unifi     20   0 1078716 132904  39776 S   6.2   0.2   0:25.11 mongod                                                                                                                                                                   
   4776 root      20   0       0      0      0 R   6.2   0.0  18:39.73 md0_resync                                                                                                                                                               
  15419 root      20   0       0      0      0 I   6.2   0.0   0:01.07 kworker/0:1-events                                                                                                                                                       
      1 root      20   0  168296  11728   7896 S   0.0   0.0   0:01.02 systemd                                                                                                                                                                  
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd                                                                                                                                                                 
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp                                                                                                                                                                   
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp                                                                                                                                                               
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblockd                                                                                                                                                     
      9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq                                                                                                                                                             
     10 root      20   0       0      0      0 S   0.0   0.0   0:06.43 ksoftirqd/0                                                                                                                                                              
     11 root      20   0       0      0      0 I   0.0   0.0   0:04.24 rcu_sched                                                                                                                                                                
     12 root      rt   0       0      0      0 S   0.0   0.0   0:00.02 migration/0                                                                                                                                                              
     13 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/0 
cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/vgubuntu-root /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=3C3E-4180  /boot/efi       vfat    umask=0077      0       1
/dev/mapper/vgubuntu-swap_1 none            swap    sw              0       0
#192.168.1.192:/storage     /storage  nfs  defaults 0 0 
UUID=ddc550d2-7f93-4ecf-ac2e-d754c5eee6c9 /storage xfs defaults 0 0 
UUID=BCB65C49B65C05F4 /var/ExChia1 ntfs defaults 0 0
UUID=3A10-3FE7 /var/ExChia4 exfat defaults 0 0
UUID=0EF0-7586 /var/ExChia5 exfat defaults 0 0 
UUID=3837-E26A /var/ExChia6 exfat defaults 0 0
UUID=73338b75-d356-4e7f-9757-948f1078f04e /var/ExChia13 xfs defaults 0 0
heynnema avatar
lá cờ ru
Chỉnh sửa câu hỏi của bạn và cho tôi xem `free -h` và `sysctl vm.swappiness` và `sudo dmidecode -s bios-version` và `top`. Bắt đầu nhận xét cho tôi bằng @heynnema nếu không tôi sẽ nhớ chúng.
liels avatar
lá cờ ar
@heynnema, chỉnh sửa theo yêu cầu.
heynnema avatar
lá cờ ru
Cảm ơn bạn về thông tin. Cho tôi xem `mèo /etc/fstab`. Bạn đã bao giờ chạy `memtest` trên cấu hình này chưa? Đĩa khởi động/hệ thống của bạn là gì?
liels avatar
lá cờ ar
@heynnema, fstab ở trên. Đĩa khởi động/hệ thống là NVMe firecuda 510 1TB. Đang chạy memtest. Suy nghĩ hay (cách đây nhiều năm, tôi đã từng ghi vào các bản dựng mới với bộ phát hiện lỗi phần cứng chạy thử mà VAlinux đã viết cho hệ thống của họ; phần cứng tốt hơn hoặc tôi lười hơn hoặc cả hai).
heynnema avatar
lá cờ ru
Bạn có đủ chỗ để tăng phân vùng hoán đổi /dev/mapper/vgubuntu-swap_1 hoặc chuyển sang /swapfile không?
liels avatar
lá cờ ar
@heynnema vâng, tôi có thể tăng kích thước tệp hoán đổi lên một chút. Nếu không sắp xếp lại phần cứng, có lẽ tôi có thể làm được 300 hoặc 400G hoặc 2xRAM hoặc 128G từng được khuyến nghị trong trường hợp này. Bạn đề xuất món gì? Nếu tình trạng thiếu RAM gây ra tình trạng khóa, tôi sẵn sàng mua một cặp DIMM khác và sử dụng đầy đủ 128G. FWIW memtester đang xử lý 30G bộ nhớ trống và cho đến nay mọi thứ vẫn ổn.
heynnema avatar
lá cờ ru
Bump đổi sang 4G. Bạn không có tệp hoán đổi, bạn có phân vùng hoán đổi. Bạn sẽ phải sử dụng các lệnh LVM để thực hiện công việc. Ngoài ra, bạn có biết cách đặt vm.swappiness=10 không?
liels avatar
lá cờ ar
@heynnema. Ok, tôi nghĩ rằng tôi hiểu giả thuyết của bạn về những gì có thể xảy ra. swappiness hiện là 10 và vfs_cache_pressure là 100 (có lẽ là những gì chúng tôi muốn). lvresize thật hèn nhát khi không để tôi gặp rắc rối với hệ thống tập tin gốc được gắn kết; Tôi sẽ làm việc đó từ usb boot vào ngày mai sau khi đồng bộ hóa lại xong, hãy chạy Memtest86+ và sau đó kiểm tra lại ghi RAID.
heynnema avatar
lá cờ ru
Trên hệ thống trực tiếp, bạn có thể tắt tính năng hoán đổi bằng lệnh `swapoff -a`, sau đó sử dụng `lvresize` để mở rộng /dev/mapper/vgubuntu-swap_1 sang 4G, sau đó sử dụng `swapon -a`.
liels avatar
lá cờ ar
@heynnema. Thật không may, nó không giải quyết được vấn đề. Với khả năng trao đổi ở mức 10 và 4gb dung lượng trao đổi, tôi có thể thực hiện thành công một scp với tốc độ 250 MB/giây (khoảng 100 GB chuyển). Trao đổi đã không được sử dụng. Tôi đã thực hiện thành công 2 (~ 500MB/s) và trao đổi lên tới 512byte hoặc hơn. Tôi đã định thử 3 luồng và nghĩ rằng có thể bạn đã giải quyết được. Máy bị treo khi xử lý 2 luồng khi mình chuẩn bị khởi động luồng thứ 3. Trao đổi là khoảng 1536 byte vào thời điểm đó. Mảng đang đồng bộ lại >.<.tôi sẽ di chuyển một số quy trình khỏi máy đó và chạy memtest86 xem điều gì sẽ xảy ra.>
heynnema avatar
lá cờ ru
Chẳng phải chúng ta đã chạy `memtest` trước đó trong quá trình này sao? Cho tôi xem `swapon -s`. Bạn có thể để vm.swappiness là 10. Đặt vfs_cache_pressure về mặc định.
liels avatar
lá cờ ar
@heynnema Có, tôi đã chạy memtester cho bộ nhớ trống vào thời điểm đó ($sudo memtester 30G 3), đã vượt qua, nhưng không phải memtest86+ trên toàn bộ 64Gb. Tôi cần di chuyển một số quy trình sang hệ thống khác trước khi sử dụng "cái này" ngoại tuyến trong một thời gian dài. Trong lúc này, tôi đang chạy memtester 50G 10).
heynnema avatar
lá cờ ru
`memtest` nên được chạy ngoại tuyến, khi được khởi động vào USB flash `memtest`. `memtester` là gì? Đồng thời cho tôi xem `swapon -s`. Truy cập https://www.memtest86.com/ và tải xuống/chạy `memtest` miễn phí của họ để kiểm tra trí nhớ của bạn. Hoàn thành ít nhất một lần tất cả các bài kiểm tra 4/4 để xác nhận trí nhớ tốt. Điều này có thể mất nhiều giờ để hoàn thành.
liels avatar
lá cờ ar
@heynnema. Có, tôi hiểu rằng memtest86+ cần được thực hiện từ khi khởi động. Tôi tin rằng nó được bao gồm trong hình ảnh 20.04.2 theo mặc định, vì vậy đó là kế hoạch của tôi sau khi tôi có thể đưa hệ thống vào trạng thái ngoại tuyến. ```` Sudo hoán đổi -s Tên tệp Loại Kích thước Được sử dụng Ưu tiên /dev/dm-1 phân vùng 4194300 2665216 -2 ````
liels avatar
lá cờ ar
@heynnema, memtest86+ 4 lần/0-lỗi. Đã đồng bộ hóa lại. xfs_repair. Đã chuyển từ cổng hba sang mobo SATA (+2 cổng trên thẻ Syba/JM535). Tất cả các ổ đĩa vượt qua smartctl -t. Đã viết và đọc 136 GB /dev/zero và /dev/null với đồng bộ hóa. Khóa giây sau khi ghi với tốc độ khoảng 185 MB/giây trên một scp. Một điểm dữ liệu khác: một máy khác có 20.04.2 đã làm điều tương tự khi ghi vào RAID-0 với hai ổ đĩa nvme đã ổn định trước và sau khi thực hiện cuộc tấn công các ổ đĩa nvme. Tôi bắt đầu nghi ngờ có gì đó không ổn với mã đột kích và/hoặc tương tác với xfs. Có thể thử Rocky hoặc Alma tiếp theo.
heynnema avatar
lá cờ ru
Bạn có thể khởi động Ubuntu Live 21.04 và kiểm tra lại việc ghi vào đĩa không?
liels avatar
lá cờ ar
@heynnema, có vẻ như nó hoạt động tốt dưới ngày 21.04 trực tiếp. Tôi đã đẩy khoảng một terrabyte vào mảng với tốc độ 700-800 MB/giây và không có dấu hiệu của sự cố. Phải có vấn đề với mã đột kích hoặc mã xfs hoặc thứ gì đó trong 20.04.2. Tôi cho rằng điều ít đau đớn nhất vào thời điểm này là nâng cấp lên phiên bản đó và đợi 22.04 LTS. Báo cáo lỗi xảy ra với lỗi ubuntu, trong trường hợp này là kernel cho 20.04.2, phải không?
heynnema avatar
lá cờ ru
Tin tốt! Vì vậy, bạn sẽ cập nhật lên 21.04, phải không?
liels avatar
lá cờ ar
@heynnema. Cập nhật lên 20.10 đang diễn ra. Sẽ chuyển sang ngày 21.04 tiếp theo.
Điểm:0
lá cờ es

Vì vậy, tôi đã có cùng một vấn đề như bạn.

11 phần mềm đĩa Thiết lập RAID6 qua mdadm với phân vùng XFS. Đĩa được gắn thông qua kết hợp cổng mobo SATA và cổng HBA SATA rộng.

Trên Ubuntu 20.04.3 LTS, tôi sẽ bị đóng băng toàn bộ hệ thống bất cứ khi nào tôi có đủ băng thông ghi trong một khoảng thời gian đủ ngắn.

Để loại trừ bất kỳ sự cố mạng hoặc thiết bị nào khác, tôi nhận thấy việc ghi một tệp 1TB rác vào mảng thông qua dd if=/dev/zero of=testfile bs=1024 count=1024000000 status=progress là cách đáng tin cậy nhất để tái tạo vấn đề.

Giải pháp là nâng cấp lên Ubuntu 21.10. Ubuntu 21.04 mất nhiều thời gian hơn để đóng băng, nhưng vẫn bị đóng băng. Trên Ubuntu 21.10, tôi có thể thực hiện toàn bộ tệp thử nghiệm 1TB của mình 3 lần mà không gặp sự cố. Bất kể lỗi nào gây ra lỗi này cuối cùng cũng đã được sửa.

Đă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.