W poprzednim poście na blogu mówiłem o projektowaniu implementacji RAC z nadmiarowością N+1. Gwarantuje to, że utrata węzła nie przytłoczy pozostałych węzłów w przypadku awarii jednego węzła. Dzisiaj omówię wpływ konsolidacji serwerów, w szczególności rdzenie procesorów, i jej potencjalny wpływ N+1.
Jednym z głównych systemów, nad którymi dzisiaj pracuję, jest czterowęzłowy klaster Oracle RAC. Każdy węzeł ma 4 rdzenie. Mam licencję na wszystkie 16 rdzeni (4 rdzenie/węzeł * 4 węzły =16 rdzeni łącznie) w moim środowisku. Zaprojektowałem ten system z redundancją N+1. Jeśli stracę węzeł i stracę 4 rdzenie, nadal jestem dobry, ponieważ moje obciążenia robocze wymagają tylko 12 rdzeni, aby utrzymać normalny, akceptowalny poziom wydajności.
Kiedy ten system był początkowo projektowany, czterordzeniowe serwery były powszechne. Dzisiejsze środowisko jest inne i coraz trudniej jest znaleźć serwery 4-rdzeniowe. Nadal istnieją, ale dostawcy sprzętu naciskają na systemy z większą liczbą rdzeni.
W rozmowie z moim SysAdminem ostatnio chciał zamówić 6-rdzeniowe systemy, aby zastąpić nasze 3-letnie serwery. Cóż, nie możemy po prostu tego zrobić. Moja licencja Oracle obejmuje 16 rdzeni. Mógłbym wdrożyć trzy systemy 6-rdzeniowe, ale wtedy miałbym w sumie 18 rdzeni w klastrze i musiałbym mieć 2 rdzenie o wartości licencji Oracle. Gdybym wdrożył dwa systemy 6-rdzeniowe, miałbym w sumie 12 rdzeni i miałbym nieużywane licencje na 4 rdzenie.
Poinformowałem również SysAdmina o naszym projekcie N+1. Wpływ przejścia na systemy 6-rdzeniowe może mieć duży wpływ na projekt N+1. Pamiętaj, że powiedziałem wcześniej, że nasze wymagania dotyczące obciążenia wymagają 12 rdzeni, aby utrzymać normalne poziomy operacyjne. Jeśli wdrożymy maszyny 6-rdzeniowe, wtedy dwie z nich spełnią nasze wymagania, a kolejny węzeł, „+1”, będzie potrzebny, aby zapewnić, że możemy stracić węzeł bez większego wpływu na wydajność. Musielibyśmy wdrożyć trzy 6-rdzeniowe maszyny, aby utrzymać nasz cel projektowy N+1 w nienaruszonym stanie. Ale to oznacza, że musimy zwiększyć liczbę licencji, jak wspomniałem wcześniej.
W tym momencie mój administrator SysAdmin pomyślał, że ma dobry pomysł… możemy kupić dwa 8-rdzeniowe serwery. To wciąż 16 rdzeni i dokładnie to, na co mamy dzisiaj licencję. Brak wzrostu opłat licencyjnych. Ale jeśli stracimy węzeł, schodzimy do 8 działających rdzeni, czyli mniej, niż potrzebuję. To bardzo dobry punkt…
W tej chwili nie ma łatwej odpowiedzi. Nadal możemy kupować 4-rdzeniowe serwery, więc zastąpimy obecne w przyszłym roku. Ale nadejdzie dzień, w którym 4-rdzeniowe serwery będą niemożliwe do znalezienia. Do tego czasu musimy mieć gotowy plan, pamiętając o naszych celach projektowych N+1.
Gdybym tylko mógł na twardym partycjonowaniu naszych serwerów Linux i pozostawić rdzenie bezczynne i nadal być w zgodzie z naszymi umowami licencyjnymi Oracle.