Mất bao lâu để fsck một âm lượng?


9

Chúng tôi đang điều hành một trang web hiện đang phục vụ 3-5 triệu lượt xem trang. Trang web của chúng tôi là một trang chia sẻ tệp và do đó, nó chứa 250.000 tệp và vài nghìn liên kết tượng trưng.

Đĩa cứng là đĩa SATA 1500GB.

Sử dụng hdparmchúng tôi đã biết rằng tốc độ ổ cứng của chúng tôi đã giảm xuống còn 15-20 MB / s, tức là 80 MB / s.

Vì vậy, bây giờ chúng tôi muốn chạy fsckđể khắc phục vấn đề đĩa.

  1. Sẽ fsckgiải quyết vấn đề này?
  2. Sẽ fsckmất bao nhiêu thời gian để hoàn thành (chỉ là chúng tôi muốn tính toán thời gian chết mà chúng tôi sẽ có)?

Bạn đang sử dụng hệ thống tập tin nào? Đây là một mảng RAID, hay một đĩa SATA đơn giản?
Kyle Smith

hệ thống tập tin và đĩa SATA đơn giản là ext3
khizar ansari

11
Tại sao bạn đang chạy một máy chủ web sản xuất trên một đĩa? Máy chủ với các đĩa đơn không phải là máy chủ - chúng đang đánh bom thời gian.
Evan Anderson

3
Có vẻ như đĩa đó đang chết. Di chuyển dữ liệu của bạn (sang một mảng RAID thực với bộ điều khiển dựa trên pin phần cứng) ngay lập tức.
Joel E Salas

Câu trả lời:


8

Sự suy giảm tốc độ sẽ được dự kiến ​​khi số lượng tệp được truy cập đồng thời tăng lên. Các ổ đĩa cứng không muốn được truy cập song song: mỗi lần đầu đọc / ghi cần chuyển xi lanh bạn sẽ mất vài mili giây. Ngay cả khi hai tệp nằm trên cùng một hình trụ hoặc thậm chí trên cùng một bản nhạc, bạn vẫn có thể phải chờ một vòng quay để chuyển từ tệp này sang tệp khác. Nếu bạn đo hiệu suất ổ đĩa tính bằng megabit mỗi giây, hãy hy vọng rằng nó sẽ giảm theo cấp số nhân khi tăng truy cập song song.

fsck sẽ không giúp với điều này: nó chỉ sửa chữa thiệt hại cho cấu trúc thư mục, nó không thực hiện bất kỳ tối ưu hóa.

Giải pháp lý tưởng sẽ là chuyển sang lưu trữ trạng thái rắn vì điều đó không có bất kỳ giới hạn vật lý nào của máy kéo sợi. Nhưng đó có lẽ là chi phí cấm.

Cách tốt nhất tiếp theo là sử dụng RAID được tối ưu hóa để truy cập song song. Hãy nhớ rằng RAID có thể được cấu hình cho nhiều cấu hình hiệu suất khác nhau, vì vậy bạn sẽ cần dành chút thời gian để tìm hiểu các cài đặt của bất kỳ trình điều khiển và phần cứng RAID cụ thể nào.

Bạn có thể giảm vấn đề bằng cách sử dụng bộ đệm ẩn hệ thống tập tin tích cực. Nếu hệ thống của bạn có đủ RAM, linux sẽ hoạt động khá tốt. Chạy một chương trình như thế nào topđể xem có bao nhiêu RAM miễn phí. Nhưng nếu các tệp được sử dụng phổ biến nhất không phù hợp với RAM (hoặc bất kỳ RAM nào bạn có khả năng có được), điều này sẽ không thực sự hữu ích.

Công việc của một người nghèo sẽ là phân chia các tệp của bạn trên nhiều ổ đĩa cứng vật lý khác nhau (không chỉ các phân vùng khác nhau trên cùng một ổ đĩa). Đó thực sự không phải là một giải pháp mở rộng dài hạn và cuối cùng sẽ khiến bạn tốn nhiều tiền hơn một RAID tốt. Nhưng nó có thể là một sửa chữa nhanh chóng nếu bạn có ổ đĩa nằm xung quanh.

Đối với bất kỳ giải pháp nào liên quan đến ổ đĩa cứng, hãy đảm bảo rằng chúng có tốc độ quay nhanh và độ trễ tìm kiếm thấp.

Tôi đã viết một bài viết với một số nền tảng chung về hiệu suất ổ cứng ở đây:

Mẹo UNIX - Hệ thống tập tin


Tôi không thấy hdparmđiểm chuẩn của anh ấy có liên quan nhiều đến "truy cập song song". Nghe có vẻ nhiều hơn, đối với tôi, giống như anh ta có một đĩa thất bại. Nó đã nhanh hơn trong quá khứ và bây giờ thì không. Có lẽ bởi vì nó di dời các ngành.
Evan Anderson

Đó chắc chắn là một khả năng, mặc dù tôi nghĩ rằng việc di dời trên thang đo đó sẽ tạo ra một số lỗi I / O. Dựa trên đường cơ sở rất chậm là 80 megabit mỗi giây, tôi đã giả định rằng thử nghiệm đã được chạy trên một hệ thống đang hoạt động. Vậy ... có lỗi I / O trong nhật ký hệ thống không, các hdparmbài kiểm tra đã được thực hiện như thế nào và kết quả là "megabits" hay "megabyte" mỗi giây?
Seth Noble

3

Tôi mong đợi 5 giờ để fsck hoàn thành.

Thay vào đó tôi sẽ xem xét (điều đó có nghĩa là: kiểm tra, thử nghiệm và kiểm tra) một sự di chuyển sang reiserfs.


2
  1. Không (fsck có thể sửa siêu dữ liệu hệ thống tệp bị hỏng, không phải là đĩa bị hỏng, cũng không phải là công cụ chống phân mảnh).
  2. Phụ thuộc vào hệ thống tập tin. Với ext3, cực kỳ dài, tôi sẽ dành vài giờ. Các hệ thống tập tin hiện đại hơn như ext4 hoặc xfs có thể dễ dàng trở thành một thứ tự cường độ nhanh hơn.

1

hdparm đọc tuần tự. Đĩa File Server của bạn sẽ được thực hiện rất nhiều tìm kiếm như những người khác nói.

Nếu bạn gặp lỗi HD, chúng sẽ xuất hiện trong / var / log / của bạn ở đâu đó.

Tại sao bạn không thử "smartctl -t short / dev / sda" và sau đó "smartctl -t long / dev / sda" ?? ... Với hầu hết các ổ cứng mới, bạn có thể ra lệnh này ngay cả khi sử dụng HD . Thông minh sẽ cung cấp cho bạn một số kết quả. Bạn có thể đọc tình trạng ổ cứng của mình bằng cách sử dụng "smartctl --all / dev / sda" ..

Nếu bạn đang gửi một hdparm đến ổ cứng được gắn kết với quyền truy cập đồng thời, đó có thể là câu trả lời tại sao kết quả của bạn lại kém hơn trước rất nhiều.

Tôi nên chuyển dữ liệu của bạn sang càng sớm càng tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.