{"id":165,"date":"2021-05-14T13:04:00","date_gmt":"2021-05-14T13:04:00","guid":{"rendered":"http:\/\/szatan.it\/?p=165"},"modified":"2023-01-09T11:33:19","modified_gmt":"2023-01-09T11:33:19","slug":"cloudian-i-jego-przygody","status":"publish","type":"post","link":"https:\/\/szatan.it\/index.php\/2021\/05\/14\/cloudian-i-jego-przygody\/","title":{"rendered":"CLOUDIAN I JEGO PRZYGODY"},"content":{"rendered":"\n<p><strong>Jak obieca\u0142em tak zrobi\u0142em. Oto kolejny artyku\u0142&nbsp;o przygodach naszego rycerza \u2013 znanego wszystkim jako Cloudian.&nbsp;Tak naprawd\u0119, to b\u0119dzie pocz\u0105tek jego przyg\u00f3d, poniewa\u017c wcze\u015bniej nie by\u0142o mi dane&nbsp;pozna\u0107&nbsp;go od&nbsp;strony kunsztu&nbsp;technicznego.&nbsp;<\/strong><\/p>\n\n\n\n<p>Artyku\u0142 ten jest kontynuacj\u0105 pierwszej cz\u0119\u015bci przyg\u00f3d Cloudiana. Tym razem odpowiem na postawione pytanie, czy nasz waleczny&nbsp;bohater jest rycerzem na bia\u0142ym koniu, czy te\u017c paziem na kobyle.<\/p>\n\n\n\n<p>Jak wiemy,&nbsp;Cloudian&nbsp;Hyperstore nie tylko przechowuje&nbsp;dane jako&nbsp;zwyk\u0142y zas\u00f3b dyskowy,&nbsp;ale r\u00f3wnie\u017c ma wiele funkcji&nbsp;i mechanizm\u00f3w, kt\u00f3re dzia\u0142aj\u0105 w ramach tej przestrzeni dyskowej.&nbsp;Sprawdz\u0119, czy uruchomienie i zarz\u0105dzanie&nbsp;Cloudianem&nbsp;jest proste&nbsp;i szybkie. Nie&nbsp;b\u0119d\u0119 przeprowadza\u0142&nbsp;\u017cadnych test\u00f3w&nbsp;wydajno\u015bciowych,&nbsp;poniewa\u017c&nbsp;nie&nbsp;posiadaj\u0105c odpowiedniego&nbsp;sprz\u0119tu, trudno&nbsp;miarodajnie przeprowadzi\u0107 taki test.&nbsp;Oczywi\u015bcie ca\u0142o\u015b\u0107 uruchamiam jako maszyny wirtualne w \u015brodowisku VMware.&nbsp;<\/p>\n\n\n\n<p>Podzieli\u0142em&nbsp;t\u0119 przygod\u0119&nbsp;na trzy proste etapy.&nbsp;&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Etap 1.:&nbsp;Przygotowanie.&nbsp;<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Chyba nikt tego nie robi, tzn. nie czyta dokumentacji technicznej. To jest jak czytanie instrukcji&nbsp;obs\u0142ugi przed uruchomieniem reaktora j\u0105drowego. Mo\u017ce si\u0119&nbsp;uda\u0107&nbsp;albo&nbsp;i nie.&nbsp;Oczywi\u015bcie&nbsp;w naszym przypadku&nbsp;odpowiedzialno\u015b\u0107 jest sporo mniejsza,&nbsp;ale&nbsp;czasu stracimy sporo, tego nam nikt ju\u017c nie odda. Koniec gadania, czas na lektur\u0119\u2026&nbsp;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Po 5 minutach czytania wiemy wszystko. Sprawa jest banalna, potrzeba tylko&nbsp;system\u00f3w&nbsp;operacyjnych, instalatora&nbsp;i&nbsp;licencji.&nbsp;<\/p>\n<\/blockquote>\n\n\n\n<p>W ko\u0144cu&nbsp;Install&nbsp;Guide ma tylko 40 stron.&nbsp;Wspomn\u0119 jeszcze, \u017ce&nbsp;w trakcie pisania artyku\u0142u&nbsp;HyperStore&nbsp;jest dost\u0119pny w wersji 7.2.3, ale ju\u017c pojawi\u0142a si\u0119 wersja 7.3, kt\u00f3r\u0105 mo\u017cemy sobie testowa\u0107.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Ale&nbsp;wracaj\u0105c do instalacji.&nbsp;Sam&nbsp;system operacyjny jaki jest zalecany,&nbsp;to&nbsp;CentOS&nbsp;lub RHEL w wersji 7.7.&nbsp;Je\u017celi chodzi o same wymagania sprz\u0119towe to:&nbsp;1 lub 2 CPU (8 rdzeni per CPU), 128GB RAM lub wi\u0119cej, troch\u0119 dysk\u00f3w twardych&nbsp;na dane&nbsp;oraz SSD na potrzeby bazy&nbsp;i 2 karty sieciowe 10GbE lub szybsze.&nbsp;Oczywi\u015bcie s\u0105 to rekomendowane&nbsp;wymagania&nbsp;dla \u015brodowisk produkcyjnych. Nie s\u0105&nbsp;one&nbsp;jakie\u015b ogromne, ale jak ju\u017c mamy&nbsp;klaster stworzony z 5&nbsp;nod\u00f3w&nbsp;to&nbsp;640GB RAM mo\u017ce zrobi\u0107 swoje.&nbsp;W sumie nie mamy si\u0119 co martwi\u0107, bo w ko\u0144cu nasze infrastruktury s\u0105&nbsp;RAMem&nbsp;p\u0142yn\u0105ce.&nbsp;Oczywi\u015bcie sam instalator&nbsp;wytknie nam \u201eb\u0142\u0119dy\u201d, \u017ce jest za ma\u0142o dysk\u00f3w, czy&nbsp;RAMu.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2021\/05\/image.png\" alt=\"Obraz zawieraj\u0105cy tekst  Opis wygenerowany automatycznie\"\/><\/figure>\n\n\n\n<p>Drobna rzecz, kt\u00f3ra m\u00f3wi nam,&nbsp;gdzie&nbsp;tkwi&nbsp;problem,&nbsp;ale&nbsp;jest niezwykle&nbsp;przydatna.&nbsp;Wracaj\u0105c do samego systemu.&nbsp;Mo\u017cemy&nbsp;go pobra\u0107 r\u00f3wnie\u017c ze strony&nbsp;Cloudiana. Dost\u0119pne s\u0105 obrazy ISO jak i OVA.&nbsp;Mo\u017cemy r\u00f3wnie\u017c przygotowa\u0107 sobie sami taki system, r\u00f3wnie\u017c nie jest to problemem.&nbsp;Cloudian&nbsp;nie wspiera innych dystrybucji&nbsp;Linuxa&nbsp;oraz Windowsa. Takie rozwi\u0105zanie jest dobre,&nbsp;poniewa\u017c&nbsp;ci\u0119\u017cko jest pisa\u0107 aplikacje, kt\u00f3re dzia\u0142aj\u0105 na wielu systemach operacyjnych, kt\u00f3re maj\u0105 problemy ze sob\u0105 i generuj\u0105 miliony b\u0142\u0119d\u00f3w i problem\u00f3w.&nbsp;Dodatkowymi wymaganiami na czas&nbsp;instalacji jest wy\u0142\u0105czenie&nbsp;selinux&nbsp;oraz wbudowanego&nbsp;firewalla\/iptables. Oczywi\u015bcie nie ma si\u0119 co martwi\u0107,&nbsp;to tylko na czas instalacji. Sam&nbsp;Cloudian&nbsp;wygeneruje i za\u0142aduje konfiguracje&nbsp;firewalla&nbsp;tak,&nbsp;aby by\u0142o potencjalnie bezpiecznie. Z takich grubszych&nbsp;wymaga\u0144 to&nbsp;posiadanie&nbsp;Python&nbsp;2.7 oraz zamontowanie partycji \/tmp&nbsp;bez&nbsp;flagi&nbsp;noexec.&nbsp;&nbsp;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Kolejnym wymaganiem, kt\u00f3re podane jest w dalszych cz\u0119\u015bciach&nbsp;instrukcji do&nbsp;Cloudiana&nbsp;jest wykorzystywanie odpowiednio skonfigurowanych dysk\u00f3w.<\/p>\n<\/blockquote>\n\n\n\n<p>HyperStore&nbsp;nie wspiera&nbsp;XFS\u2019a,&nbsp;LVM\u2019a,&nbsp;VirtIO&nbsp;oraz&nbsp;multipathingu.&nbsp;Jednym s\u0142owem,&nbsp;wystarcz\u0105&nbsp;czyste dyski, a&nbsp;reszt\u0119&nbsp;zrobi za nas skrypt dostarczany przez producenta, o kt\u00f3rym za&nbsp;chwil\u0119.&nbsp;Dodatkowo&nbsp;HyperStore&nbsp;domy\u015blnie instaluje&nbsp;Cassandre&nbsp;i&nbsp;Redis&nbsp;tam,&nbsp;gdzie&nbsp;ju\u017c jest&nbsp;system operacyjny, dlatego aby przyspieszy\u0107&nbsp;te bazy danych,&nbsp;warto zainstalowa\u0107 system na dyskach SSD. Oczywi\u015bcie w tym wypadku rekomendowany jest RAID 1 (w przypadku VM nie ma to&nbsp;teoretycznie&nbsp;znaczenia).&nbsp;Dodatkowo&nbsp;wymagane jest wykorzystanie&nbsp;UUID\u2019\u00f3w&nbsp;do montowania&nbsp;dysk\u00f3w twardych,&nbsp;a nie etykiet.&nbsp;W szybki spos\u00f3b mo\u017cemy zmieni\u0107 te ustawienia we&nbsp;\u201cfstab\u201d.&nbsp;Systemy Linux rezerwuj\u0105 5%&nbsp;miejsca dla u\u017cytkownika&nbsp;root&nbsp;oraz na us\u0142ugi systemowe. Mo\u017cna t\u0105 warto\u015b\u0107 zmieni\u0107 na 0% dla dysk\u00f3w,&nbsp;gdzie b\u0119d\u0105 przechowywane&nbsp;dane.&nbsp;Daje nam to&nbsp;kilka lub kilkana\u015bcie dodatkowych GB na dane.&nbsp;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Skrypt, o kt\u00f3rym wspomnia\u0142em wcze\u015bniej,&nbsp;dostarczany&nbsp;jest przez producenta.&nbsp;W spos\u00f3b \u201eklikalny\u201d mo\u017cemy skonfigurowa\u0107 serwery. Nie musimy&nbsp;wszystkiego robi\u0107 r\u0119cznie.&nbsp;Jest to&nbsp;kolejne,&nbsp;r\u00f3wnie\u017c&nbsp;bardzo pomocne rozwi\u0105zanie.&nbsp;&nbsp;<\/p>\n<\/blockquote>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2021\/05\/image-1.png\" alt=\"Obraz zawieraj\u0105cy tekst  Opis wygenerowany automatycznie\"\/><\/figure>\n<\/div>\n\n\n<p>No i powtarzamy ca\u0142\u0105&nbsp;konfiguracj\u0119&nbsp;na ka\u017cdym&nbsp;serwerze,&nbsp;kt\u00f3ry ma nale\u017ce\u0107 do klastra.&nbsp;To troch\u0119 jak w filmie&nbsp;\u201cNa skraju jutra\u201d.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Etap 2.:&nbsp;Instalacja.<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Skoro&nbsp;mamy ju\u017c przygotowane&nbsp;systemy operacyjne,&nbsp;mo\u017cemy skonfigurowa\u0107&nbsp;load&nbsp;balancer. Serio?&nbsp;Tak!&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/clico.pl\/vendors\/cloudian-1\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2021\/02\/Cloudian_Logo_Square.jpg\" alt=\"\"\/><\/a><\/figure>\n<\/div>\n\n\n<p>Opcje s\u0105 dwie: DNS lub jaki\u015b dost\u0119pny&nbsp;load&nbsp;balancer.&nbsp;Wykorzystanie w \u015brodowisku konfiguracji DNS nie jest zbyt dobrym pomys\u0142em,&nbsp;poniewa\u017c klasyczne serwery DNS&nbsp;nie maj\u0105 mo\u017cliwo\u015bci sprawdzenia stanu serwera. W razie awarii ruch mo\u017ce by\u0107 kierowany&nbsp;dalej do serwera, kt\u00f3ry ju\u017c nie odpowiada. S\u0142abe rozwi\u0105zanie.&nbsp;Rozs\u0105dnie b\u0119dzie wykorzystywa\u0107&nbsp;jednak&nbsp;load&nbsp;balancer.&nbsp;No i zn\u00f3w spotykamy kilka mo\u017cliwo\u015bci:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mo\u017cemy wykorzysta\u0107 darmowe&nbsp;HAproxy,&nbsp;<\/li>\n\n\n\n<li>ale r\u00f3wnie\u017c&nbsp;takie rozwi\u0105zania,&nbsp;jakNSX,<\/li>\n\n\n\n<li>AVI,<\/li>\n\n\n\n<li>F5&nbsp;i&nbsp;wiele innych.&nbsp;&nbsp;<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Tak du\u017co mo\u017cliwo\u015bci, a tak ma\u0142o czasu na przetestowanie tego wszystkiego.<\/p>\n<\/blockquote>\n\n\n\n<p>Maj\u0105c&nbsp;ju\u017c wszystko&nbsp;\u2013&nbsp;instalujemy.&nbsp;<\/p>\n\n\n\n<p>Sprawa jest banalnie prosta, poniewa\u017c potrzebny jest plik instalacyjny i licencja.&nbsp;Licencje musimy mie\u0107 swoj\u0105, a plik instalacyjny pobra\u0107 r\u0119cznie lub za pomoc\u0105&nbsp;narz\u0119dzia&nbsp;z etapu&nbsp;pierwszego.&nbsp;Odpalamy polecenie&nbsp;instalacji i dzieje si\u0119 magia.&nbsp;&nbsp;<\/p>\n\n\n\n<p>A tak na powa\u017cnie,&nbsp;wcze\u015bniej generujemy&nbsp;plik,&nbsp;gdzie zapisane s\u0105 ustawienia w\u0119z\u0142\u00f3w&nbsp;(r\u00f3wnie\u017c mo\u017cna to zrobi\u0107 za pomoc\u0105 skryptu)&nbsp;i po instalacji wszystkiego wskazujemy go i podajemy has\u0142a do system\u00f3w.&nbsp;<\/p>\n\n\n\n<p>Reszt\u0119 zrobi za nas&nbsp;puppet.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2021\/05\/image-2.png\" alt=\"Obraz zawieraj\u0105cy tekst  Opis wygenerowany automatycznie\" width=\"586\" height=\"186\"\/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Etap&nbsp;3.:&nbsp;Celebrowanie sukcesu.&nbsp;<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Mo\u017cemy si\u0119 zalogowa\u0107 do us\u0142ugi,&nbsp;konfigurujemy nowe has\u0142a itp. i&nbsp;ju\u017c&nbsp;mo\u017cemy dzia\u0142a\u0107. Jak widzimy,&nbsp;sprawa samej instalacji jest prosta. Przygotowanie system\u00f3w operacyjnych&nbsp;jest bardziej czasoch\u0142onna,&nbsp;dodatkowo dochodz\u0105 aspekty sieciowe jak&nbsp;load&nbsp;balancer.&nbsp;W pewnych miejscach, jak systemy operacyjne,&nbsp;aby u\u0142atwi\u0107 nam prace,&nbsp;producent&nbsp;oprogramowania dorzuca nam skrypty,&nbsp;co przyspiesza instalacje\/konfiguracje.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Dodatkowo producenci&nbsp;load&nbsp;balancer\u00f3w,&nbsp;jak i sam&nbsp;Cloudian,&nbsp;daje&nbsp;nam rekomendacje&nbsp;i instrukcje&nbsp;w jaki spos\u00f3b skonfigurowa\u0107&nbsp;t\u0119&nbsp;us\u0142ug\u0119.&nbsp;&nbsp;<\/p>\n<\/blockquote>\n\n\n\n<p>Jest jeszcze spora ilo\u015b\u0107 element\u00f3w konfigurowalnych w us\u0142udze. Mo\u017cna j\u0105 integrowa\u0107 z innymi us\u0142ugami&nbsp;nie tylko formie klasycznej,&nbsp;ale i&nbsp;tak\u017ce&nbsp;jako sk\u0142adowanie&nbsp;backup\u00f3w czy na potrzeby kontener\u00f3w.&nbsp;Sama us\u0142uga ma do\u015b\u0107 niski pr\u00f3g wej\u015bcia,&nbsp;aby j\u0105&nbsp;uruchomi\u0107, co jest sporym plusem. Samo&nbsp;zarz\u0105dzanie r\u00f3wnie\u017c nie jest problematyczne.&nbsp;<strong>Ilo\u015b\u0107 b\u0142\u0119d\u00f3w oraz poprawek&nbsp;jest niewielka, a produkt wygl\u0105da na&nbsp;stabilny i dopracowany.&nbsp;&nbsp;<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Zdecydowanie&nbsp;Cloudian&nbsp;nie jest paziem na&nbsp;n\u0119dznej kobyle.&nbsp;<\/p>\n<\/blockquote>\n\n\n\n<p>Pami\u0119tajmy jednak, \u017ce nie dbaj\u0105c o podstawowe rzeczy,\u00a0mo\u017ce si\u0119 taki sta\u0107, zreszt\u0105 jak ka\u017cda inna us\u0142uga.\u00a0<strong>Dlatego te\u017c warto odpowiednio przygotowa\u0107 naszego rumaka\u00a0i zbroj\u0119, a b\u0119dziemy\u00a0\u201ekopytkowa\u0107\u201d\u00a0bezpiecznie i daleko\u00a0ku przygodzie.\u00a0<\/strong>Zach\u0119cam do test\u00f3w i wdra\u017cania.\u00a0\u00a0<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center\">\u201e<em>Artyku\u0142 zosta\u0142 opublikowany na \u0142amach bloga evoila Poland<\/em>.\u201d<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jak obieca\u0142em tak zrobi\u0142em. Oto kolejny artyku\u0142&nbsp;o przygodach naszego rycerza \u2013 znanego wszystkim jako Cloudian.&nbsp;Tak naprawd\u0119, to b\u0119dzie pocz\u0105tek jego przyg\u00f3d, poniewa\u017c wcze\u015bniej nie by\u0142o mi dane&nbsp;pozna\u0107&nbsp;go od&nbsp;strony kunsztu&nbsp;technicznego.&nbsp; Artyku\u0142 ten jest kontynuacj\u0105 pierwszej cz\u0119\u015bci przyg\u00f3d Cloudiana. Tym razem odpowiem na postawione pytanie, czy nasz waleczny&nbsp;bohater jest rycerzem na bia\u0142ym koniu, czy te\u017c paziem na [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":169,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[46,47,48],"tags":[],"class_list":["post-165","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloudian","category-s3","category-storage"],"_links":{"self":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts\/165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/comments?post=165"}],"version-history":[{"count":3,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts\/165\/revisions"}],"predecessor-version":[{"id":231,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts\/165\/revisions\/231"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/media\/169"}],"wp:attachment":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/media?parent=165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/categories?post=165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/tags?post=165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}