Wirtualizacja oparta na oprogramowaniu w Bioście

Niektórzy producenci zdecydowali się umieścić funkcje wirtualizacji w serwerach jako niskopoziomową warstwę oprogramowania. Metoda ta (pokazana na rysunku 7.3) ma kilka precedensów. Systemy plików, które są pewną odmianą wirtualizacji (zobacz powyżej), zazwyczaj są komponentami systemów operacyjnych, a systemy zwykle są odpowiedzialne za „wirtualizowanie” swoich wewnętrznych dysków — w niektórych przypadkach także bezpośrednio dołączonych macierzy — przez formatowanie i partycjonowanie dysków fizycznych.

W większości strategii wirtualizacji opartej na hoście oprogramowanie służy do prze- mapowania dysków fizycznych (oraz agregatów dysków prezentowanych serwerowi jako „woluminy”). Oprogramowanie przedstawia środowisku serwerowemu własne identyfikatory woluminów wirtualnych. Polecenia zapisu i odczytu wydawane przez aplikacje są dystrybuowane przez oprogramowanie wirtualizacyjne, a operacja wejścia-wyjścia jest przekazywana do odpowiednich sterowników urządzeń, które zapewniają dostęp do rzeczywistych zasobów dyskowych.

Dodatkowe funkcje oprogramowania pozwalają powiększać woluminy wirtualne (to znaczy przydzielać dodatkowe zasoby fizyczne do istniejącego woluminu wirtualnego) albo je zmniejszać (odbierać zasoby fizyczne), aby dostosować pojemność do potrzeb aplikacji.

Strategia ta wiąże się z kilkoma problemami. Po pierwsze, działanie warstwy wirtu- alizacyjnej pochłania cykle procesora serwera. W zależności od obciążenia serwera może to — choć nie musi — stanowić problem.

Po drugie, niektóre systemy operacyjne źle znoszą przechwytywanie wywołań wejścia-wyjścia przez niskopoziomowy proces. Im bardziej „zazdrośnie” system operacyjny strzeże swojego wejścia-wyjścia, tym większe prawdopodobieństwo, że potraktuje przekierowanie jako wirus lub złośliwy program i użyje wszelkich dostępnych mu środków, żeby ukrócić podejrzany proces.

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>