Zastanawiam się, jaki jest cel BBU. Najpierw zrozumiałem, że umożliwia to zapisywanie danych w pamięci podręcznej podczas awarii zasilania. Ale niektóre specyfikacje mówią, że BBU może przechowywać swoje dane do 72 godzin. Spodziewałbym się, że dane zostaną zapisane na dysku w ciągu milisekund (biorąc pod uwagę, że dysk również ma moc).
Więc czy BBU powinno nie tylko chronić pamięć podręczną, ale cały dysk także przez kilka sekund? Czy nie byłoby to jeszcze bardziej bezpieczne, ponieważ dane z pamięci podręcznej są zapisywane na dysku zamiast znajdować się w pamięci podręcznej i ponownie czekać na zasilanie? Po około minucie dysk może zostać wyłączony.
raid
hardware-raid
controller
bbu
tanascius
źródło
źródło
Odpowiedzi:
Nie zasila dysków, po prostu przechowuje dane w pamięci podręcznej (w tym przypadku) do 72 godzin, dopóki nie przywrócisz komputera do pracy. Po ponownym włączeniu komputera zapisze zawartość pamięci podręcznej z powrotem na dyskach.
Wszystko, co robi, to ochrona przed awarią zasilania. Jeśli (z jakiegoś powodu) urządzenie straci moc bez czystego wypłukania danych na dysk, bateria utrzymuje zawartość pamięci podręcznej przy życiu do momentu ponownego uruchomienia urządzenia.
Nie jest to UPS dla dysków, ponieważ dyski mogą znajdować się w zewnętrznej macierzy dyskowej lub nawet w innym obwodzie zasilania. Nawet UPS może zawieść.
źródło
Działa to tak:
Większość systemów operacyjnych ma wywołanie systemowe, które umożliwia tak zwany „zapis synchroniczny”. Oznacza to, że podczas operacji zapisu, jeśli zapis został zakończony, jest zagwarantowane, że został on zapisany na dysku.
Zapis synchroniczny nie jest zatem buforowany. Blokuje aplikację do momentu jej zakończenia. Ten rodzaj operacji jest oczywiście wolniejszy niż zapis w pamięci podręcznej, który przechowuje dane w pamięci systemu operacyjnego, dopóki dysk nie będzie wystarczająco bezczynny, a następnie zapisuje dane.
Niektóre krytyczne oprogramowanie, takie jak oprogramowanie bazy danych, wykonuje synchroniczne zapisy dla krytycznych danych, ponieważ w połowie zapisana aktualizacja w przypadku utraty zasilania może mieć negatywny wpływ na integralność bazy danych.
Kontrolery RAID są notorycznie powolne w przypadku zapisu RAID-5, więc staje się to problemem, jeśli oprogramowanie aplikacji używa dużej liczby zapisów synchronicznych. Z tego powodu kontrolery RAID-5 są wyposażone we własne pamięci podręczne.
Kontroler RAID zamiast tego zapisuje dane w swojej pamięci podręcznej, a następnie LIES w systemie operacyjnym, mówiąc, że zapisał dane na dysku, podczas gdy dane nadal znajdują się w pamięci podręcznej RAID.
Ale co się stanie, jeśli nastąpi utrata zasilania, gdy dane nadal będą znajdować się w buforze kontrolera RAID? Na twoich dyskach miałbyś do połowy zapisane i prawdopodobnie niespójne dane.
Można powiedzieć, że to zachowanie nie pozwala na cel zapisu synchronicznego ... jeśli zapisywanie w pamięci podręcznej byłoby w porządku, to aplikacja nie poprosiłaby o zapis synchroniczny.
Kompromis jest następujący: kontroler RAID nadal polega na tym, że system operacyjny przesłał dane na dysk, ale aby chronić te krytyczne dane w przypadku awarii zasilania, kontroler RAID ma baterię, która utrzymuje pamięć podręczną przez pewien czas, dopóki nie będzie możliwe zasilanie przywrócone.
Więc po przywróceniu zasilania i uruchomieniu dysków oraz zainicjowaniu, kontroler nadal ma te dane w pamięci podręcznej dzięki baterii i może zakończyć zapisywanie transakcji na dysku.
Wszyscy są szczęśliwi.
Dlatego kontrolery RAID zwykle nie pozwalają włączyć pamięci podręcznej zapisu, chyba że masz funkcjonalną i naładowaną baterię.
źródło
proper shutdown
żądania, jeśli RAID leży na nim po wydaniu koloru?proper
lubimproper
zamknięcie. System operacyjny emituje sygnał wyłączania, a zasilacz robi to po wyłączeniu zasilania. Gdy zasilanie jest wyłączone, pamięć ulotna i cała jej zawartość tracona!Warto wspomnieć, że niektóre nowsze kontrolery dysków są teraz wyposażone w pamięć podręczną z szybką pamięcią flash, która przechowuje dane znacznie dłużej niż typowe 72 godziny, często jest też znacznie większa (~ 1 GB). Jeśli potrzebujesz szczegółów części, daj mi znać.
źródło
Pomyśl o tej pamięci podręcznej BBU jako o dodaniu podobnego poziomu ochrony, jaki zapewnia kronikowany system plików. Ma to na celu umożliwienie wykonania transakcji, w tym przypadku zwykłych zapisów, jeśli zostaną one przerwane przez awarię zasilania. Po zaniku zasilania kontroler nie może kontynuować zapisu, ponieważ spowodowałoby to całkowicie nieprzewidywalne wyniki. Zamiast tego przechowuje dane tak długo, jak to możliwe i zakończy zapisywanie, jeśli / kiedy zasilanie zostanie wznowione. Nie działa jednak jak zasilacz UPS dla napędów.
źródło
Zdobycie tej baterii o wartości 100 USD jest koniecznością, szczególnie na serwerze DB, nawet jeśli awarie zasilania występują rzadko. Nawet jeśli masz włączone transakcje , a serwer traci moc, zanim zmiany te opuści pamięć podręczną i zostaną zapisane na dysku, pozostanie ci niepełne zapytanie lub uszkodzone dane.
źródło
Jeśli Twój serwer ulegnie awarii, zawiesi się lub ktoś wyciągnie kabel zasilający, BBU ochroni Cię przed uszkodzonymi lub utraconymi danymi, jeśli używasz pamięci podręcznej zapisu. Korzystanie z USV chroni tylko przed awarią zasilania.
Jeśli nie chcesz używać pamięci podręcznej zapisu, nie potrzebujesz BBU.
źródło
Karta RAID może mieć 1 GB pamięci podręcznej; nawet jeśli zwykle nie będzie to wszystko używane do pamięci podręcznej zapisu, można założyć, że będzie przechowywać dość długą kolejkę niepisanych danych.
Systemy plików i bazy danych zakładają, że ich synchroniczne zapisy nie są ponownie porządkowane, nawet w przypadku awarii zasilania. Zwykle zapis synchroniczny powróci dopiero wtedy, gdy dane znajdą się na dysku, ale jest to stosunkowo powolne. Karty RAID poprawiają wydajność, grupując mniejsze zapisy i zmieniając ich kolejność, aby były mniej losowe.
Gdyby nie było BBU, awaria zasilania pod obciążeniem miałaby katastrofalne skutki, z zapisem, że karta RAID obiecała, że tam zginie (tak jak w przypadku systemu plików, możesz mieć odniesienia do nowego pliku lub katalogu, ale brak powiedział plik lub katalog, mimo że system plików specjalnie utworzył nowy plik przed wszelkimi odniesieniami do niego, aby tego uniknąć), wymagając przywrócenia z kopii zapasowych lub po prostu mając nadzieję, że twoje dane nie są zbyt źle pomieszane. Co gorsza, jeśli ktoś usunął tajny plik, a ktoś inny utworzył plik odczytywalny dla świata, może się zdarzyć, że część zawartości tajnego pliku znajdzie się w pliku odczytywalnym dla świata. Po złamaniu założeń, na których zbudowany jest system plików, wszystko jest możliwe.
Zakładanie, że UPS gwarantuje nieprzerwane zasilanie, jest naiwne; co się stanie, jeśli urządzenie ulegnie awarii i konieczne będzie pociągnięcie za przewód zasilający lub ktoś potknie się na nim?
Dyski konsumenckie SATA (i dyski SSD) czasami również buforują zapisy synchroniczne, ale ich pamięci podręczne są znacznie mniejsze, a korzystanie z nich przez konsumentów jest mniej wymagające, więc zwykle mogą sobie z tym poradzić.
Nowoczesne kontrolery RAID mają również pamięć flash, do której kopiują zawartość pamięci podręcznej zapisu w przypadku awarii zasilania, więc bateria nie musi trwać dłużej niż kilka sekund.
źródło