{"id":1802,"date":"2015-01-20T08:13:50","date_gmt":"2015-01-20T07:13:50","guid":{"rendered":"http:\/\/vm.piszki.pl\/?p=1802"},"modified":"2015-01-20T08:48:32","modified_gmt":"2015-01-20T07:48:32","slug":"horizon-workspace-portal-2-1-balansowanie-ruchem-za-pomoca-big-ip-f5","status":"publish","type":"post","link":"https:\/\/vm.piszki.pl\/?p=1802","title":{"rendered":"Horizon Workspace Portal 2.1 &ndash; balansowanie ruchem za pomoc\u0105 BIG-IP F5"},"content":{"rendered":"<p align=\"justify\">20Min\u0119\u0142o sporo czasu od premiery Horizon Workspace 2.1, najwy\u017cszy czas zmierzy\u0107 si\u0119 z upgrade 2.0 do 2.1. Nie b\u0119d\u0119 ukrywa\u0142, \u017ce pierwszy raz wyj\u015bcie nowej wersji jakiego\u015b produktu wywo\u0142a\u0142o u mnie objawy podobne do szoku. Horizon Workspace jest bardzo skomplikowanym produktem, jego opanowanie wymaga ogromnej porcji czasu, to samo dotyczy implementacji. Proces absorpcji nowej technologii musi trwa\u0107. A tutaj z wersji na wersj\u0119 zmiany s\u0105 coraz wi\u0119ksze. W trakcie migracji z 1.8 do 2.0 stracili\u015bmy system zarz\u0105dzania plikami, a z wersji 2.0 do 2.1 nast\u0105pi\u0142o ca\u0142kowite przemodelowanie \u015brodowiska. Jedyna \u015bcie\u017cka migracji to postawienie nowej instalacji 2.1 i migracja ustawie\u0144 z 2.0! A wi\u0119c tak naprawd\u0119 wszystko zaczynamy od pocz\u0105tku! Ja ostatecznie uzna\u0142em, \u017ce nie b\u0119d\u0119 wykonywa\u0142 migracji ustawie\u0144 tylko postawi\u0119 now\u0105 wersj\u0119 2.1 i skonfiguruj\u0119 wszystko od pocz\u0105tku (wcze\u015bniejsze upgrade wywo\u0142ywa\u0142y sporo problem\u00f3w). Zmiany wewn\u0105trz Horizon Workspace nie s\u0105 w ko\u0144cu tak du\u017ce i da si\u0119 to zrobi\u0107 w miar\u0119 rozs\u0105dnym czasie. Na ko\u0144cu po prostu podmieni\u0119 adres IP Workspace FQDN ze starej instalacji na now\u0105 (wszystkie klienty desktopowe pod\u0142\u0105cz\u0105 si\u0119 do nowej wersji). Jako wst\u0119p do tego postu prosz\u0119 przeczyta\u0107 wcze\u015bniejsze dwa o balansowaniu ruchem do gateway-va i connector-va w wersji 2.0.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp6\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp6_thumb.png\" alt=\"ughp6\" width=\"412\" height=\"189\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Autorem obrazka jest Peter Bjork.<\/p>\n<p><!--more--><\/p>\n<p align=\"justify\">Instalacja i wst\u0119pna <a href=\"http:\/\/www.vladan.fr\/how-to-install-vmware-horizon-workspace-portal-2-1\/\">konfiguracja<\/a> Horizon Workspace Portal 2.1 nie odbiega mocno od wcze\u015bniejszych wersji i nie b\u0119dzie tematem tego wpisu. Zanim przyst\u0105picie do konfiguracji balansowania ruchem, postarajcie si\u0119 jak najwi\u0119cej skonfigurowa\u0107 w samej maszynie\u00a0 (np. proxy, pliki klient\u00f3w desktopowych, ewentualny upgrade dla bash shellshock). Na tym etapie powinni\u015bmy te\u017c zrobi\u0107 konfiguracj\u0119 dost\u0119pow\u0105 do portalu, czyli ustawi\u0107 Workspace FQDN:<\/p>\n<p align=\"justify\"><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp5\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp5_thumb.png\" alt=\"ughp5\" width=\"402\" height=\"131\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Je\u015bli ten adres jest adresem internetowym, rozg\u0142aszanym lokalnie poprzez NAT to na tym etapie musimy te\u017c skonfigurowa\u0107 nasz\u0105 F5 (przechodzicie do odpowiedniej cz\u0119\u015bci tego postu). Je\u015bli jest to adres wewn\u0119trzny (lub w naszym DNS mamy \u201cfa\u0142szyw\u0105\u201d zon\u0119 zewn\u0119trzn\u0105) to wystarczy, \u017ce przygotujemy odpowiedni rekord A\/PTR w naszym DNS i ustawimy Workspace FQDN (i czytamy dalej). Samo wygenerowanie kolejnych instancji <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-balansowanie-ruchem-za-pomoc%c4%85-big-ip-f5\/\">odbiega<\/a> od tego co by\u0142o do tej pory, robimy po prostu klona nowej maszyny. Od razu nasuwa si\u0119 pytanie, co w przypadku gdy kto\u015b u\u017cywa wewn\u0119trznej bazy danych? Taka konfiguracja jest <a href=\"http:\/\/blogs.vmware.com\/horizontech\/2014\/11\/workspace-portal-2-1-ha-cluster-using-internal-db.html\">wspierana<\/a>, kolejne nody vPostgres pe\u0142ni\u0105 funkcj\u0119 SLAVE. Ja jednak od zawsze u\u017cywam <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-wysokodost%c4%99pny-klaster-bazodanowy-oparty-o-vpostgres\/\">zewn\u0119trznej<\/a> bazy danych. Zaczynamy, na pocz\u0105tek wykonujemy klona pierwszej maszyny Horizon Workspace Portal 2.1:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ugho1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ugho1\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ugho1_thumb.png\" alt=\"ugho1\" width=\"434\" height=\"255\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Bardzo wa\u017cne jest, aby w trakcie tej operacji, w zak\u0142adce \u201cvApp properties\u201d, poda\u0107 parametry nowej maszyny, a wi\u0119c nowy adres IP i now\u0105 nazw\u0119 FQDN (nie zapomnijcie zrobi\u0107 rekordu w serwerze DNS). Uruchamiamy sklonowan\u0105 maszyn\u0119 i spokojnie czekamy, pami\u0119tajmy tylko o jednym, je\u015bli zmieniali\u015bmy stref\u0119 czasow\u0105 na jednym nodzie, sprawd\u017amy czy jest taka sama na drugim (musza by\u0107 sp\u00f3jne). Pami\u0119tajmy te\u017c, \u017ce tak sklonowana maszyne jest jednocze\u015bnie now\u0105 instancj\u0105 connectora (kiedy\u015b connector-va) i wymaga osobnego skonfigurowania (przede wszystkim dodania do domeny AD):<\/p>\n<p align=\"justify\"><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp2\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp2_thumb.png\" alt=\"ughp2\" width=\"277\" height=\"143\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp3\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp3_thumb.png\" alt=\"ughp3\" width=\"323\" height=\"190\" border=\"0\" \/><\/a><\/p>\n<p>Po dodaniu do domeny AD i wpisaniu has\u0142a w sekcji \u201cDirectory\u201d wszystko wraca do normy (reszta ustawie\u0144 jest pobierana z pierwszego noda).<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp4\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp4_thumb.png\" alt=\"ughp4\" width=\"405\" height=\"358\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Bardzo du\u017co zmian nast\u0105pi\u0142o w sekcji \u201cIdentity Providers\u201d, nale\u017cy pami\u0119ta\u0107, \u017ce wszystkie klony pierwszej maszyny b\u0119d\u0105 mia\u0142y ID=1, domy\u015blnie jest w\u0142\u0105czona tylko autentykacja has\u0142em. Mo\u017cemy w\u0142\u0105czy\u0107 autentykacj\u0119 typu Kerberos na g\u0142\u00f3wnych klonach ale wtedy w \u201cNetwork Ranges\u201d b\u0119dziemy musieli u\u017cywa\u0107 ALL RANGES (dla obydwu typ\u00f3w autentykacji). Przy prawid\u0142owo ustawionej <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-drobne-problemy-od-kt%c3%b3rych-mo%c5%bcna-osiwie%c4%87\/\">sekwencji<\/a> autentykacji b\u0119dzie to dzia\u0142a\u0107 OK. Je\u015bli jednak mamy du\u017co klient\u00f3w dzia\u0142aj\u0105cych <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-aplikacje-typu-thinapp-na-komputerze-nie-b%c4%99d%c4%85cym-cz%c5%82onkiem-ad\/\">poza<\/a> domen\u0105 AD (lub wiele domen AD), lepiej jest wygenerowa\u0107 osobne instancje coonector-va i po staremu pos\u0142u\u017cy\u0107 si\u0119 <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-drobne-problemy-od-kt%c3%b3rych-mo%c5%bcna-osiwie%c4%87\/\">zakresami<\/a> sieci (w takim przypadku <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-big-ip-f5-i-wiele-instancji-connector-va\/\">obowi\u0105zuje<\/a> ta sama konfiguracja F5 co kiedy\u015b). Tak\u0105 maszyn\u0119 instalujemy zaznaczaj\u0105c opcj\u0119 \u201cconnector only\u201d w trakcie wgrywania pliku OVA Horizon Workspace Portal.<\/p>\n<p align=\"justify\">Przechodzimy do konfigurowania F5, pos\u0142u\u017cymy si\u0119 tymi samymi komponentami co przy poprzedniej konfiguracji. Na pocz\u0105tek profil HTTP w w\u0142\u0105czonym X-Forwarded-For:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp7.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp7\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp7_thumb.png\" alt=\"ughp7\" width=\"396\" height=\"590\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Teraz tworzymy profil persistence (wyd\u0142u\u017camy czas oczekiwania sesji SSL):<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp8\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp8_thumb.png\" alt=\"ughp8\" width=\"395\" height=\"344\" border=\"0\" \/><\/a><\/p>\n<p>Tworzymy pul\u0119, monitor to https_head_f5:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp9.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp9\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp9_thumb.png\" alt=\"ughp9\" width=\"390\" height=\"289\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp10.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp10\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp10_thumb.png\" alt=\"ughp10\" width=\"386\" height=\"291\" border=\"0\" \/><\/a><\/p>\n<p>Na koniec tworzymy wirtualny serwer (Source Adress Translation = Auto Map, jak wida\u0107, u\u017cywamy profilu SSL PULAB (nasz wildcard) dla klient\u00f3w, po\u0142\u0105czenie do nod\u00f3w jest szyfrowane ponownie:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp11.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp11\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp11_thumb.png\" alt=\"ughp11\" width=\"389\" height=\"576\" border=\"0\" \/><\/a><\/p>\n<p>Pod\u0142\u0105czamy nasz\u0105 pul\u0119 nod\u00f3w, profile i polityk\u0119 bezpiecze\u0144stwa (dok\u0142adnie t\u0119 sam\u0105 z poprzedniej instalacji):<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp12.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp12\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp12_thumb.png\" alt=\"ughp12\" width=\"382\" height=\"309\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">I to wszystko, oczywi\u015bcie przy wi\u0119kszych instalacjach mo\u017cemy w\u0142\u0105czy\u0107 wszystkie profile optymalizuj\u0105ce ruch sieciowy. Nowa metoda generowania kolejnych maszyn poprzez tworzenie klon\u00f3w faktycznie upraszcza ca\u0142y proces, ka\u017cdy kolejny klon niesie wszystkie w sobie wszystkie us\u0142ugi. W starej metodzie ka\u017cd\u0105 us\u0142ug\u0119, np. service-va nale\u017ca\u0142o balansowa\u0107 osobno.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp13.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"ughp13\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/11\/ughp13_thumb.png\" alt=\"ughp13\" width=\"175\" height=\"85\" border=\"0\" \/><\/a><\/p>\n<div style='text-align:left' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>20Min\u0119\u0142o sporo czasu od premiery Horizon Workspace 2.1, najwy\u017cszy czas zmierzy\u0107 si\u0119 z upgrade 2.0 do 2.1. Nie b\u0119d\u0119 ukrywa\u0142, \u017ce pierwszy raz wyj\u015bcie nowej wersji jakiego\u015b produktu wywo\u0142a\u0142o u mnie objawy podobne do szoku. Horizon Workspace jest bardzo skomplikowanym &hellip; <a href=\"https:\/\/vm.piszki.pl\/?p=1802\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1525,"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":[45],"tags":[33,53],"class_list":["post-1802","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-poradniki","tag-big-ip","tag-horizon-workspace-portal"],"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":0,"sum_votes":0},"_links":{"self":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/1802"}],"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=1802"}],"version-history":[{"count":3,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/1802\/revisions"}],"predecessor-version":[{"id":1886,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/1802\/revisions\/1886"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/media\/1525"}],"wp:attachment":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}