BBU (raid-controller-) dùng để làm gì?


13

Tôi đang tự hỏi mục đích của BBU là gì. Hiểu biết đầu tiên của tôi là, nó cho phép bộ đệm ghi dữ liệu vào đĩa trong khi mất điện. Nhưng một số thông số kỹ thuật nói rằng một BBU có thể giữ dữ liệu của nó trong tối đa 72h. Tôi hy vọng dữ liệu sẽ được ghi vào đĩa trong vòng một phần nghìn giây (được cung cấp, rằng đĩa vẫn còn có sức mạnh).

Vì vậy, một BBU không chỉ bảo vệ bộ đệm, mà toàn bộ đĩa trong một vài giây, quá? Điều đó sẽ không an toàn hơn nữa, bởi vì dữ liệu bộ đệm được ghi vào đĩa thay vì ở trong bộ đệm và chờ cấp điện trở lại? Sau một giây hoặc lâu hơn, đĩa có thể được tắt.


Mặc dù pin RAID không cung cấp năng lượng cho các ổ đĩa thực tế, nhưng có một thứ gì đó trong thế giới của chúng ta giống với những gì bạn tưởng tượng ban đầu: một số ổ SSD cấp máy chủ có "siêu tụ điện" cung cấp năng lượng dự phòng để ghi vào bộ nhớ cache trong một phần nghìn giây sau khi mất điện.
Skyhawk

Câu trả lời:


17

Nó không cấp nguồn cho các đĩa, nó chỉ giữ dữ liệu trong bộ đệm trong (trong trường hợp này) tối đa 72 giờ cho đến khi bạn đưa máy trở lại dòng. Khi bạn cấp nguồn cho máy sao lưu, nó sẽ ghi lại nội dung của bộ đệm vào các đĩa.

Tất cả những gì nó làm là bảo vệ chống lại sự cố mất điện. Nếu (vì một lý do nào đó) máy bị mất nguồn mà không xả sạch dữ liệu ra đĩa, pin sẽ giữ cho nội dung bộ nhớ cache tồn tại cho đến khi bạn có thể khởi động lại máy.

Nó không phải là một UPS cho các đĩa, vì các đĩa có thể nằm trong một mảng đĩa bên ngoài, hoặc thậm chí trên một mạch điện khác. Ngay cả một UPS có thể thất bại.


1
Vì vậy, sự khác biệt đối với một UPS cho các đĩa là nó được thiết kế cho một kịch bản trong đó các đĩa không nằm trên cùng một mạch điện? Trong tất cả các trường hợp khác (bộ điều khiển và đĩa trong một mạch), một UPS sẽ vượt trội hơn? Tôi vẫn muốn các lệnh cuối cùng được ghi vào đĩa thay vì chờ trong bộ đệm trong khi mất điện.
tanascius

Vì vậy, mua một UPS cho máy chủ của bạn là tốt sau đó! Một BBU không có đủ năng lượng để chạy một loạt các ổ đĩa. Nó cung cấp cho bạn một cửa sổ đủ lớn để bạn lấy lại năng lượng và lưu lại những thay đổi. Hầu hết các lần mất điện đều rất ngắn và hầu hết mọi người không cần thêm chi phí của UPS cho các máy không quan trọng.
JamesRyan

1
Tất cả BBU làm là giữ dữ liệu trong bộ đệm cho đến khi bạn khởi động lại máy tính. Bộ điều khiển biết những gì đã được tuôn ra đĩa (các tín hiệu đĩa cho thấy hoạt động đã kết thúc). Bất cứ điều gì không tuôn ra đĩa được bảo quản cho đến khi máy được khởi động lại.
Mối quan tâmOfTunbridgeWells

13

Nó hoạt động như thế này:

Hầu hết các hệ điều hành đều có một cuộc gọi hệ thống cho phép cái gọi là "ghi đồng bộ". Điều này có nghĩa là trong quá trình ghi, nếu việc ghi đã hoàn thành thì nó được đảm bảo rằng nó đã được cam kết vào đĩa.

Do đó ghi đồng bộ là không lưu trữ. Nó chặn ứng dụng cho đến khi nó hoàn thành. Loại hoạt động này rõ ràng là chậm hơn so với ghi lưu trữ lưu trữ dữ liệu trong bộ nhớ hệ điều hành cho đến khi đĩa đủ để nhàn rỗi và sau đó ghi dữ liệu.

Một số phần mềm quan trọng, chẳng hạn như phần mềm cơ sở dữ liệu, thực hiện ghi đồng bộ cho dữ liệu quan trọng vì bản cập nhật nửa viết trong trường hợp mất điện có thể gây bất lợi cho tính toàn vẹn của cơ sở dữ liệu.

Bộ điều khiển RAID nổi tiếng là chậm với ghi RAID-5 vì vậy điều này trở thành vấn đề nếu phần mềm ứng dụng của bạn sử dụng nhiều ghi đồng bộ. Vì lý do này, bộ điều khiển RAID-5 được trang bị bộ nhớ cache riêng.

Điều mà bộ điều khiển RAID làm là nó ghi dữ liệu vào bộ đệm của nó thay vào đó và LIES cho HĐH, nói với nó rằng nó đã cam kết dữ liệu vào đĩa trong khi dữ liệu thực sự vẫn nằm trong bộ đệm RAID.

Nhưng nếu mất điện trong khi dữ liệu vẫn còn trong bộ đệm của bộ điều khiển RAID thì sao? Bạn sẽ có một dữ liệu được ghi một nửa và có thể không nhất quán trên các đĩa của bạn.

Bạn có thể nói rằng hành vi này đánh bại mục đích của việc ghi đồng bộ ... nếu bạn có thể ghi vào bộ nhớ cache thì phần mềm ứng dụng sẽ không yêu cầu ghi đồng bộ ngay từ đầu.

Thỏa hiệp là thế này: Bộ điều khiển RAID vẫn nói dối với HĐH rằng nó đã cam kết dữ liệu vào đĩa, nhưng để bảo vệ dữ liệu quan trọng này trong trường hợp mất điện, bộ điều khiển RAID có pin giữ bộ nhớ cache trong một thời gian cho đến khi có thể cấp nguồn khôi phục.

Vì vậy, sau khi nguồn điện trở lại và các đĩa quay lên và khởi tạo, bộ điều khiển vẫn có dữ liệu đó trong bộ đệm nhờ vào pin và có thể kết thúc việc ghi giao dịch của bạn vào đĩa.

Mọi người đều hạnh phúc.

Đây là lý do tại sao các bộ điều khiển RAID thường không cho phép bạn kích hoạt ghi bộ đệm trừ khi bạn có bộ pin hoạt động và được sạc.


Tôi sẽ hỏi về vị trí của bộ điều khiển. Đây có phải là một phần của bo mạch chủ hoặc được tích hợp vào ổ cứng không?
Valentin Tihomirov

Ngoài ra, tôi muốn biết làm thế nào hệ điều hành có thể gửi proper shutdownyêu cầu nếu RAID nằm ở đó khi phát hành?
Valentin Tihomirov

@ValentinTihomirov Không có điều gì như properhoặc impropertắt máy. Hệ điều hành phát tín hiệu tắt nguồn và PSU làm như vậy, sau khi tắt nguồn. Khi tắt nguồn, bộ nhớ dễ bay hơi và tất cả nội dung của nó bị mất!
PF4Public

4

Điều đáng nói là một số bộ điều khiển đĩa mới hơn hiện nay đi kèm với bộ đệm flash tốc độ cao giữ dữ liệu lâu hơn so với 72 giờ thông thường, nó cũng thường lớn hơn khá nhiều (~ 1GB). Nếu bạn cần một phần chi tiết cho tôi biết.


Cảm ơn thông tin, nhưng tôi không phải là Sysadmin và có lẽ sẽ không bao giờ thiết kế RAID chuyên nghiệp ... Tôi chỉ tò mò về BBU :)
tanascius

3

Hãy nghĩ về bộ đệm BBU đó khi thêm một mức bảo vệ tương tự với mức được cung cấp bởi một hệ thống tệp được ghi nhật ký. Đó là để cho phép các giao dịch, viết đơn giản trong trường hợp này, được hoàn thành nếu chúng bị gián đoạn do mất điện. Khi mất điện, bộ điều khiển không thể tiếp tục ghi, vì điều đó sẽ dẫn đến kết quả hoàn toàn không thể đoán trước. Thay vào đó, nó giữ dữ liệu miễn là có thể và sẽ hoàn thành việc ghi nó nếu / khi nguồn điện trở lại. Những gì nó không làm là hoạt động như một UPS cho các ổ đĩa.


Nhưng khi tôi có một UPS cho các ổ đĩa + bộ điều khiển - tôi cần BBU để làm gì? Chỉ dành cho một scầnio nơi UPS cũng bị lỗi?
tanascius

Câu hỏi hay. Nếu bạn biết rằng máy chủ LUÔN LUÔN sẽ bị tắt một cách duyên dáng thì tôi cũng không tin về sự cần thiết của BBU.
John Gardeniers

2
BBU thường là cho các cấu hình ghi lại. Một số bộ điều khiển RAID sẽ không cho phép ghi lại mà không có BBU. Tuy nhiên, tôi nghĩ có lẽ là một ý tưởng tồi khi cho rằng máy chủ của bạn sẽ luôn bị tắt đúng cách.
Quan tâmOfTunbridgeWells

2

Có được pin 100 đô la đó là điều bắt buộc, đặc biệt là trên máy chủ DB, mặc dù sự cố mất điện là rất hiếm. Ngay cả khi bạn đã bật giao dịch và máy chủ của bạn mất nguồn trước khi những thay đổi đó rời khỏi bộ đệm và được cam kết vào đĩa, bạn sẽ bị bỏ lại với một truy vấn không đầy đủ hoặc dữ liệu bị hỏng.


1

Nếu máy chủ của bạn gặp sự cố, treo hoặc ai đó kéo cáp nguồn, BBU sẽ bảo vệ bạn khỏi dữ liệu bị hỏng hoặc bị mất, nếu bạn đang sử dụng bộ đệm ghi. Sử dụng USV chỉ bảo vệ bạn khỏi sự cố mất điện.

Nếu bạn không muốn sử dụng write-cache, bạn không cần BBU.


1

Thẻ RAID có thể có 1 GB bộ nhớ cache; mặc dù nó thường không được sử dụng cho bộ đệm ghi, bạn có thể cho rằng nó sẽ lưu trữ một hàng dài dữ liệu không được ghi.

Các hệ thống tập tin và cơ sở dữ liệu cho rằng việc ghi đồng bộ của chúng không được sắp xếp lại ngay cả trong trường hợp mất điện. Thông thường một ghi đồng bộ sẽ chỉ trở lại sau khi dữ liệu trên đĩa, nhưng điều này là tương đối chậm. Thẻ RAID cải thiện hiệu suất bằng cách nhóm các ghi nhỏ hơn lại với nhau và sắp xếp lại chúng để ít ngẫu nhiên hơn.

Nếu không có BBU, lỗi mất điện khi tải sẽ có kết quả thảm hại, với việc ghi thẻ RAID đã hứa sẽ bị mất (như trong trường hợp hệ thống tệp, bạn có thể có tham chiếu đến tệp hoặc thư mục mới, nhưng thiếu tệp hoặc thư mục, mặc dù hệ thống tệp đặc biệt tạo tệp mới trước bất kỳ tham chiếu nào đến nó để tránh điều này), yêu cầu bạn khôi phục từ bản sao lưu hoặc chỉ hy vọng dữ liệu của bạn không bị rối quá nhiều. Tệ hơn nữa, nếu ai đó xóa một tập tin bí mật và ai đó đã tạo một tập tin có thể đọc được trên thế giới, có thể xảy ra một số nội dung của tập tin bí mật được tìm thấy trong tập tin có thể đọc được trên thế giới. Khi bạn phá vỡ các giả định mà hệ thống tập tin được xây dựng, mọi thứ đều có thể.

Giả sử một UPS đảm bảo nguồn điện không bị gián đoạn là ngây thơ; Điều gì nếu máy gặp sự cố và bạn cần phải kéo dây nguồn, hoặc ai đó vấp phải nó?

Các đĩa SATA tiêu dùng (và SSD) đôi khi cũng ghi bộ đệm đồng bộ, nhưng bộ nhớ cache của chúng nhỏ hơn nhiều và việc sử dụng của người tiêu dùng ít đòi hỏi hơn nên họ thường có thể thoát khỏi nó.

Bộ điều khiển RAID hiện đại cũng có đèn flash, trong đó chúng sao chép nội dung của bộ đệm ghi trong trường hợp mất điện, do đó, pin không cần kéo dài quá vài giây.

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.