{"id":3597,"date":"2019-01-03T13:37:57","date_gmt":"2019-01-03T12:37:57","guid":{"rendered":"https:\/\/vm.piszki.pl\/?p=3597"},"modified":"2019-01-31T08:34:17","modified_gmt":"2019-01-31T07:34:17","slug":"cloudstack-instalacja-i-konfiguracja-czesc-4-cloudstack-management-server","status":"publish","type":"post","link":"https:\/\/vm.piszki.pl\/?p=3597","title":{"rendered":"CloudStack &ndash; instalacja i konfiguracja, cz\u0119\u015b\u0107 4, CloudStack Management Server"},"content":{"rendered":"<p align=\"justify\">W poprzednich trzech cz\u0119\u015bciach om\u00f3wili\u015bmy Apache CloudStack, jego terminologi\u0119 oraz przygotowali\u015bmy w\u0119ze\u0142 (CentOS 7) do pe\u0142nienia wielu r\u00f3l. W tym artykule skupimy si\u0119 na uruchomieniu CloudStack Management Server oraz zainicjowaniu pierwszej Zony. Efektem ko\u0144cowym b\u0119dzie w pe\u0142ni funkcjonalny klaster CloudStack gotowy do pracy. Przypomn\u0119 tylko, \u017ce omawiany klaster to trzy serwer CentOS 7, wykorzystujemy MariaDB Galera z keepalived i haproxy. W nast\u0119pnych cz\u0119\u015bciach tej serii zostanie om\u00f3wiona podstawowa konfiguracja w bierz\u0105cym dzia\u0142aniu, dobre praktyki oraz analiza b\u0142\u0119d\u00f3w.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs21.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs21\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs21_thumb.jpg\" alt=\"cs21\" width=\"512\" height=\"243\" border=\"0\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p align=\"justify\">Konfiguracj\u0119 zaczniemy od przygotowania bazy danych, tworzymy u\u017cytkownika i nadajemy uprawnienia. Najlepsza opcja to pozostawienie domy\u015blnych nazw, czyli cloud\/cloud (has\u0142o dowolne).<\/p>\n<p>W mysql wydajemy polecenia:<\/p>\n<p>CREATE USER 'root&#8217;@&#8217;%&#8217; IDENTIFIED BY 'dbpass&#8217;;<\/p>\n<p>GRANT ALL PRIVILEGES ON *.* TO 'root&#8217;@&#8217;%&#8217; WITH GRANT OPTION;<\/p>\n<p>flush privileges;<\/p>\n<p align=\"justify\">Nast\u0119pnie uruchamiamy skrypt inicjuj\u0105cy baz\u0119 danych CloudStack (\u2014deploy-as=root:dbpass) na pierwszym nodzie, na ka\u017cdym kolejnym kt\u00f3ry ma by\u0107 cz\u0119\u015bci\u0105 klastra, wydajemy to polecenie bez cz\u0119\u015bci \u2013deploy-as. CloudStack skaluje si\u0119 bez ogranicze\u0144, ju\u017c na starcie mo\u017cemy mie\u0107 wiele CloudStack Management Server. Ja zdecydowa\u0142em si\u0119 tylko na dwa aby utrzyma\u0107 HA (konfiguracja HAProxy zosta\u0142a om\u00f3wiona w poprzedniej cz\u0119\u015bci).<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs2.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs2\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs2_thumb.jpg\" alt=\"cs2\" width=\"757\" height=\"262\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Nast\u0119pnie wydajemy polecenie cloudstack-setup-management:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs3\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs3_thumb.jpg\" alt=\"cs3\" width=\"437\" height=\"71\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Teraz musimy pobra\u0107 pliki template maszyn systemowych (routery, proxy, secondary storage). Mimo, \u017ce w cz\u0119\u015bci trzeciej pisa\u0142em o u\u017cyciu NFS lokalnie, to ostatecznie u\u017cy\u0142em zasobu z mojego serwera NAS (zdecydowa\u0142a oszcz\u0119dno\u015b\u0107 miejsca). Udzia\u0142 NFS, kt\u00f3ry b\u0119dzie pe\u0142ni\u0142 rol\u0119 Secondary Storage, montujemy na chwil\u0119 lokalnie i wykonujemy skrypt jak ni\u017cej.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs4\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs4_thumb.jpg\" alt=\"cs4\" width=\"721\" height=\"91\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Pobiera on i rozpakowuje pliki tworz\u0105c przy okazji odpowiedni schemat katalog\u00f3w.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs5\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs5_thumb.jpg\" alt=\"cs5\" width=\"724\" height=\"181\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W tym momencie jeste\u015bmy gotowi do uruchomienia CloudStack Management Server (systemctl start cloudstack-management). Warto sprawdzi\u0107 w logu \/var\/log\/cloudstack\/management\/management-server.log czy wszystko jest ok i nie ma b\u0142\u0119du. Warto w tym momencie wykona\u0107 tak\u017ce zrzut bazy danych cloud i generalnie, stw\u00f3rzcie w cron skrypt kt\u00f3ry do wybranego katalogu co godzin\u0119 b\u0119dzie wykonywa\u0142 zrzut bazy cloud. W tej bazie jest wszystko, jej uszkodzenie uszkadza ca\u0142\u0105 instalacj\u0119, wielu krok\u00f3w konfiguracyjnych nie da si\u0119 cofn\u0105\u0107, cofni\u0119cie si\u0119 do bazy z przed zmian cz\u0119sto ratuje sytuacj\u0119.<\/p>\n<p align=\"justify\">Wchodzimy na adres (w moim przypadku http:\/\/cstack.piszki.lab\/client via haproxy) http:\/\/host:8080\/client logujemy si\u0119 admin\/password i naszym oczom ukazuje si\u0119 konfigurator.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs6\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs6_thumb.jpg\" alt=\"cs6\" width=\"506\" height=\"426\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Wybieramy oczywi\u015bcie opcj\u0119 zaawansowan\u0105. Podajemy nazw\u0119 pierwszej zony i adresy IP naszych serwer\u00f3w DNS. Jak zauwa\u017cycie, w konfiguratorze jest rozr\u00f3\u017cnienie na serwery DNS zewn\u0119trzne i wewn\u0119trzne, w obu przypadkach to mog\u0105 by\u0107 te same serwery lokalne.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs7.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs7\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs7_thumb.jpg\" alt=\"cs7\" width=\"501\" height=\"238\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Hyperwizorem jest oczywi\u015bcie KVM, jest to te\u017c jedyne miejsce w kt\u00f3rym mo\u017cemy w\u0142\u0105czy\u0107 lokalny storage dla VM (je\u015bli nie zdecydowali\u015bmy si\u0119 u\u017cy\u0107 Ceph opisanego w poprzedniej cz\u0119\u015bci).<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs8\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs8_thumb.jpg\" alt=\"cs8\" width=\"508\" height=\"254\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Wykorzystamy OpenvSwitch w sieci zaawansowanej z izolacj\u0105 GRE dla sieci Trunk.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs9.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs9\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs9_thumb.jpg\" alt=\"cs9\" width=\"517\" height=\"293\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Musimy powi\u0105za\u0107 ka\u017cdy typ sieci z odpowiednim interfejsem, wszystko to zosta\u0142o om\u00f3wione w cz\u0119\u015bci drugiej.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs10.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs10\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs10_thumb.jpg\" alt=\"cs10\" width=\"332\" height=\"173\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Dodajemy adresacj\u0119 publiczn\u0105 dla naszej Zony. W idealnym \u015bwiecie to powinna by\u0107 adresacja internetowa, my u\u017cyjemy jednej z lokalnych sieci a ewentualny dost\u0119p z zewn\u0105trz za\u0142atwimy p\u00f3\u017aniej za pomoc\u0105 NAT. Taka konfiguracja jest jak najbardziej wspierana (otrzymamy efekt ala VMware vSphere), jednak trzeba pami\u0119ta\u0107, \u017ce CloudStack to us\u0142uga dla dostawc\u00f3w chmury, powinna dzia\u0142a\u0107 na styku z Internetem.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs11.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs11\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs11_thumb.jpg\" alt=\"cs11\" width=\"512\" height=\"224\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Co to jest POD zosta\u0142o om\u00f3wione w cz\u0119\u015bci pierwszej, dodajemy tutaj adresacj\u0119 mgmt zarezerwowan\u0105 dla urz\u0105dze\u0144 zewn\u0119trznych (inna ni\u017c pula).<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs12.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs12\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs12_thumb.jpg\" alt=\"cs12\" width=\"501\" height=\"355\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Sieci go\u015bcia to zakres VLAN z kt\u00f3rych b\u0119d\u0105 korzysta\u0107 sieci typu VPC (om\u00f3wimy to w kolejnym artykule).<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs13.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs13\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs13_thumb.jpg\" alt=\"cs13\" width=\"498\" height=\"214\" border=\"0\" \/><\/a><\/p>\n<p>Tworzymy klaster.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs14.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs14\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs14_thumb.jpg\" alt=\"cs14\" width=\"492\" height=\"207\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W kt\u00f3rym musimy poda\u0107 pierwszy w\u0119ze\u0142 kt\u00f3ry zostanie automatycznie pod\u0142\u0105czony do CloudStack.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs15.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs15\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs15_thumb.jpg\" alt=\"cs15\" width=\"478\" height=\"279\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Dodajemy Primary Storage, tutaj udzia\u0142 CephFS om\u00f3wiony w poprzedniej cz\u0119\u015bci.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs16.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs16\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs16_thumb.jpg\" alt=\"cs16\" width=\"490\" height=\"300\" border=\"0\" \/><\/a><\/p>\n<p>Dodajemy Secondary Storage, tutaj udzia\u0142 z NAS.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs17.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs17\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs17_thumb.jpg\" alt=\"cs17\" width=\"487\" height=\"264\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Ko\u0144czymy konfiguracj\u0119, je\u015bli wszystko jest prawid\u0142owo zrobione to mo\u017cemy w\u0142\u0105czy\u0107 Zon\u0119. W\u0142\u0105czenie zony ma te konsekwencje, \u017ce zostan\u0105 automatycznie uruchomione dwie systemowe maszyny wirtualne Console Proxy VM i Secondary Storage VM. Pierwsza obs\u0142uguje konsole a druga template maszyn. Zon\u0119 mo\u017cna zawsze wy\u0142\u0105czy\u0107 w sekcji Infrstructure, je\u015bli jest w\u0142\u0105czona a maszyny systemowe nie chc\u0105 si\u0119 poprawnie uruchomi\u0107, proces ich tworzenia jest wznawiany w p\u0119tli. Je\u015bli co\u015b jest nie tak, wy\u0142\u0105czamy Zon\u0119, usuwamy problem i j\u0105 w\u0142\u0105czamy.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs19.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs19\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs19_thumb.jpg\" alt=\"cs19\" width=\"488\" height=\"380\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Warto w trakcie tworzenia konfiguracji i uruchamiania Zony w\u0142\u0105czy\u0107 podgl\u0105d management-server.log aby sprawdzi\u0107 czy nie pojawiaj\u0105 si\u0119 b\u0142\u0119dy. Poni\u017cej fragment logu kt\u00f3ry pokazuje jak wygl\u0105da komunikat prawid\u0142owo dodanego hosta. Je\u015bli co\u015b jest nie tak, tutaj zawsze jest informacja kt\u00f3ra sekcja zawiod\u0142a.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs18.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs18\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs18_thumb.jpg\" alt=\"cs18\" width=\"487\" height=\"272\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Je\u017celi wszystko jest OK, to powinni\u015bcie zobaczy\u0107 ekran jak na pierwszym obrazku w tym artykule, informacje o pojemno\u015bci dysk\u00f3w pojawi\u0105 si\u0119 gdy poprawnie uruchomi si\u0119 i zg\u0142osi maszyna Secondary Storage VM. Kolejne hosty klastra dodajemy r\u0119cznie w sekcji Infrstructure \u2013&gt; Hosts:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs20.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;\" title=\"cs20\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2019\/01\/cs20_thumb.jpg\" alt=\"cs20\" width=\"479\" height=\"114\" border=\"0\" \/><\/a><\/p>\n<div style='text-align:left' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>W poprzednich trzech cz\u0119\u015bciach om\u00f3wili\u015bmy Apache CloudStack, jego terminologi\u0119 oraz przygotowali\u015bmy w\u0119ze\u0142 (CentOS 7) do pe\u0142nienia wielu r\u00f3l. W tym artykule skupimy si\u0119 na uruchomieniu CloudStack Management Server oraz zainicjowaniu pierwszej Zony. Efektem ko\u0144cowym b\u0119dzie w pe\u0142ni funkcjonalny klaster CloudStack &hellip; <a href=\"https:\/\/vm.piszki.pl\/?p=3597\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":3343,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","footnotes":""},"categories":[6,45],"tags":[103,116,108,117],"class_list":["post-3597","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lab","category-poradniki","tag-ceph","tag-cloudstack","tag-kvm","tag-openvswitch"],"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":4,"sum_votes":20},"_links":{"self":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/3597"}],"collection":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3597"}],"version-history":[{"count":6,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/3597\/revisions"}],"predecessor-version":[{"id":3603,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/3597\/revisions\/3603"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/media\/3343"}],"wp:attachment":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}