Red Hat Virtualization
 
Red Hat Virtualization (RHV) jest platformą do wirtualizacji o otwartym kodzie (ang. Open Source), nad której stabilnością i bezpieczeństwem czuwa firma Red Hat. Jej bazą jest system RHEL (Red Hat Enterprise Linux) oraz technologia KVM (Kernel-based Virtual Machine). Jest ukierunkowana na obsługę systemów z rodziny GNU/Linux oraz Microsoft Windows. Wszystkie funkcje Red Hat Virtualization dostępne są w każdej subskrypcji i nie wymagają żadnych dodatkowych opłat czy licencji przy ich aktywacji.
 
 
 
Dużą zaletą interfejsu Red Hat Virtualization jest wygodna obsługa bardzo dużej ilości maszyn wirtualnych. Da się stosować specjalne filtry, które zawężają widok, a nawet oznaczyć kilka z nich by je szybko wyłączyć lub włączyć.
 
Bardzo często na bazie Red Hat Virtualization stawiana jest infrastruktura do obsługi: Red Hat OpenStack Platform, Red Hat OpenShift Platform oraz Red Hat Ceph Storage. Uruchamia się w niej też systemy do automatyzacji i scentralizowanego zarządzania: Red Hat Satellite, Red Hat Ansible Automation i Red Hat CloudForms.

Sprzedajemy produkty Red Hat na polskim rynku. Za naszym pośrednictwem można zakupić Red Hat Virtualization. Jesteśmy także w stanie pomóc w jego wdrożeniu i obsłudze. Zainteresowanych zapraszamy do This email address is being protected from spambots. You need JavaScript enabled to view it..

Red Hat Virtualization posiada wbudowany portal samoobsługowy dla użytkowników. W zależności od nadanych im uprawnień, mogą oni w nim samodzielnie tworzyć, usuwać, monitorować i modyfikować swoje maszyny wirtualne. Da się w nim tworzyć migawki (ang. snapshots) i przywracać poprzednie wersje VM. Bezpośredni dostęp do konsoli czy interfejsu VM możliwy jest poprzez VNC, SPICE lub WebUI na bazie HTML5. 
 
  
Na bazie udostępnionych im szablonów i zasobów, mogą oni powoływać do życia nowe VM. Tworzenie nowych VM oraz modyfikacja ich zasobów możliwa jest w ramach przydzielonych ilości procesora, pamięci i przestrzeni dyskowej. Przydziały te mogą dotyczyć zarówno użytkowników, jak i być współdzielone w ramach zespołu.
 
  
Portal samoobsługowy, jak i portal administracyjny dostępny jest w ramach Red Hat Virtualization Manager (RHV-M).
RHV-M zajmuje się scentralizowaną obsługą i zarządzaniem wieloma klastrami, które składać się mogą z wielu hostów Red Hat Virtualization Host (RHV-H). RHV-M obsługuje RBAC, integracje z Microsoft AD (Active Directory), LDAP i Red Hat IdM (Identity Management) oraz posiada API do integracji z zewnętrznymi systemami. RHV-M udostępnia także narzędzia do importu maszyn wirtualnych ze środowiska VMware vSphere.

Oprócz obsługi standardowych protokołów, jak NFS, iSCSI czy Fiber Channel (FC/FCoE), dostępna jest także natywna obsługa dla Red Hat Gluster Storage (RHGS). W ten sposób, Red Hat Virtualization może bezpośrednio korzystać z GlusterFS, co przekłada się na bardzo dużą wydajność i wysoką dostępność tej przestrzeni dyskowej.
 
 
Zapis i odczyt plików z klastra RHGS realizowany jest na podstawie wyniku funkcji haszującej (ang. hash function), którą jest EHA (Elastic Hashing Algorithm). Umożliwia ona równoległy zapis, rozkład obciążenia przy zapisie i odczycie oraz uzyskiwanie dostępu do różnych plików z wielu węzłów równolegle. Nie są dzięki temu potrzebne żadne metadane z informacjami o lokalizacji poszczególnych plików czy ich fragmentów. Ma to szczególne znaczenia przy małych plikach, gdzie wiele rozwiązań nie radzi sobie ze względu na bliski stosunek metadanych do danych. Ponadto, niweluje to pojedynczy punkt awarii czy wąskie gardło, jakim jest dostęp do metadanych.
 
Dzięki integracji z Red Hat OpenStack Platform, możliwe jest korzystanie z obrazów VM i plików ISO dostępnych w usłudze Glance oraz wykorzystanie przestrzeni blokowej usługi Cinder do obsługi dysków i migawek. W ten sposób, te same magazyny danych mogą być stosowane w Red Hat OpenStack Platform i Red Hat Virtualization. Dzięki CinderLib, RHV może także bezpośrednio korzystać z Red Hat Ceph Storage oraz ponad 80 innych dostawców przestrzeni dyskowej, kompatybilnych z usługą Cinder platformy Red Hat OpenStack.

Red Hat Virtualization obsługuje format raw dla dysków Thick oraz qcow2 dla dysków Thin. Dla dysków Thin dostępna jest funkcja zwalniania nieużywanych bloków. Obsługuje migawki (ang. snapshots), możliowść wypróbowania migawki przed jej przywróceniem oraz profile QoS dla dysków. Dostępna jest też możliwość współdzielenia dysku przez wiele maszyn wirtualnych, niemniej należy pamiętać, by zastosować na nim odpowiedni system plików, jak GFS2 (Global File System 2) dostępy w ramach Red Hat Resilient Storage.

Red Hat Virtualization obsługuje także funkcję SCSI-3 persistent reservations (SCSI-3 PR). Służy ona m.in. do rezerwacji i zwalniania dostępu do zasobu, w trakcie jego współdzielenia przez wiele systemów. Funkcja ta jest wymagana przez funkcjonalność Microsoft WSFC (Windows Server Failover Clusters), która dostępna jest od Microsoft Windows Server 2016. Dzięki niej, da się zapewnić bardzo wysoką dostępność dla wielu krytycznych usług i aplikacji czy bazy Microsoft SQL (MSSQL). Kiedy jeden z serwerów klastra ulegnie awarii, drugi może od razu przejąć zasób z aktualnymi danymi i kontynuować obsługę zapytań.

Dostępna jest także możliwość migracji dysków maszyn wirtualnych bez ich wyłączania, pomiędzy różnymi magazynami danych (ang. storage live migration).

Virtio jest otwartym interfejsem, który umożliwia maszynom wirtualnym zestandaryzowany dostęp do m.in. urządzeń blokowych i sieciowych. Do komunikacji sieciowej wykorzystywany jest virtio-net/vhost-net. Komunikacja sieciowa realizowana jest bezpośrednio pomiędzy jądrem VM i jądrem hosta. Pomija ona proces QEMU. Komunikacja odbywa się poprzez specjalną kolejkę RX/TX pomiędzy modułem jądra maszyny wirtualnej virtio_net i modułem jądra hosta vhost_net. Domyślnie działa tylko jedna taka kolejka, ale dzięki MQ (Multi-Queue) można dostosować ich ilość do ilości vCPU. W ten sposób możliwa jest równoległa transmisja i odbiór danych z użyciem wielu kolejek.

Na poziomie jądra hosta można tworzyć przełączniki, które łączą ze sobą i z siecią zewnętrzną maszyny wirtualne. Przełączniki te obsługują pojedyncze i zagregowane połączenia z użyciem LACP, trybu Active/Passive lub Round Robin. Obsługują funkcje VLAN, Trunk, przekierowywanie kopii ruchu na inny port (a la Port Mirroring), limitowania i gwarancji pasma, dynamicznego dostępu do pasma na bazie wag, różnej wielkości MTU, Jumbo Frames, IPv4 oraz IPv6, a także mechanizmy filtrowania i bezpieczeństwa, które zabezpieczają przed podszywaniem się na poziomie L2 i L3 czy umożliwiają izolację VM i jej komunikację tylko poprzez bramę domyślną (a la Private VLAN). Obsługują one również LLDP (Link Layer Discovery Protocol), dzięki któremu w interfejsie zarządzania widać opis portu i nazwę przełącznika, do którego podłączony jest dany interfejs hosta RHV-H.
 
 
Na bazie interfejsów da się tworzyć sieci logiczne o różnym zastosowaniu, jak m.in. obsługa ruchu VM, ruchu do konsoli VM, migracji na żywo VM, zarządzania czy ruchu do pamięci masowej. Sieci logiczne można przypisywać ręcznie do interfejsów fizycznych, niemniej jest to żmudne, podatne na pomyłki i mało wygodne, gdyż trzeba to powtórzyć ręcznie na wszystkich hostach. Aby ułatwić i zautomatyzować konfigurację sieci, Red Hat Virtualization wprowadziło obsługę etykiet (ang. Network Labels). W ten sposób, po dodaniu kolejnej podsieci wystarczy nadać jej stosowną etykietę, która sprawi, że zostanie ona automatycznie dodana na wszystkich hosta do odpowiednich interfejsów. Sprawia to, że konfiguracja sieci jest bardzo prosta, szybka i wygodna.

Dostępna jest też możliwość skorzystania z OVS (Open vSwitch) czy nawet jego podłączenia do OVN (Open Virtual Network). Funkcje te działają i można z nich korzystać w RHV, niemniej wciąż są w Tech Preview. Dlatego napisaliśmy o nich więcej przy Red Hat OpenStack Platform, gdzie są w pełni wspierane i natywnie obsługiwane.
 
Red Hat OpenStack Platform jest najczęściej wykorzystywany do obsługi dużej ilości aplikacji chmurowych oraz urządzeń sieciowych NFV (Network Function Virtualization), gdzie budowa SDN (Software-Defined Network) na bazie OVS i OVN jest niezbędna. Za to RHV umożliwia integrację, podłączenie oraz wykorzystanie sieci na bazie OVS/OVN, które definiowane są w ramach usługi Neutron platformy Red Hat OpenStack. Sprawia to, że możemy wygodnie i w zestandaryzowany sposób obsługiwać zarówno aplikacje starego typu, które wymagają typowego środowiska do wirtualizacji, jak i te nowe, które przystosowane są do działania na platformach chmurowych.

Urządzenia VNF, to wirtualne systemy czy urządzenia sieciowe, zajmujące się m.in. rozkładem obciążenia, obsługą VPN, wykrywaniem zagrożeń w ruchu, analizą i filtrowaniem ruchu, kierowaniem ruchu czy jego akceleracją.

W platformie Red Hat Virtualization urządzenia NFV są rzadziej stosowane niż w Red Hat OpenStack Platform. Kiedy są, to najczęściej do łączenia VM z urządzeniami NFV stosuje się standardowy przełącznik, natomiast do połączenia urządzenia NFV z siecią zewnętrzną, dedykowany tylko dla niego interfejs o bezpośrednim dostępie lub SR-IOV.

Dzięki SR-IOV (Single-Root Input/Output Virtualization) możliwe jest oddanie maszynie wirtualnej bezpośredniego dostępu do urządzeń w gnieździe PCI Express (PCIe), gdzie między innymi obsługiwane są karty sieciowe. Bezpośredni, czyli taki, który pomija całkiem wirtualny przełącznik na poziomie platformy do wirtualizacji. Karta sieciowa z obsługą SR-IOV może być współużytkowana przez wiele maszyn wirtualnych. Oprócz fizycznych kart sieciowych, które umożliwiają przyłączenie do sieci zewnętrznej, posiada ona wiele wirtualnych kart sieciowych, nazywanych VF (Virtual Function). Te VF są przypisywane VM za pomocą VFIO (Virtual Function I/O).
 
 
Wewnątrz karty sieciowej z obsługą SR-IOV działa przełącznik do którego doprowadzone są wszystkie jej fizyczne i wirtualne porty. Należy pamiętać, że wydajność oraz funkcjonalność SR-IOV może być w dużej mierze zależna od użytych kart sieciowych. W wykorzystaniu SR-IOV trzeba o wiele bardziej zwracać uwagę na kompatybilność sterowników przy aktualizacji oraz zgodność kart sieciowych hostów przy migracji VM.

Red Hat Virtualization umożliwia także bardzo dobrą integrację z Cisco ACI (Application Centric Infrastructure) oraz obsługuje Cisco VM-FEX (Virtual Machine Fabric Extender). Dzięki VM-FEX, każda maszyna wirtualna ma swój dedykowany interfejs na fizycznym przełączniku Cisco Nexus lub Cisco Fabric Interconnect, do którego podłączony jest host. Na tym przełączniku jest też terminowany i obsługiwany cały ruch z maszyny wirtualnej. Posiada ona do niego bezpośredni i bardzo szybki dostęp. Wyciągnięcie kart sieciowych maszyn wirtualnych bezpośrednio do przełącznika fizycznego umożliwia eliminację przełączników na poziomie jądra i oprogramowania, co poprawia wydajność dostępu do sieci oraz ujednolica zarządzanie siecią w ramach całego środowiska.

Sprzedajemy produkty Red Hat na polskim rynku. Za naszym pośrednictwem można zakupić Red Hat Virtualization. Jesteśmy także w stanie pomóc w jego wdrożeniu i obsłudze. Zainteresowanych zapraszamy do This email address is being protected from spambots. You need JavaScript enabled to view it..

Mechanizmy QoS dla dysków, sieci, procesora i pamięci zostały oparty o cgroups (control groups) jądra systemu Linux. Organizują one procesy w hierarchii drzewa, w ramach którego są dystrybuowane zasoby. Mechanizmy te bazują na czterech kategoriach obsługi zasobów:
  • weights - węzeł nadrzędny udostępnia fragment zasobów, który jest proporcjonalny do stosunku wagi względem sumy wag wszystkich węzłów podrzędnych. Jest to bardzo dynamiczne, gdyż brane pod uwagę są tylko te fragmenty drzewa podrzędnego, które korzystają w danej chwili z tych zasobów.
  • limits - węzeł podrzędny może konsumować zasoby tylko do wskazanego limitu. Suma przydzielonych limitów może przekraczać dostępne zasoby.
  • protections - węzły podrzędne są chronione w ramach zdefiniowanej ilości zasobów na tyle, na ile są one w obszarze zasobów chronionych węzła nadrzędnego. O ile ilość chroniony zasobów może przekraczać to co posiada węzeł nadrzędny, to ochrona będzie realizowana tylko w ramach tego co on posiada.
  • allocations - daje możliwość alokacji węzłom podrzędnych dostępnych zasobów, jakie muszą istnieć. Oznacza to, że węzeł nadrzędny nie może przydzielić węzłom podrzędnym większej ilości zasobów niż sam posiada.
Wszystkie maszyny wirtualne tworzone są w poddrzewie machine.slice. Kontrolery zasobów i zasoby mogą być dystrybuowane w dół drzewa, tylko jeżeli są dostępne w węźle nadrzędnym.
 
Stosowane są też limity i kształtowanie ruchu na bazie mechanizmu Traffic Control dla systemów GNU/Linux. Do tego celu Red Hat Virtualization wykorzystuje m.in. HFSC (Hierarchical Fair Service Curve), dzięki czemu jest w stanie zagwarantować zarówno odpowiednie pasmo, jak i niskie opóźnienia.

Daje to możliwość bardzo granularnej konfiguracji mechanizmów zapewniających odpowiednią jakość dla działających usług w ramach klastra. Dla magazynów danych da się ustawić w obu kierunkach limity zarówno przepustowości, jak i IOPS. Dla każdej sieci logicznej da się ustawić gwarantowany, maksymalny lub wagowy dostęp do pasma współdzielonego interfejsu. Dodatkowo, dla każdej VM można ustawić funkcje limitowania i kształtowania ruchu.
 
KVM (Kernel-based Virtual Machine) jest rozwijaną od 2006 roku technologią do wirtualizacji. W roku 2007 roku została dołączona do jądra Linux. KVM umożliwia uruchamianie wielu wirtualnych maszyn (VM - Virtual Machine) z różnymi systemami operacyjnymi, na bazie jednego systemu, nazywanego hiperwizorem lub hostem. KVM działa w przestrzeni jądra hosta. KVM jest stosowany w Red Hat Virtualization, Red Hat OpenStack Platform i CNV (Container Native Virtualization) w Red Hat OpenShift Platform.
 

Każdy z VM uruchamiana jest w ramach oddzielnego procesu QEMU. Stąd w systemie będzie tyle procesów QEMU, ile działa maszyn wirtualnych. QEMU zajmuje się emulacją różnych komponentów sprzętowych oraz alokacją i prezentacją zasobów dla systemu gościa (VM). QEMU udostępnia niskopoziomowy interfejs CLI do obsługi oraz zarządzania VM na poziomie KVM i działa w przestrzeni użytkownika hosta.

QEMU jest potencjalnym wektorem ataku, jako że emuluje urządzenia udostępniane wewnątrz VM. Zatem, każda podatność w tym obszarze, jest potencjalną możliwość przejęcia kontroli na procesem QEMU, który ma dostęp do przestrzeni użytkownika hosta. Z tego poziomu, możliwe jest wykonanie ataku na proces QEMU innego gościa lub nawet bezpośrednio na jądro hosta. Dlatego tak ważne jest uruchamianie procesu QEMU z poziomu zwykłego, nieuprzywilejowanego użytkownika. Aby zapewnić izolację VM, musielibyśmy każdą z nich uruchamiać w przestrzeni innego użytkownika, stosując w tym przypadku mało praktyczny mechanizm DAC (Discretionary Access Control). Stąd do zarządzania VM nie powinno się stosować bezpośrednio poleceń QEMU.

Do izolacji maszyn wirtualnych i ich danych stosowany jest SELinux (Security Enhanced Linux) i sVirt. Każda VM jest oddzielnym procesem na poziomie hiperwizora, stąd SELinux może im nadawać różne etykiety i w ten sposób zapewniać pełną izolację, która jest monitorowana i egzekwowana bezpośrednio przez jądro. Do tego celu stosowany jest mechanizm MAC (Mandatory Access Control).

sVirt rozszerzenia ochronę SELinux do wnętrza VM. Nie ma znaczenia, czy wewnątrz działa system GNU/Linux czy Microsoft Windows. sVirt dynamicznie nakłada etykiety na wszystkie procesy wewnątrz VM, zgodnie z etykietą jej obrazu. W ten sposób, żaden z procesów nie wyjdzie poza granicę swojej VM czy tego do czego ma ona dostęp.

Na poziomie jądra hosta stosowany jest też Secure Computing Mode (seccomp), który limituje możliwe wywołania systemowe, jakie kierowane są do jądra z poziomu QEMU, ograniczając w ten sposób możliwe wektory ataku.
 

Do zarządzania VM wykorzystywany jest libvirt, który zamienia opisaną za pomocą XML konfigurację na odpowiednie wywołania QEMU oraz integruje ze sobą wszystkie funkcje, jak m.in. limitowanie i kontrola zasobów z cgroups, MAC z SELinux i sVirt, zarządzanie blokadami dysków czy audytowaniem wszystkich operacji. Dzięki libvirt zarządzanie jest bardzo proste i wygodne, a całe środowisko do wirtualizacji o wiele bezpieczniejsze.

W ramach klastra można aktywować różne funkcje automatycznego zarządzanie zasobami i rozkładu obciążenia. RHV-M monitoruje wykorzystanie zasobów poszczególnych hostów oraz VM, a następnie na tej podstawie stara się określić najlepszego hosta dla każdej maszyny wirtualnej. Weryfikuje on także okresowo stan klastra względem zgodności z narzuconą polityką wykorzystania zasobów i w przypadku przekroczenia zdefiniowanych progów, może automatycznie przenieść VM w inne miejsce. Jeżeli zapotrzebowanie na zasoby klastra znacząco zmaleje, RHV może przenieść działające VM z niepotrzebnych w danej chwili hostów i je wyłączyć. Kiedy się to zmieni, może je włączyć z powrotem. Pozwala to znacząco zmniejszyć zużycie energii w ramach klastra.
 
 
Jeżeli chcemy to ograniczyć czy kontrolować, mamy możliwość przypisania VM do konkretnego hosta czy grupy hostów. Możemy mieć także wpływ na to, aby dane VM działały na tym samym hoście lub różnych hostach.

Migracja VM realizowana jest bez ich wyłączania (ang. VM Live Migration). Jest to operacja bardzo obciążająca sieć, gdyż cała zawartość pamięci oraz stanu VM musi zostać przeniesiona na innego hosta
. Po tym, jak pamięć i stan VM znajdzie się na nowym hoście, jest ona wstrzymywana na ułamek sekundy, w trakcie którego kopiowane są ostatnie różnice, po czym jest aktywowana już na nowym hoście. Migracje VM mogą być też robione ręcznie.

Red Hat Virtualization obsługuje także funkcje HA (High Availability) dla maszyn wirtualnych. RHV-M monitoruje VM i w razie jej awarii czy zniknięcia hosta na którym ona działa, restartuje ją na działającym hoście klastra. Działanie systemu VM może być monitorowana z wykorzystaniem urządzenia typu watchdog, a hosta z użyciem sieci oraz magazynu danych (dzierżawa dysku per VM).

Istnieje też możliwość rozciągnięcia klastra na dwie lokalizacje z obsługą DR (Disaster Recovery). Na poziomie Red Hat Virtualization można wykorzystać odpowiednie reguły, które będą utrzymywać VM w lokalizacji podstawowej, a w przypadku jej awarii, zostaną one uruchomione w lokalizacji zapasowej.

 
Wymaga to synchronicznej replikacji danych pomiędzy lokalizacjami. Jeżeli replikacja odbywa się asynchronicznie lub okresowo, to do uruchomienia VM w lokalizacji zapasowej możemy wykorzystać Red Hat Ansible Automation. Więcej na ten temat znajduje się w Red Hat Disaster Recovery.

W celu poprawy wydajności, możliwe jest przypisywanie (ang. pinning) VM do procesorów i węzłów NUMA oraz udzielanie bezpośredniego dostępu do szyny PCI (ang. PCI passthrough) i gniazda USB (ang. USB passthrough).

Najlepiej, kiedy VM przydzielane są zasoby dostępne w ramach jednego węzła NUMA. Dla dużych VM nie zawsze jest to możliwe. Na węzeł NUMA składa się grupa rdzeni procesora wraz z ich lokalną pamięcią RAM. Dodatkowo, kiedy VM generuje dużą ilość I/O do pamięci masowej lub sieci, warto by korzystała z węzłów NUMA powiązanych z gniazdem procesora, które ma bezpośrednie połączenie z szyną PCI Express, na której działają te urządzeń. Aby to spełnić, RHV umożliwia powiązanie VM z określonym węzłem lub zbiorem węzłów NUMA.
 

Red Hat Virtualization obsługuje trzy metody alokacji pamięci z węzłów NUMA, jakie można jawnie wskazać dla VM:
  • strict, które alokuje pamięć w ramach tego samego węzła NUMA co przydzielone procesory. Jeżeli nie jest to możliwe, alokacja pamięci kończy się niepowodzeniem.
  • interleave, które alokuje pamięć w ramach dostępnego zbioru węzłów NUMA z wykorzystaniem algorytmu Round Robin pomiędzy węzłami NUMA.
  • preferred, które stara się alokować pamięć z preferowanego węzła NUMA. Jeżeli nie jest to możliwe, to alokuje z innych węzłów NUMA.

Włączyć można także automatyczne balansowanie NUMA. Polega ono na uruchamianiu procesów najbliżej obszarów przydzielonej pamięci oraz przenoszeniu danych pamięci bliżej procesów, które z nich korzystają.

Platforma Red Hat Virtualization umożliwia też dodawanie pamięci i vCPU do działających VM, a także ich usuwanie do ilości z jaką VM została włączona. Da się też dodawać i usuwać z włączonej VM dyski czy karty sieciowe. Oczywiście wszystko to musi też wspierać jej system operacyjny.


Sprzedajemy produkty Red Hat na polskim rynku. Za naszym pośrednictwem można zakupić Red Hat Virtualization. Jesteśmy także w stanie pomóc w jego wdrożeniu i obsłudze. Zainteresowanych zapraszamy do This email address is being protected from spambots. You need JavaScript enabled to view it..

Nie są to wszystkie możliwości Red Hat Virtualization. Z ciekawszych warto wymienić bardzo dobrą obsługę NVIDIA vGPU, PMEM, NVMe-oF oraz możliwość wykorzystania szablonów.

Red Hat Virtualization bardzo dobrze integruje się z także innymi produktami Red Hat. Dzięki Red Hat Satellite zwiększa się ilość dostępnych informacji na temat każdej VM i możemy zautomatyzować budowanie VM od zera, dzięki Red Hat Ansible Automation możliwa jest automatyzacja obsługi RHV, dzięki Red Hat CloudForms możemy zapewnić orkiestrację i rozliczanie, a dzięki Red Hat Insights mamy wgląd w szereg zaleceń dotyczących platformy.
 
RHV jest również świetną platformą do hostowania rozwiązań SAP, Oracle czy Microsoft SQL. 

Zainteresowanych Red Hat Virtualization zachęcamy również do zapoznania się z systemem do obsługi kopii zapasowej dla maszyn wirtualnych: Storware vProtect

Zapraszamy do kontaktu drogą mailową This email address is being protected from spambots. You need JavaScript enabled to view it. lub telefonicznie +48 797 004 932.