Khả năng phục hồi phần cứng khung máy PowerScale Gen6

Trong bài viết này, chúng ta sẽ xem xét nhanh chức năng sao chép nhật ký OneFS và ổ đĩa khởi động trong phần cứng dựa trên khung máy PowerScale:

Các nền tảng PowerScale Gen6, chẳng hạn như H700/7000 và A300/3000 mới, lưu trữ nhật ký hệ thống tệp cục bộ và bản sao của nó trong DRAM của phiến nút tính toán được hỗ trợ bằng pin. Mỗi khung máy Gen 6 4RU chứa bốn nút. Các nút này bao gồm một ‘lưỡi nút tính toán’ (CPU, bộ nhớ, NIC), cộng với các thùng chứa ổ đĩa hoặc sled cho mỗi nút.

Nhật ký hệ thống tệp của một nút được bảo vệ chống lại tình trạng mất điện đột ngột hoặc lỗi phần cứng bằng chức năng kho lưu trữ nhật ký OneFS – hay còn gọi là ‘duy trì bộ nhớ mất điện’ (PMP). PMP tự động lưu trữ cả nhật ký cục bộ và bản sao nhật ký trên một ổ đĩa flash riêng biệt trên cả hai nút trong một cặp nút:

Quá trình de-staging nhật ký này được gọi là ‘vaulting’, trong đó nhật ký được bảo vệ bằng một pin chuyên dụng trong mỗi nút cho đến khi nó được ghi an toàn từ DRAM sang SSD trên cả hai nút trong một cặp nút. Với PMP, không cần nguồn điện liên tục để bảo vệ nhật ký ở trạng thái xuống cấp vì nhật ký được lưu vào bộ nhớ flash M.2 và được phản chiếu trên nút đối tác.

Vì vậy, nhật ký phản chiếu bao gồm cả thành phần phần cứng và phần mềm, bao gồm các bộ phận cấu thành sau:

Linh kiện phần cứng của tạp chí

  • Hệ thống DRAM
  • 2 Vault Flash
  • Đơn vị pin dự phòng (BBU)
  • Cầu nối PCIe không trong suốt (NTB) tới nút đối tác
  • Sao chép sạch trên đĩa

Thành phần phần mềm tạp chí

  • Tính bền bỉ của bộ nhớ khi mất điện (PMP)
  • Giao diện không biến động được phản chiếu (MNVI)
  • Nhật ký IFS + Khối trạng thái nút (NSB)
  • Tiện ích

Làm mới DRAM không đồng bộ (ADR) bảo toàn nội dung RAM khi hệ điều hành không chạy. ADR rất quan trọng để bảo toàn nội dung nhật ký RAM qua các lần khởi động lại và không yêu cầu bất kỳ sự phối hợp phần mềm nào để thực hiện việc này.

Tính năng vault nhật ký bao gồm phần cứng, chương trình cơ sở và hỗ trợ hệ điều hành đảm bảo nội dung của nhật ký được bảo toàn khi mất điện. Cơ chế này tương tự như bộ điều khiển NVRAM trên các nút thế hệ trước nhưng không sử dụng thẻ PCI chuyên dụng.

Khi mất điện, chức năng vaulting của PMP chịu trách nhiệm sao chép cả nhật ký cục bộ và bản sao cục bộ của nhật ký của nút đối tác vào bộ nhớ flash liên tục. Khi có điện trở lại, PMP chịu trách nhiệm khôi phục nội dung của cả hai nhật ký từ bộ nhớ flash sang RAM và thông báo cho hệ điều hành.

Một thiết bị flash chuyên dụng duy nhất được gắn qua khe cắm M.2 trên bo mạch chủ của mô-đun tính toán của nút, nằm dưới gói pin dự phòng (BBU). Để được bảo dưỡng, toàn bộ mô-đun tính toán phải được tháo ra.

Nếu vì lý do nào đó cần thay thế flash M.2, nó sẽ được phân vùng hợp lý và cấu trúc PMP sẽ được tạo như một phần của quá trình kích hoạt nút để lưu trữ.

Bộ pin dự phòng (BBU), khi được sạc đầy, sẽ cung cấp đủ năng lượng để lưu trữ cả nhật ký cục bộ và nhật ký đối tác trong trường hợp mất điện.

BBU sử dụng một pin duy nhất, hỗ trợ chức năng nhảy liên tục.

Về mặt phần mềm, Power-fail Memory Persistence (PMP) của tạp chí cung cấp khả năng tương đương với khả năng lưu trữ/khôi phục của bộ điều khiển NVRAM để bảo vệ Tạp chí. Phân vùng PMP trên ổ đĩa flash M.2 cung cấp giao diện giữa hệ điều hành và chương trình cơ sở.

Nếu một nút khởi động và nhật ký chính của nó được phát hiện là không hợp lệ vì bất kỳ lý do gì, thì có ba cách để khắc phục:

  • Khôi phục nhật ký từ kho lưu trữ M.2.
  • Khôi phục nhật ký từ bản sao lưu đĩa.
  • Khôi phục nhật ký từ bản sao phản chiếu của nút đối tác.

BBU sử dụng một pin duy nhất, hỗ trợ chức năng nhảy liên tục.

Về mặt phần mềm, Power-fail Memory Persistence (PMP) của tạp chí cung cấp khả năng tương đương với khả năng lưu trữ/khôi phục của bộ điều khiển NVRAM để bảo vệ Tạp chí. Phân vùng PMP trên ổ đĩa flash M.2 cung cấp giao diện giữa hệ điều hành và chương trình cơ sở.

Nếu một nút khởi động và nhật ký chính của nó được phát hiện là không hợp lệ vì bất kỳ lý do gì, thì có ba cách để khắc phục:

  • Khôi phục nhật ký từ kho lưu trữ M.2.
  • Khôi phục nhật ký từ bản sao lưu đĩa.
  • Khôi phục nhật ký từ bản sao phản chiếu của nút đối tác.

Nhật ký được phản chiếu phải bảo vệ chống lại việc quay lại bản sao cũ của nhật ký khi khởi động lại. Điều này đòi hỏi phải lưu trữ thông tin về trạng thái của các bản sao nhật ký bên ngoài nhật ký. Do đó, Node State Block (NSB) là một khối đĩa liên tục lưu trữ trạng thái nhật ký cục bộ và từ xa (sạch/bẩn, hợp lệ/không hợp lệ, v.v.), cũng như các thông tin không phải nhật ký khác. NSB lưu trữ trạng thái nút này bên ngoài chính nhật ký và đảm bảo rằng một nút không quay lại bản sao cũ của nhật ký khi khởi động lại.

Sau đây là thông tin chi tiết về mô-đun tính toán của từng nút:

Đặc biệt đáng chú ý là đèn LED ‘nhật ký đang hoạt động’ được hiển thị dưới dạng biểu tượng bàn tay màu trắng.

Khi biểu tượng bàn tay màu trắng này sáng lên, điều đó cho biết nhật ký phản chiếu đang được lưu trữ tích cực và không an toàn khi xóa nút!

Ngoài ra còn có đèn LED ‘nguồn’ màu xanh lam và đèn LED ‘lỗi’ màu vàng cho mỗi nút. Nếu đèn LED màu xanh lam tắt, nút vẫn có thể ở chế độ chờ, trong trường hợp đó, vẫn có thể kéo thông tin gỡ lỗi từ bộ điều khiển quản lý bảng mạch chủ (BMC).

Đèn LED ‘lỗi’ nhấp nháy màu vàng có một số tần số chỉ báo trạng thái:

Tốc độ chớp mắt Tần số chớp mắt Chỉ số
Chớp mắt nhanh ¼ Hz BIOS
Nháy mắt trung bình 1Hz POST mở rộng
Chớp mắt chậm 4Hz Khởi động hệ điều hành
Tắt Tắt Hệ điều hành đang chạy

Giao diện non-volatile được phản chiếu (MNVI) nằm bên dưới /ifs và trên RAM và NTB, cung cấp sự trừu tượng của một thiết bị bộ nhớ đáng tin cậy cho nhật ký /ifs. MNVI chịu trách nhiệm đồng bộ hóa nội dung nhật ký với RAM nút ngang hàng, theo hướng của nhật ký và duy trì các lần ghi vào cả hai hệ thống trong khi ở trạng thái được ghép nối. Nó gọi lên nhật ký trên các sự kiện liên kết NTB và thông báo cho nhật ký về việc hoàn thành thao tác (đồng bộ phản chiếu, IO khối, v.v.).

Ví dụ, khi khởi động lại sau khi mất điện, một nút sẽ tự động tải MNVI. Sau đó, nó thiết lập liên kết với nút đối tác của mình và đồng bộ hóa bản sao nhật ký của mình qua PCIe Non-Transparent Bridge (NTB).

Trước khi gắn /ifs, OneFS sẽ tìm một bản sao hợp lệ của nhật ký từ một trong các vị trí sau theo thứ tự ưu tiên:

Đặt hàng Vị trí tạp chí Sự miêu tả
giây Đĩa cục bộ Một bản sao cục bộ đã được sao lưu vào đĩa
giây Kho tiền cục bộ Một bản sao cục bộ của tạp chí được khôi phục từ Vault vào DRAM
thứ 3 Nút đối tác Một bản sao phản chiếu của tạp chí từ nút đối tác

 

Nếu nút đã được tắt đúng cách, nó sẽ khởi động bằng cách sử dụng bản sao đĩa cục bộ của nhật ký. Nhật ký sẽ được khôi phục vào DRAM và /ifs sẽ gắn kết. Mặt khác, nếu nút bị mất điện, nhật ký sẽ được khôi phục vào DRAM từ bộ nhớ flash vault M.2 thay vào đó (PMP sao chép nhật ký vào vault M.2 trong trường hợp mất điện).

Trong trường hợp OneFS không thể định vị được nhật ký hợp lệ trên ổ cứng hoặc flash M.2 trên một nút, nó sẽ lấy bản sao phản chiếu của nhật ký từ nút đối tác của nó qua NTB. Điều này được gọi là ‘Đồng bộ hóa ngược’.

Lưu ý : Trạng thái đồng bộ lại chỉ xảy ra khi cố gắng gắn kết /ifs.

Khi khởi động, nếu một nút phát hiện ra rằng bản sao nhật ký của nó trên nút đối tác không đồng bộ (không hợp lệ), nhưng nhật ký cục bộ thì sạch, /ifs sẽ tiếp tục gắn kết. Các lần ghi tiếp theo sau đó được sao chép vào nhật ký từ xa trong một quy trình được gọi là ‘sync-forward’.

Sau đây là danh sách các tiểu bang tạp chí chính:

Trạng thái nhật ký Sự miêu tả
Đồng bộ hóa chuyển tiếp Trạng thái trong đó các lệnh ghi vào nhật ký được phản ánh tới nút đối tác.
Đồng bộ lại Nhật ký được sao chép lại từ nút đối tác. Chỉ xảy ra khi cố gắng gắn kết /ifs.
Nhảy cầu Lưu trữ một bản sao của nhật ký trên M.2 flash trong khi mất điện. Việc lưu trữ được thực hiện bởi PMP.

 Trong quá trình hoạt động bình thường, các thao tác ghi vào nhật ký chính và bản sao của nó được quản lý bởi mô-đun thiết bị MNVI, mô-đun này ghi thông qua bộ nhớ cục bộ vào nhật ký của nút đối tác thông qua NTB. Nếu NTB không khả dụng trong thời gian dài, các thao tác ghi vẫn có thể được hoàn thành thành công trên mỗi nút. Ví dụ, nếu liên kết NTB bị hỏng giữa chừng khi đang thực hiện thao tác ghi, thao tác ghi nhật ký cục bộ sẽ hoàn tất. Các thao tác đọc được xử lý từ bộ nhớ cục bộ.

Chức năng bảo vệ nhật ký bổ sung cho các nút Gen 6 được cung cấp bởi chức năng OneFS powerfail memory persistence (PMP), chức năng này bảo vệ chống lại các lỗi bus PCI có thể khiến NTB bị lỗi. Nếu phát hiện lỗi, CPU sẽ yêu cầu ‘đặt lại liên tục’, trong đó trạng thái bộ nhớ được bảo vệ và nút được khởi động lại. Khi sao lưu lại, nhật ký được đánh dấu là còn nguyên vẹn và không cần thực hiện thêm hành động sửa chữa nào nữa.

Nếu một nút mất điện, phần cứng sẽ thông báo cho BMC, khởi tạo lệnh tắt bộ nhớ liên tục. Lúc này, nút đang chạy bằng nguồn pin. Nút buộc phải khởi động lại và tải mô-đun PMP, mô-đun này sẽ bảo toàn nhật ký cục bộ và nhật ký được phản chiếu của đối tác bằng cách lưu trữ chúng trên bộ nhớ flash M.2. Sau đó, mô-đun PMP sẽ vô hiệu hóa pin và tự tắt nguồn.

Sau khi bật lại nguồn và nút khởi động lại, mô-đun PMP sẽ khôi phục nhật ký trước khi thử gắn kết /ifs. Sau khi hoàn tất, nút sẽ tiếp tục khởi động hệ thống, xác thực nhật ký, thiết lập trạng thái đồng bộ hóa tiến hoặc đồng bộ hóa lùi, v.v.

Trong quá trình khởi động, isi_checkjournal và isi_testjournal sẽ gọi isi_pmp. Nếu thiết bị vault M.2 không được định dạng, isi_pmp sẽ định dạng các thiết bị.

Khi tắt máy hoàn toàn, isi_save_journal sẽ lưu trữ một bản sao lưu của thiết bị /dev/mnv0 trên hệ thống tập tin gốc, giống như cách nó làm với các nhật ký NVRAM trong các thế hệ phần cứng trước.

Nếu nghi ngờ có sự cố nhật ký phản chiếu hoặc được thông báo qua cảnh báo cụm, nơi tốt nhất để bắt đầu khắc phục sự cố là xem các sự kiện nhật ký của nút. Nhật ký ghi vào /var/log/messages, với các mục được gắn thẻ là ‘journal_mirror’.

Các sự kiện CELOG mới sau đây cũng đã được thêm vào OneFS 8.1 để cảnh báo cụm về các sự cố nhật ký được phản chiếu:

Sự kiện CELOG Sự miêu tả
HW_GEN6_NTB_LINK_OUTAGE Liên kết PCIe cầu không trong suốt (NTP) không khả dụng
FILESYS_JOURNAL_VERIFY_FAILURE Không tìm thấy bản sao tạp chí hợp lệ trên nút

Một tối ưu hóa độ tin cậy khác cho nền tảng Gen6 là phản chiếu khởi động. Gen6 không sử dụng các thiết bị bootflash chuyên dụng, như với các nút thế hệ trước. Thay vào đó, OneFS boot và các phân vùng hệ điều hành khác được lưu trữ trên ổ dữ liệu của nút. Các phân vùng hệ điều hành này luôn được phản chiếu (trừ các phân vùng dump sự cố). Hai bản sao bảo vệ chống lại việc xóa disk sled. Vì mỗi ổ đĩa trong disk sled thuộc về một nhóm đĩa riêng biệt, nên cả hai thành phần của một bản sao không thể tồn tại trên cùng một sled.

Phân vùng khởi động và các phân vùng hệ điều hành khác là 8GB và được dành riêng ở đầu mỗi ổ dữ liệu cho các bản sao khởi động. OneFS tự động cân bằng lại các bản sao này để dự đoán và phản hồi các sự kiện dịch vụ. Việc cân bằng lại bản sao được kích hoạt bởi các sự kiện ổ đĩa như tạm dừng, lỗi mềm và mất dữ liệu cứng.

Lệnh sau sẽ xác nhận rằng tính năng sao chép khởi động đang hoạt động như mong đợi:

# isi_mirrorctl xác minh

Khi nói đến các nút lỗi thông minh, sau đây là một số điều khác cần lưu ý với mirror journal và nền tảng Gen6:

  • Khi bạn thực hiện lỗi thông minh cho một nút trong một cặp nút, bạn không cần phải thực hiện lỗi thông minh cho nút đối tác của nút đó.
  • Một nút vẫn sẽ chạy vô thời hạn khi đối tác của nó bị mất. Tuy nhiên, điều này làm tăng đáng kể cửa sổ rủi ro vì không có bản sao nhật ký nào để dựa vào (ngoài việc thiếu nguồn điện dự phòng, v.v.).
  • Nếu bạn thực hiện lỗi thông minh cho một nút trong cặp, nhật ký vẫn được bảo vệ bởi kho lưu trữ và tính bền bỉ của bộ nhớ lỗi.

 

Tác giả : Nick Trimbee