Tại sao việc kiểm tra phần mềm trên hệ thống lưu trữ có tính sẵn sàng cao của bạn lại quan trọng (99,9999%)

Tại sao việc kiểm tra phần mềm trên hệ thống lưu trữ có tính sẵn sàng cao của bạn lại quan trọng (99,9999%)

Phiên bản firmware nào là “đúng” và “hoạt động” nhất? Nếu một hệ thống lưu trữ đảm bảo khả năng chịu lỗi là 99,9999%, điều đó có nghĩa là nó sẽ hoạt động không bị gián đoạn ngay cả khi không cập nhật phần mềm? Hoặc ngược lại, để có được khả năng chịu lỗi tối đa, bạn phải luôn cài đặt phần sụn mới nhất? Chúng tôi sẽ cố gắng trả lời những câu hỏi này dựa trên kinh nghiệm của chúng tôi.

Một lời giới thiệu nhỏ

Tất cả chúng ta đều hiểu rằng mỗi phiên bản phần mềm, dù là hệ điều hành hay trình điều khiển của thiết bị, thường chứa những khiếm khuyết/lỗi và các “tính năng” khác có thể không “xuất hiện” cho đến khi thiết bị hết vòng đời sử dụng hoặc “mở” chỉ trong những điều kiện nhất định. Số lượng và tầm quan trọng của các sắc thái như vậy phụ thuộc vào độ phức tạp (chức năng) của phần mềm và chất lượng thử nghiệm trong quá trình phát triển phần mềm. 

Thông thường, người dùng sử dụng “chương trình cơ sở từ nhà máy” (câu nói nổi tiếng “nó hoạt động, vì vậy đừng gây rối với nó”) hoặc luôn cài đặt phiên bản mới nhất (theo cách hiểu của họ, phiên bản mới nhất có nghĩa là hoạt động tốt nhất). Chúng tôi sử dụng một cách tiếp cận khác - chúng tôi xem xét ghi chú phát hành cho mọi thứ được sử dụng trên đám mây mClouds thiết bị và lựa chọn cẩn thận phần sụn thích hợp cho từng thiết bị.

Như người ta nói, chúng tôi đi đến kết luận này bằng kinh nghiệm. Sử dụng ví dụ hoạt động của chúng tôi, chúng tôi sẽ cho bạn biết lý do tại sao độ tin cậy 99,9999% đã hứa của hệ thống lưu trữ chẳng có ý nghĩa gì nếu bạn không theo dõi kịp thời các bản cập nhật và mô tả phần mềm. Trường hợp của chúng tôi phù hợp với người dùng hệ thống lưu trữ của bất kỳ nhà cung cấp nào, vì tình huống tương tự có thể xảy ra với phần cứng của bất kỳ nhà sản xuất nào.

Chọn hệ thống lưu trữ mới

Vào cuối năm ngoái, một hệ thống lưu trữ dữ liệu thú vị đã được thêm vào cơ sở hạ tầng của chúng tôi: một mẫu cơ sở từ dòng IBM FlashSystem 5000, tại thời điểm mua có tên là Storwize V5010e. Bây giờ nó được bán dưới tên FlashSystem 5010, nhưng trên thực tế nó là cùng một cơ sở phần cứng có cùng Spectrum Virtualize bên trong. 

Nhân tiện, sự hiện diện của một hệ thống quản lý thống nhất là điểm khác biệt chính giữa IBM FlashSystem. Đối với những người mẫu thuộc dòng trẻ hơn, thực tế nó không khác gì những người mẫu thuộc dòng sản phẩm hiệu quả hơn. Việc chọn một mô hình cụ thể chỉ cung cấp cơ sở phần cứng phù hợp, các đặc điểm của nó giúp có thể sử dụng chức năng này hoặc chức năng khác hoặc cung cấp mức độ mở rộng cao hơn. Phần mềm xác định phần cứng và cung cấp chức năng cần và đủ cho nền tảng này.

Tại sao việc kiểm tra phần mềm trên hệ thống lưu trữ có tính sẵn sàng cao của bạn lại quan trọng (99,9999%)IBM FlashSystem 5010

Nói ngắn gọn về mô hình 5010 của chúng tôi. Đây là hệ thống lưu trữ khối điều khiển kép cấp đầu vào. Nó có thể chứa các đĩa NLSAS, SAS, SSD. Vị trí NVMe không có sẵn trong đó vì mô hình lưu trữ này được thiết kế để giải quyết các vấn đề không yêu cầu hiệu năng của ổ NVMe.

Hệ thống lưu trữ được mua để chứa thông tin lưu trữ hoặc dữ liệu không được truy cập thường xuyên. Do đó, bộ chức năng tiêu chuẩn của nó là đủ đối với chúng tôi: Xếp bậc (Cấp dễ dàng), Cung cấp mỏng. Hiệu suất trên các đĩa NLSAS ở mức 1000-2000 IOPS cũng khá khả quan đối với chúng tôi.

Kinh nghiệm của chúng tôi - việc chúng tôi không cập nhật chương trình cơ sở đúng hạn

Bây giờ về bản cập nhật phần mềm. Tại thời điểm mua, hệ thống đã có phiên bản phần mềm Spectrum Virtualize hơi lỗi thời, cụ thể là: 8.2.1.3.

Chúng tôi đã nghiên cứu các mô tả chương trình cơ sở và lên kế hoạch cập nhật 8.2.1.9. Nếu chúng tôi hiệu quả hơn một chút thì bài viết này đã không tồn tại - lỗi đã không xảy ra trên phần sụn mới hơn. Tuy nhiên, vì một số lý do nhất định, việc cập nhật hệ thống này đã bị hoãn lại.

Kết quả là, một chút chậm trễ cập nhật đã dẫn đến một bức tranh cực kỳ khó chịu, như trong mô tả ở liên kết: https://www.ibm.com/support/pages/node/6172341

Có, trong phần sụn của phiên bản đó, cái gọi là APAR (Báo cáo phân tích chương trình được ủy quyền) HU02104 có liên quan. Nó xuất hiện như sau. Khi tải, trong một số trường hợp nhất định, bộ đệm bắt đầu tràn, sau đó hệ thống chuyển sang chế độ bảo vệ, trong đó hệ thống sẽ tắt I/O cho nhóm. Trong trường hợp của chúng tôi, có vẻ như việc ngắt kết nối 3 đĩa cho một nhóm RAID ở chế độ RAID 6. Việc ngắt kết nối xảy ra trong 6 phút. Tiếp theo, quyền truy cập vào các Tập trong Pool được khôi phục.

Nếu ai chưa quen với cấu trúc và cách đặt tên của các thực thể logic trong IBM Spectrum Virtualize thì bây giờ tôi sẽ giải thích ngắn gọn.

Tại sao việc kiểm tra phần mềm trên hệ thống lưu trữ có tính sẵn sàng cao của bạn lại quan trọng (99,9999%)Cấu trúc các phần tử logic của hệ thống lưu trữ

Đĩa được tập hợp thành các nhóm gọi là MDisk (Đĩa được quản lý). MDisk có thể là RAID cổ điển (0,1,10,5,6) hoặc RAID ảo hóa - DRAID (RAID phân tán). Sử dụng DRAID cho phép bạn tăng hiệu suất của mảng, bởi vì... Tất cả các đĩa trong nhóm sẽ được sử dụng và thời gian xây dựng lại sẽ giảm đi do thực tế là chỉ một số khối nhất định sẽ cần được khôi phục chứ không phải tất cả dữ liệu từ đĩa bị lỗi.

Tại sao việc kiểm tra phần mềm trên hệ thống lưu trữ có tính sẵn sàng cao của bạn lại quan trọng (99,9999%)Phân phối khối dữ liệu trên các đĩa khi sử dụng RAID phân tán (DRAID) ở chế độ RAID-5.

Và sơ đồ này cho thấy logic về cách hoạt động của quá trình xây dựng lại DRAID trong trường hợp một đĩa bị lỗi:

Tại sao việc kiểm tra phần mềm trên hệ thống lưu trữ có tính sẵn sàng cao của bạn lại quan trọng (99,9999%)Logic xây dựng lại DRAID khi một đĩa bị lỗi

Tiếp theo, một hoặc nhiều MDisk tạo thành cái gọi là Pool. Trong cùng một nhóm, không nên sử dụng MDisk với các cấp độ RAID/DRAID khác nhau trên các đĩa cùng loại. Chúng ta sẽ không đi sâu vào vấn đề này quá sâu, bởi vì... chúng tôi dự định đề cập đến vấn đề này trong một trong những bài viết sau. Trên thực tế, Pool được chia thành các Tập, được trình bày bằng cách sử dụng giao thức truy cập khối này hoặc giao thức truy cập khối khác tới máy chủ.

Vì vậy, do tình huống được mô tả trong APAR HU02104, do lỗi logic của ba đĩa, MDisk đã không còn hoạt động, do đó dẫn đến lỗi Nhóm và các Tập tương ứng.

Vì các hệ thống này khá thông minh nên chúng có thể được kết nối với hệ thống giám sát dựa trên đám mây của IBM Storage Insights, hệ thống này sẽ tự động gửi yêu cầu dịch vụ tới bộ phận hỗ trợ của IBM nếu xảy ra sự cố. Một ứng dụng được tạo ra và các chuyên gia IBM tiến hành chẩn đoán từ xa và liên hệ với người dùng hệ thống. 

Nhờ đó, sự cố đã được giải quyết khá nhanh chóng và dịch vụ hỗ trợ đã nhận được khuyến nghị nhanh chóng để cập nhật hệ thống của chúng tôi lên chương trình cơ sở 8.2.1.9 đã chọn trước đó, tại thời điểm đó đã được sửa. Nó xác nhận Ghi chú phát hành tương ứng.

Kết quả và khuyến nghị của chúng tôi

Như người ta thường nói: “Mọi chuyện đều ổn và kết thúc tốt đẹp.” Lỗi trong phần sụn không gây ra sự cố nghiêm trọng - máy chủ đã được khôi phục sớm nhất có thể và không bị mất dữ liệu. Một số khách hàng đã phải khởi động lại máy ảo, nhưng nhìn chung, chúng tôi đã chuẩn bị cho những hậu quả tiêu cực hơn vì chúng tôi thực hiện sao lưu hàng ngày tất cả các thành phần cơ sở hạ tầng và máy khách. 

Chúng tôi đã nhận được xác nhận rằng ngay cả những hệ thống đáng tin cậy với độ sẵn sàng được hứa hẹn 99,9999% cũng cần được chú ý và bảo trì kịp thời. Dựa trên tình hình, chúng tôi đã rút ra một số kết luận cho mình và chia sẻ các khuyến nghị của mình:

  • Điều bắt buộc là phải giám sát việc phát hành các bản cập nhật, nghiên cứu Ghi chú phát hành để khắc phục các vấn đề nghiêm trọng tiềm ẩn và thực hiện các bản cập nhật theo kế hoạch một cách kịp thời.

    Đây là một điểm có tổ chức và thậm chí khá rõ ràng, mà có vẻ như không đáng để tập trung vào. Tuy nhiên, trên “mặt đất bằng phẳng” này bạn có thể khá dễ vấp ngã. Thực ra, chính thời điểm này đã tạo thêm những rắc rối kể trên. Hãy hết sức cẩn thận khi soạn thảo các quy định cập nhật và giám sát việc tuân thủ chúng không kém phần cẩn thận. Điểm này liên quan nhiều hơn đến khái niệm “kỷ luật”.

  • Luôn luôn tốt hơn nếu giữ cho hệ thống luôn có phiên bản phần mềm mới nhất. Hơn nữa, phiên bản hiện tại không phải là phiên bản có ký hiệu số lớn hơn mà là phiên bản có ngày phát hành muộn hơn. 

    Ví dụ: IBM luôn cập nhật ít nhất hai bản phát hành phần mềm cho hệ thống lưu trữ của mình. Tại thời điểm viết bài này, đây là 8.2 và 8.3. Bản cập nhật cho 8.2 xuất hiện sớm hơn. Một bản cập nhật tương tự cho 8.3 thường được phát hành với độ trễ nhẹ.

    Bản phát hành 8.3 có một số ưu điểm về chức năng, chẳng hạn như khả năng mở rộng MDisk (ở chế độ DRAID) bằng cách thêm một hoặc nhiều đĩa mới (tính năng này đã xuất hiện kể từ phiên bản 8.3.1). Đây là một chức năng khá cơ bản, nhưng rất tiếc là trong 8.2 không có tính năng đó.

  • Nếu không thể cập nhật vì lý do nào đó, thì đối với các phiên bản phần mềm Spectrum Virtualize trước phiên bản 8.2.1.9 và 8.3.1.0 (có liên quan đến lỗi được mô tả ở trên), để giảm nguy cơ xảy ra lỗi, bộ phận hỗ trợ kỹ thuật của IBM khuyến nghị hạn chế hiệu suất hệ thống ở cấp độ nhóm, như thể hiện trong hình bên dưới (ảnh được chụp trong phiên bản GUI được Nga hóa). Giá trị 10000 IOPS được hiển thị dưới dạng ví dụ và được chọn theo đặc điểm của hệ thống của bạn.

Tại sao việc kiểm tra phần mềm trên hệ thống lưu trữ có tính sẵn sàng cao của bạn lại quan trọng (99,9999%)Hạn chế hiệu suất lưu trữ của IBM

  • Cần tính toán chính xác tải trọng cho hệ thống lưu trữ và tránh tình trạng quá tải. Để thực hiện việc này, bạn có thể sử dụng công cụ đo kích thước của IBM (nếu bạn có quyền truy cập vào nó) hoặc sự trợ giúp của các đối tác hoặc tài nguyên của bên thứ ba. Bắt buộc phải hiểu rõ thông tin tải trên hệ thống lưu trữ, bởi vì Hiệu suất tính bằng MB/s và IOPS thay đổi rất nhiều tùy thuộc vào ít nhất các thông số sau:

    • loại hoạt động: đọc hoặc viết,

    • kích thước khối hoạt động,

    • phần trăm các thao tác đọc và ghi trong tổng luồng I/O.

    Ngoài ra, tốc độ hoạt động bị ảnh hưởng bởi cách đọc các khối dữ liệu: tuần tự hoặc theo thứ tự ngẫu nhiên. Khi thực hiện nhiều thao tác truy cập dữ liệu ở phía ứng dụng, sẽ có khái niệm về các thao tác phụ thuộc. Đó cũng là khuyến khích để tính đến điều này. Tất cả điều này có thể giúp xem tổng số dữ liệu từ bộ đếm hiệu suất của HĐH, hệ thống lưu trữ, máy chủ/trình giám sát ảo, cũng như hiểu biết về các tính năng vận hành của ứng dụng, DBMS và những “người tiêu dùng” khác của tài nguyên đĩa.

  • Và cuối cùng, hãy đảm bảo có bản sao lưu được cập nhật và hoạt động. Lịch sao lưu phải được định cấu hình dựa trên các giá trị RPO được chấp nhận cho doanh nghiệp và phải xác minh tính toàn vẹn định kỳ của các bản sao lưu (khá nhiều nhà cung cấp phần mềm sao lưu đã triển khai xác minh tự động trong sản phẩm của họ) để đảm bảo giá trị RTO có thể chấp nhận được.

Cảm ơn bạn đã đọc đến cuối.
Chúng tôi sẵn sàng trả lời câu hỏi và ý kiến ​​​​của bạn trong phần bình luận. Cũng Chúng tôi mời bạn đăng ký kênh telegram của chúng tôi, trong đó chúng tôi thường xuyên tổ chức các chương trình khuyến mãi (giảm giá cho IaaS và tặng mã khuyến mại lên tới 100% trên VPS), viết tin tức thú vị và thông báo các bài viết mới trên blog Habr.

Nguồn: www.habr.com

Thêm một lời nhận xét