OmniOS / ZFS / Windows 7: Lưu Lưu dưới dạng từ trong ứng dụng chậm 5 giây cho tất cả các kích cỡ tệp trên CIFS / SMB


9

Tình hình:

Sự cố kỳ lạ sau đây đã xảy ra trên một máy chủ tệp duy nhất chạy OmniOS r151018 (95eaa7e) phục vụ các tệp qua SMB cho khách Windows và OS X.

Lưu một số tệp nhất định (.docx, .xlsx, một số hình ảnh) qua cửa sổ hộp thoại "Lưu dưới dạng ..." trên chia sẻ SMB dẫn đến độ trễ khoảng 3 đến 5 giây, sau đó ứng dụng không phản hồi tập tin được lưu bình thường.

Sự cố đã xảy ra "qua đêm", mà không làm gì với máy chủ, nhưng rất khó xác định ngày chính xác, vì khiếu nại của người dùng chỉ đến trong một thời gian sau lần xuất hiện đầu tiên. Sau khi khởi động lại máy chủ, một vdev của nhóm gốc được nhân đôi không khả dụng, nhưng kiểm tra kỹ hơn không tìm thấy bất kỳ lỗi nào trên thiết bị và nó đã được gắn lại vào nhóm. Vấn đề vẫn còn tồn tại.

Một số quan sát:

  • Nó xảy ra trên tất cả các máy khách Windows 7
  • Nó xảy ra cho tất cả các kích cỡ tập tin
  • Nó xảy ra trên tất cả các cổ phần của máy này, bất kể quyền
  • Nó xảy ra để lưu trữ nhanh hơn được nhập trên máy chủ qua iSCSI từ máy chủ khác
  • Tốc độ sao chép bình thường là 110 MB / giây qua GBit Ethernet
  • Dữ liệu và nhóm gốc dường như vẫn ổn
  • Nó không xảy ra trên các máy chủ tập tin khác
  • Nó không xảy ra khi tệp được lưu cục bộ, sau đó được sao chép qua trình thám hiểm
  • Nó không xảy ra trên OS X (chỉ có thể kiểm tra nó với OpenOffice)
  • dmesgcho thấy một số tính toán NOTICE: bge0: interrupt: flags 0x0 - not updated?với các giá trị khác nhau, nhưng đây cũng là trường hợp trước đây và không gây hại

Ý tưởng / kế hoạch khác:

Vì không tìm thấy thông báo lỗi rõ ràng, tôi có thể cần phải thực hiện một số thử nghiệm và tìm kiếm nguyên nhân. Một số điều tôi sẽ xem xét ( kết quả là in nghiêng ):

  • Thay thế card mạng Broadcom bằng thẻ Intel => không tạo ra sự khác biệt
  • Thay thế nhóm gốc bằng SSD SSD (Bộ nhớ USB hiện tại SLC hoạt động tốt trong hơn 3 năm) => không tạo ra sự khác biệt
  • Kiểm tra mạng ở giữa (phần cứng, bằng cách kết nối trực tiếp với máy chủ)
  • Lưu lượng truy cập với WireShark: khó khăn nếu bạn không biết chính xác những gì bạn đang tìm kiếm
  • Hoàn nguyên về môi trường / phiên bản khởi động OmniOS trước đó để loại trừ xung đột phần mềm => không tạo ra sự khác biệt
  • Quay lại các bản cập nhật Windows / Office để loại trừ lỗi
  • Xóa các tệp có :(dấu hai chấm) trong tên tệp khỏi ảnh chụp nhanh, đề xuất bởi txssync trên chuỗi reddit được tạo bởi ewwhite => không tạo ra sự khác biệt

    Tôi đã thấy một cái gì đó tương tự như thế này khi tính năng "phiên bản trước" của Windows được bật với các ảnh chụp nhanh tự động có ký tự ":". Chỉ chụp gió với điều này, nhưng có thể đáng xem vì ký tự ":" không được phép trong tên tệp Windows.

  • Giám sát truy cập tệp: theo đề xuất của shodanshok, tôi đã sử dụng DTracetập lệnh này để giám sát truy cập tệp. Tôi đã sử dụng nó trong khi lưu tệp mở alread, loại bỏ thông tin cá nhân và đầu ra không liên quan và kết quả xoay quanh ba tệp:

    CPU ID       FUNCTION:NAME
    1   18753    fop_open:entry Open: Workbook
    0   18181 fop_create:return Create: temp_1
    0   18753    fop_open:entry Open: temp_1
    0   18753    fop_open:entry Open: Workbook
    0   18753    fop_open:entry Open: Workbook
    0   18753    fop_open:entry Open: temp_1
    0   18888  fop_rename:entry Rename: Workbook -> temp_2
    0   18888  fop_rename:entry Rename: temp_1 -> Workbook
    0   18753    fop_open:entry Open: Workbook
    0   18753    fop_open:entry Open: temp_2
    0   18892  fop_remove:entry Remove: temp_2
    0   18753    fop_open:entry Open: Workbook
    0   18753    fop_open:entry Open: Workbook
    

    Quy trình tương tự trên một máy chủ khác không xảy ra sự cố dẫn đến kết quả tương tự:

    CPU ID       FUNCTION:NAME
    1   25182 fop_create:return Create: temp_1
    1   25750    fop_open:entry Open: temp_1
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: temp_1
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: temp_1
    1   25889  fop_rename:entry Rename: Workbook -> temp_2
    1   25889  fop_rename:entry Rename: temp_1 -> Workbook
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: temp_2
    1   25893  fop_remove:entry Remove: temp_2
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: Workbook
    

    Tôi cũng đã thêm dấu thời gian ( walltimestamp) vào tập lệnh, nhưng trong cả hai trường hợp, tất cả các thao tác tệp đều diễn ra trong cùng một giây. => không tạo ra sự khác biệt

  • Nhập đĩa trên máy chủ khác để kiểm tra xem phân mảnh hồ bơi hoặc đĩa bị lỗi => không tạo ra sự khác biệt
  • Di chuyển dữ liệu và nhóm gốc sang máy giống hệt nhau để loại trừ hệ thống cáp, bo mạch chính, v.v. => vấn đề vẫn tồn tại, do đó phải là nhóm gốc (phần mềm) hoặc phần cứng cụ thể không tương thích với phần mềm (hoặc đột nhiên không tương thích. ..)

Bạn có thể đề nghị bất cứ điều gì khác là nguyên nhân của hành vi này? Hay bạn đã trải nghiệm một cái gì đó tương tự? bởi vì tôi không thể tìm thấy bất cứ điều gì hữu ích trực tuyến, tôi nghi ngờ đây là sự cố phần cứng lạ (vì nó bị giới hạn ở một máy) hoặc là sự cố với Windows / Office.



@ewwhite Cảm ơn bạn đã tạo chủ đề! Đề xuất này thực sự thú vị, vì thực sự một số ảnh chụp nhanh trên cổ phiếu có các tệp perl được sao chép từ một máy unix, nhưng xóa chúng và các ảnh chụp nhanh không thay đổi hành vi.
121391

Khi lưu tệp trên một chia sẻ, Office có một hành vi đặc biệt: đầu tiên nó tạo một tệp trống, sau đó xóa nó, cuối cùng nó tạo lại và lưu tệp với dữ liệu của bạn. Nếu một trong những bước này mất nhiều thời gian hơn dự kiến, cửa sổ "Lưu dưới dạng" sẽ bị đóng băng một cách hiệu quả. Hệ thống của bạn có một số phương tiện để theo dõi truy cập cấp tệp không? Bạn có thể gỡ lỗi phiên SMB không? Bạn có đang sử dụng một cái gì đó tương tự như máy chủ SMB tích hợp Samba hoặc ZFS không?
shodanshok

@shodanshok Cảm ơn lời đề nghị của bạn, hãy xem câu hỏi cập nhật của tôi để biết kết quả. Tôi không biết tại sao đơn hàng hơi tắt, nhưng dấu thời gian có vẻ giống nhau trên cả hai máy. Liên quan đến câu hỏi của bạn, đó là máy chủ CIFS tích hợp Solaris / illumos, hiện đang sử dụng SMB 2.1 IIRC.
121391

Có lẽ chương trình chống vi-rút tại máy khách Windows 7 đang gây ra sự cố?
Janne Pikkarainen

Câu trả lời:


4

Giải pháp:

Vấn đề chỉ ảnh hưởng đến OmniOS r151018, không phải các phiên bản trước. Chủ đề này trong danh sách gửi thư thảo luận về omnios chính xác là về vấn đề của tôi, trích dẫn từ Geoff:

Tôi thấy một chủ đề tương tự với diễn đàn Nexenta. Dường như có một vấn đề với opslock. Tôi đã vô hiệu hóa opslock và chúng tôi đang tốt.

svccfg -s network/smb/server setprop smbd/oplock_enable=false

Không chắc chắn tại sao điều này không cắn nhiều người hơn.

Vì vậy, biteCount++;tôi đoán. Vấn đề đã được giải quyết bằng cách áp dụng sửa chữa và thực hiện khởi động lại nhanh.

Bài học cho tương lai: trước khi thử xử lý sự cố, chỉ cần sử dụng tìm kiếm nâng cao trên danh sách gửi thư chính thức, vì rất có thể sự cố của bạn đã xảy ra trên máy của người khác. Ngoài ra, hãy tạo một VM nhanh để loại trừ bất kỳ phần mềm, cập nhật hoặc lỗi cấu hình nào trước khi tìm kiếm lỗi phần cứng.


Làm thế nào tôi đến đó:

Sau một vài thử nghiệm khác nhau như đã thấy trong câu hỏi cập nhật, tôi đã thu hẹp nó thành vấn đề phần mềm hoặc xung đột phần cứng / trình điều khiển trên phần cứng cụ thể. Để loại trừ thứ hai, tôi đã cài đặt hai máy ảo OmniOS mới, r151018 và r151016 trên một máy chủ khác và được cấu hình bằng tay một chia sẻ SMB cơ bản trên mỗi máy.

R151018 gặp sự cố, r151016 hoạt động tốt. Tôi nghi ngờ tôi đã không nhận thấy điều đó trong các thử nghiệm đầu tiên của mình, vì tôi chỉ quay lại một số cập nhật vào r151018, chứ không quay lại bản phát hành trước đó. Tôi nghĩ vấn đề phải tồn tại lâu hơn tôi nghĩ.

Khi tìm cách chỉ cập nhật từng gói một, tôi đã xem danh sách gửi thư và tìm kiếm trong smb6 tháng qua, nơi giải pháp chính xác / vấn đề tương tự xuất hiện, xuất hiện từ tháng Năm.

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.