Projekt zwirtualizowanego centrum danych

Projekt zwirtualizowanego centrum danych

Wprowadzenie

System informacyjny z punktu widzenia użytkownika jest dobrze zdefiniowany w GOST RV 51987 - „zautomatyzowany system, którego wynikiem jest prezentacja informacji wyjściowych do późniejszego wykorzystania”. Jeśli weźmiemy pod uwagę strukturę wewnętrzną, to w istocie każdy IS jest systemem połączonych ze sobą algorytmów zaimplementowanych w kodzie. W szerokim znaczeniu tezy Turinga-Churcha algorytm (lub IS) przekształca zbiór danych wejściowych w zbiór danych wyjściowych.
Można nawet powiedzieć, że przekształcenie danych wejściowych stanowi sens istnienia systemu informacyjnego. W związku z tym wartość IS i całego kompleksu IS określana jest poprzez wartość danych wejściowych i wyjściowych.
W związku z tym należy rozpocząć projektowanie oparte na danych, dostosowując architekturę i metody do struktury i znaczenia danych.

Przechowywane dane
Kluczowym etapem przygotowania do projektowania jest uzyskanie charakterystyki wszystkich zbiorów danych planowanych do przetwarzania i przechowywania. Te cechy obejmują:
- Ilość danych;
— Informacje o cyklu życia danych (narastanie nowych danych, długość życia, przetwarzanie nieaktualnych danych);
— Klasyfikacja danych ze specyfikacjami wpływ na podstawową działalność firmy (triada poufność, integralność, dostępność) wraz ze wskaźnikami finansowymi (np. koszt utraty danych w ostatniej godzinie);
— Geografia przetwarzania danych (fizyczna lokalizacja systemów przetwarzania);
— Wymagania regulacyjne dla każdej klasy danych (na przykład ustawa federalna nr 152, PCI DSS).

Systemy informacyjne

Dane są nie tylko przechowywane, ale także przetwarzane (przekształcane) przez systemy informatyczne. Kolejnym krokiem po uzyskaniu charakterystyki danych jest najpełniejsza inwentaryzacja systemów informatycznych, ich cech architektonicznych, współzależności i wymagań infrastrukturalnych w konwencjonalnych jednostkach dla czterech rodzajów zasobów:
— moc obliczeniowa procesora;
— Ilość pamięci RAM;
— wymagania dotyczące objętości i wydajności systemu przechowywania danych;
— Wymagania dotyczące sieci transmisji danych (kanały zewnętrzne, kanały pomiędzy elementami IS).
W takim przypadku muszą istnieć wymagania dla każdej usługi/mikrousługi w ramach IS.
Osobno należy zauważyć, że dla prawidłowego projektu dostępność danych na temat wpływu IS na podstawową działalność firmy w postaci kosztów przestojów IS (rubli za godzinę) jest obowiązkowa.

Model zagrożenia

Musi istnieć formalny model zagrożeń, przed którymi planuje się chronić dane/usługi. Co więcej, model zagrożenia uwzględnia nie tylko aspekty poufności, ale także integralności i dostępności. Te. Na przykład:
— Awaria serwera fizycznego;
— Awaria przełącznika znajdującego się na górze szafy;
— zakłócenia w optycznym kanale komunikacyjnym pomiędzy centrami danych;
— Awaria całego operacyjnego systemu przechowywania.
W niektórych przypadkach modele zagrożeń pisane są nie tylko dla komponentów infrastruktury, ale także dla konkretnych systemów informatycznych lub ich komponentów, jak np. awaria DBMS z logicznym zniszczeniem struktury danych.
Wszelkie decyzje w ramach projektu mające na celu ochronę przed nieopisanym zagrożeniem są niepotrzebne.

Wymogi regulacyjne

Jeżeli przetwarzane dane podlegają szczególnym zasadom ustanowionym przez organy regulacyjne, wymagana jest informacja o zbiorach danych oraz zasadach przetwarzania/przechowywania.

Cele RPO/RTO

Zaprojektowanie dowolnego rodzaju ochrony wymaga posiadania docelowych wskaźników utraty danych i docelowego czasu przywracania usług dla każdego z opisanych zagrożeń.
W idealnym przypadku RPO i RTO powinny wiązać koszty utraty danych i przestojów w jednostce czasu.

Projekt zwirtualizowanego centrum danych

Podział na pule zasobów

Po zebraniu wszystkich wstępnych informacji wejściowych pierwszym krokiem jest pogrupowanie zbiorów danych i adresów IP w pule w oparciu o modele zagrożeń i wymagania prawne. Określany jest rodzaj podziału poszczególnych pul – programowo na poziomie oprogramowania systemowego lub fizycznie.
Przykłady:
— Obwód przetwarzający dane osobowe jest całkowicie fizycznie oddzielony od innych systemów;
— Kopie zapasowe są przechowywane w oddzielnym systemie przechowywania.

W tym przypadku pule mogą nie być całkowicie niezależne, przykładowo definiuje się dwie pule zasobów obliczeniowych (moc procesora + RAM), które korzystają z jednej puli przechowywania danych i jednej puli zasobów transmisji danych.

Moc przetwarzania

Projekt zwirtualizowanego centrum danych

Streszczenie: wymagania dotyczące mocy obliczeniowej zwirtualizowanego centrum danych mierzone są liczbą procesorów wirtualnych (vCPU) i współczynnikiem ich konsolidacji na procesorach fizycznych (pCPU). W tym konkretnym przypadku 1 pCPU = 1 fizyczny rdzeń procesora (z wyłączeniem Hyper-Threading). Liczba procesorów wirtualnych jest sumowana we wszystkich zdefiniowanych pulach zasobów (z których każda może mieć własny współczynnik konsolidacji).
Współczynnik konsolidacji dla obciążonych systemów uzyskuje się empirycznie, w oparciu o istniejącą infrastrukturę lub poprzez instalację pilotażową i testy obciążeniowe. W przypadku systemów nieobciążonych stosuje się „najlepsze praktyki”. W szczególności VMware podaje średni stosunek jako 8:1.

RAM

Całkowite zapotrzebowanie na pamięć RAM oblicza się poprzez proste sumowanie. Nie zaleca się używania nadsubskrypcji pamięci RAM.

Zasoby pamięci

Wymagania dotyczące pamięci masowej uzyskuje się poprzez proste zsumowanie wszystkich pul według pojemności i wydajności.
Wymagania dotyczące wydajności wyrażone są w IOPS w połączeniu ze średnim współczynnikiem odczytu/zapisu i, jeśli to konieczne, maksymalnym opóźnieniem odpowiedzi.
Wymagania dotyczące jakości usług (QoS) dla określonych pul lub systemów należy określić osobno.

Zasoby sieci danych

Wymagania sieci danych uzyskuje się poprzez proste zsumowanie wszystkich pul przepustowości.
Wymagania dotyczące jakości usług (QoS) i opóźnień (RTT) dla określonych pul lub systemów należy określić osobno.
W ramach wymagań dotyczących zasobów sieci danych wskazane są także wymagania dotyczące izolacji i/lub szyfrowania ruchu sieciowego oraz preferowane mechanizmy (802.1q, IPSec itp.).

Wybór architektury

Ten przewodnik nie obejmuje opcji innych niż architektura x86 i 100% wirtualizacja serwerów. Dlatego wybór architektury podsystemu obliczeniowego sprowadza się do wyboru platformy wirtualizacji serwerów, współczynnika kształtu serwera i ogólnych wymagań dotyczących konfiguracji serwera.

Kluczowym punktem wyboru jest pewność zastosowania podejścia klasycznego z rozdzieleniem funkcji przetwarzania, przechowywania i przesyłania danych lub podejścia konwergentnego.

architektura klasyczna polega na wykorzystaniu inteligentnych zewnętrznych podsystemów do przechowywania i przesyłania danych, podczas gdy serwery wnoszą do wspólnej puli zasobów fizycznych jedynie moc obliczeniową i pamięć RAM. W skrajnych przypadkach serwery stają się całkowicie anonimowe, nie posiadając nie tylko własnych dysków, ale nawet identyfikatora systemu. W takim przypadku system operacyjny lub hypervisor jest ładowany z wbudowanego nośnika flash lub z zewnętrznego systemu przechowywania danych (rozruch z sieci SAN).
W ramach architektury klasycznej wybór pomiędzy ostrzami a stojakami dokonywany jest przede wszystkim w oparciu o następujące zasady:
— Ekonomiczne (przeciętnie serwery montowane w szafie są tańsze);
— Gęstość obliczeniowa (wyższa dla łopatek);
— Zużycie energii i rozpraszanie ciepła (łopatki mają wyższą jednostkę właściwą na jednostkę);
— Skalowalność i sterowalność (w przypadku dużych instalacji kasety zazwyczaj wymagają mniej wysiłku);
- Korzystanie z kart rozszerzeń (bardzo ograniczony wybór w przypadku serwerów kasetowych).
Architektura konwergentna (znany również jako hiperkonwergentne) polega na połączeniu funkcji przetwarzania i przechowywania danych, co prowadzi do wykorzystania lokalnych dysków serwerowych i w konsekwencji rezygnacji z klasycznej formy blade. W przypadku systemów konwergentnych stosuje się serwery stelażowe lub systemy klastrowe, łączące w jednej obudowie kilka serwerów kasetowych i dyski lokalne.

Procesor / Pamięć

Aby poprawnie obliczyć konfigurację należy poznać rodzaj obciążenia środowiska lub każdego z niezależnych klastrów.
Ograniczenie procesora – środowisko ograniczone wydajnością ze względu na moc procesora. Dodanie pamięci RAM nie zmieni niczego pod względem wydajności (liczby maszyn wirtualnych na serwer).
Ograniczona pamięcią – środowisko ograniczone pamięcią RAM. Więcej pamięci RAM na serwerze pozwala na uruchomienie większej liczby maszyn wirtualnych na serwerze.
GB/MHz (GB/pCPU) – średni stosunek zużycia pamięci RAM i mocy procesora przez to konkretne obciążenie. Można go wykorzystać do obliczenia wymaganej ilości pamięci dla danej wydajności i odwrotnie.

Obliczanie konfiguracji serwera

Projekt zwirtualizowanego centrum danych

Najpierw należy określić wszystkie rodzaje obciążenia i podjąć decyzję o połączeniu lub podzieleniu różnych pul obliczeniowych na różne klastry.
Następnie dla każdego ze zdefiniowanych klastrów wyznaczany jest stosunek GB/MHz przy znanym z góry obciążeniu. Jeśli obciążenie nie jest znane z góry, ale istnieje przybliżona wiedza na temat poziomu wykorzystania mocy procesora, można użyć standardowych proporcji vCPU:pCPU, aby przekonwertować wymagania puli na wymagania fizyczne.

Dla każdego klastra podziel sumę wymagań puli vCPU przez współczynnik:
vCPUsum / vCPU:pCPU = pCPUsum – wymagana liczba jednostek fizycznych. rdzenie
pCPUsum / 1.25 = pCPUht – liczba rdzeni dostosowana do Hyper-Threading
Załóżmy, że konieczne jest obliczenie klastra ze 190 rdzeniami / 3.5 TB RAM. Jednocześnie akceptujemy docelowe obciążenie na poziomie 50% mocy procesora i 75% pamięci RAM.

procesor
190
Wykorzystanie procesora
50%

Mem
3500
Narzędzie mem
75%

Gniazdo
rdzeń
Serwer/procesor
Srv Mem
Srv/Mem

2
6
25,3
128
36,5

2
8
19,0
192
24,3

2
10
15,2
256
18,2

2
14
10,9
384
12,2

2
18
8,4
512
9,1

W tym przypadku zawsze stosujemy zaokrąglanie w górę do najbliższej liczby całkowitej (=ZAOKR.GÓRA(A1;0)).
Z tabeli staje się oczywiste, że kilka konfiguracji serwerów jest zrównoważonych pod względem docelowych wskaźników:
— 26 serwerów 2*6c / 192 GB
— 19 serwerów 2*10c / 256 GB
— 10 serwerów 2*18c / 512 GB

Wyboru tych konfiguracji należy następnie dokonać w oparciu o dodatkowe czynniki, takie jak pakiet termiczny i dostępne chłodzenie, już używane serwery lub koszt.

Funkcje wyboru konfiguracji serwera

Szerokie maszyny wirtualne. Jeśli konieczne jest hostowanie szerokich maszyn wirtualnych (porównywalnych z 1 węzłem NUMA lub więcej), zaleca się, jeśli to możliwe, wybranie serwera z konfiguracją, która pozwala takim maszynom pozostać w węźle NUMA. Przy dużej liczbie szerokich maszyn wirtualnych istnieje niebezpieczeństwo fragmentacji zasobów klastra, dlatego w tym przypadku wybierane są serwery, które pozwalają na możliwie najgęstsze rozmieszczenie szerokich maszyn wirtualnych.

Rozmiar domeny z pojedynczym błędem.

Wybór wielkości serwera również opiera się na zasadzie minimalizacji pojedynczej domeny awarii. Na przykład przy wyborze pomiędzy:
— 3x4*10c / 512 GB
— 6x2*10c / 256 GB
Przy pozostałych czynnikach należy wybrać drugą opcję, ponieważ w przypadku awarii jednego serwera (lub jego konserwacji) traci się nie 33% zasobów klastra, ale 17%. W ten sam sposób liczba maszyn wirtualnych i IS dotkniętych awarią zostaje zmniejszona o połowę.

Obliczenia klasycznych systemów pamięci masowej na podstawie wydajności

Projekt zwirtualizowanego centrum danych

Klasyczne systemy pamięci masowej są zawsze obliczane przy użyciu najgorszego scenariusza, z wyłączeniem wpływu operacyjnej pamięci podręcznej i optymalizacji operacji.
Jako podstawowe wskaźniki wydajności bierzemy wydajność mechaniczną dysku (IOPSdisk):
– 7.2 tys. – 75 IOPS
– 10 tys. – 125 IOPS
– 15 tys. – 175 IOPS

Następnie liczba dysków w puli dyskowej jest obliczana przy użyciu następującego wzoru: = Suma IOPS * ( RW + (1 –RW) * RAIDPen) / IOPSdysk. Gdzie:
- Całkowita liczba IOPS – całkowita wymagana wydajność w IOPS z puli dyskowej
- RW – procent operacji odczytu
- Pióro RAID – Kara RAID dla wybranego poziomu RAID

Przeczytaj więcej na temat RAID urządzenia i kary za RAID tutaj - Wydajność pamięci. Część pierwsza. и Wydajność pamięci. Część druga. и Wydajność pamięci. Część trzecia

Na podstawie uzyskanej liczby dysków obliczane są możliwe opcje spełniające wymagania dotyczące pojemności pamięci, w tym opcje z pamięcią wielopoziomową.
Obliczenia systemów wykorzystujących dysk SSD jako warstwę pamięci masowej rozpatrywane są osobno.
Funkcje systemów obliczeniowych z pamięcią podręczną Flash

Pamięć podręczna Flash – potoczna nazwa wszystkich zastrzeżonych technologii wykorzystania pamięci flash jako pamięci podręcznej drugiego poziomu. W przypadku korzystania z pamięci podręcznej flash system przechowywania jest zwykle obliczany tak, aby zapewniał stałe obciążenie z dysków magnetycznych, podczas gdy szczyt jest obsługiwany przez pamięć podręczną.
W takim przypadku konieczne jest zrozumienie profilu obciążenia i stopnia lokalizacji dostępu do bloków woluminów pamięci. Pamięć podręczna Flash to technologia przeznaczona do obciążeń z wysoce zlokalizowanymi zapytaniami i praktycznie nie ma zastosowania w przypadku równomiernie obciążonych woluminów (takich jak systemy analityczne).

Obliczanie systemów hybrydowych niskiej/średniej klasy

Systemy hybrydowe klasy niższej i średniej korzystają z wielopoziomowego przechowywania danych, w którym dane przemieszczają się pomiędzy poziomami zgodnie z harmonogramem. Jednocześnie rozmiar wielopoziomowego bloku pamięci dla najlepszych modeli wynosi 256 MB. Cechy te nie pozwalają nam uważać technologii warstwowego przechowywania danych za technologię zwiększającą produktywność, jak wiele osób błędnie sądzi. Magazynowanie wielopoziomowe w systemach niskiej i średniej klasy to technologia pozwalająca na optymalizację kosztów magazynowania dla systemów o wyraźnej nierównomierności obciążenia.

W przypadku pamięci warstwowej najpierw obliczana jest wydajność najwyższej warstwy, natomiast uważa się, że dolna warstwa pamięci masowej jedynie uzupełnia brakującą pojemność pamięci. W przypadku hybrydowego systemu wielowarstwowego obowiązkowe jest użycie technologii pamięci podręcznej flash w puli wielowarstwowej, aby zrekompensować spadek wydajności w przypadku nagle podgrzewanych danych z niższego poziomu.

Korzystanie z dysku SSD w wielowarstwowej puli dyskowej

Projekt zwirtualizowanego centrum danych

Zastosowanie dysków SSD w wielopoziomowej puli dyskowej różni się w zależności od konkretnej implementacji algorytmów pamięci podręcznej typu flash przez danego producenta.
Ogólna praktyka dotycząca polityki przechowywania danych w przypadku puli dyskowej na poziomie dysku SSD zakłada przede wszystkim dysk SSD.
Pamięć podręczna Flash tylko do odczytu. W przypadku pamięci podręcznej flash tylko do odczytu warstwa pamięci na dysku SSD charakteryzuje się znaczną lokalizacją zapisów, niezależnie od pamięci podręcznej.
Odczyt/zapis pamięci podręcznej Flash. W przypadku pamięci podręcznej typu flash wielkość pamięci podręcznej zapisu jest najpierw ustawiana na maksymalny rozmiar pamięci podręcznej, a warstwa pamięci SSD pojawia się tylko wtedy, gdy wielkość pamięci podręcznej jest niewystarczająca do obsługi całego zlokalizowanego obciążenia.
Obliczenia wydajności dysków SSD i pamięci podręcznej wykonywane są każdorazowo w oparciu o zalecenia producenta, ale zawsze dla najgorszego scenariusza.

Źródło: www.habr.com

Dodaj komentarz