Виртуални сървъри – управление на паметта

Когато стане дума за виртуализация, веднага правим асоциация с облачните услуги. Последните са спечелили медийното внимание и неслучайно завладяват и нашето. Това, за което потребителите обикновено не си дават сметка е, че облачната услуга представлява, както е популярно да се нарича, “слой за управление”. В достъпните за обикновения потребител услуги облакът управлява същите виртуализационни софтуери, които работят със или без управлението на облачния слой. В този материал ще разгледаме управлението на паметта

в облака, както и в популярните виртуализатори за Linux – Xen и Open VZ. Когато трябва да се виртуализира операционната система Windows, хипервайзорът на Vmware печели предпочитанието на потребителя. В сферата на хостинг услугите обаче, тази ОС е по-малко популярна, затова няма да се спираме на Vmware. Памет в облака Облачната услуга и виртуализационният софтуер не е задължително да представляват един и същ продукт или да са от един и същ производител. В търсене на оптимални решения за пазара хостинг доставчиците изпробват различни комбинации. Използването на отделен хипервайзор е предпочитаното решение в момента. Това от своя страна налага някои ограничения на облачната услуга. Например – управлението на параметрите, определящи “мощността” на един VPS, един от които е паметта, е възможно единствено в рамките на един физически сървър. На практика ограниченето е в рамките на незаетата памет на най-свободния сървър от облака. Лесно може да се установи дали една услуга предлага поделяне на ресурса на повече от една машини по максималните стойности на паметта и процесорното време, обявени от доставчика. Управлението на паметта на клиентските виртуални сървъри се определя изцяло от възможностите на хипервайзорите. В това отношение технологиите за виртуализация с отворен код Xen и Open VZ са доста различни. Не е лошо потенциалните клиенти на VPS хостинг да проверят дали за приложението, което смятат да хостват, не е обявен препоръчителния начин за виртуализация. Паравиртуализационната платформа Xen предлага почти всички удобства на наетия сървър. Клиентът работи със собствено копие на Linux кърнъла и може да зарежда предпочитани кърнъл модули. Това води до предвидимо взаимодействие с физическите ресурси и в крайна сметка до по-висока надеждност и предсказуемост. OpenVZ от своя страна използва операционна система с модифициран кърнъл за виртуализационните функции. Хипервайзорът изисква по-малко ресурси за себе си и може да предложи по-висока производителност. Подход към паметта на OpenVZ Първо, когато в OpenVZ е обявена 256 MB гарантирана памет, това означава около 232 MB. Приложенията могат да запазват целия размер с malloc() например, но когато се опитат да го използват, най-вероятно ще блокират. Това се оказва и най-сериозния недостатък на OpenVZ. Компилаторите и някои приложения, като Java например, които запазват различно количество памет от това, което обикновено използват или изобщо не могат да стартират върху по-ниските VPS планове или се държат нестабилно. За пакет състоящ се от уеб сървър, MySQL и PHP отношението на използвана към запазена RAM е около 1:1.5. Ако искате да стартирате Java приложение обаче трябва да се съобразите с отношение 1:5. В допълнение OpenVZ не предоставя информация за свободната памет на клиентския VPS. Параметрите в /proc/meminfo, както и Linux командата “free” дават паметта на хостващата машина, а не на виртуалния сървър. Като предимство на OpenVZ модела на използване на паметта може да се изтъкне, че дисковият кеш и буферната памет не се отчитат в квотата на потребителя. Така на хостинг машини с OpenVZ, които не са натоварени, един VPS може да покаже по-висока производителност отколкoто своя аналог върху Xen. Управление на паметта от Xen Управлението на паметта в Xen е лесно за обяснение. 256 MB са точно 256 MB, както при наетите сървъри. Този сегмент от паметта е изцяло запазен за конкретния VPS. При необходимост от повече памет, хипервайзорът започва да използва Swap мястото. Всеки Xen виртуален сървър се предлага с конфигуриран Swap дял, чийто размер е равен или по-голям от размера на предоставената RAM памет. Така, когато наемате VPS с 384 MB памет, какъвто е най-ниският план на Host.bg, приложенията могат да работят с до 768 MB. Това е особено полезно за посрещане на пикови натоварвания. Наличието на Swap-а определя начина по който се обслужва пиковото потребление на паметта от VPS-а. Когато VPS върху Xen има нужда от повече памет първо се използват кеша и буферите. След това започва да се използва Swap делът. Колкото повече място от него се заема, толкова по бавна става работата на приложението. Това в крайна сметка прави поведението на VPS върху Xen по-предсказуемо. OpenVZ разполага с две технологии за обслужване на пиковите натоварвания. Пиковата памет (Burstable RAM) в последните години се конкурира с внедрения в OpenVZ кърнъла VSwap (Virtual Swap). Burstable RAM на практика не променя модела на управление на паметта и неговите недостатъци, но все още се предпочита от някои доставчици защото е “проверена” технология. Разликата между стандартния и виртуалния Swap е, че вторият не използва реално дисково пространство. Вместо това се изпълнява емулация, за която се ползва паметта на хост машината. OpenVZ изкуствено забавя работата на клиентския VPS, за да наподоби обичайната работа със Swap. Работата на VSwap все още не е надеждно тест¬вана с някои от популярните Linux дистрибуции. В заключение… Повечето от специалистите смятат, че Xen се справя по-добре с управлението на паметта и по-пред-сказуемо с пиковите натоварвания от OpenVZ. Host.bg предлага еластичен VPS хостинг, използващ хипервайзора на Xen. Нашият отдел от системни аднимистратори са на ваше разположение 24/7/365 при необ¬ходимост от съдействие или съвет при избора на софтуер и приложения за виртуалните сървъри. Повече за нашите VPS сървъри,които започват с цени от 24,50 лв./м може да откриете тук.

Виртуализация или паравиртуализация

С изпреварващия ръст на мощността на сървърите спрямо тежестта на стандартните уеб услуги и приложения, виртуализацията се превръща в удобен и все по-търсен инструмент за постигане на по-висока гъвкавост и надеждност. VPS плановете дават възможност на потребителя самостоятелно да контролира и гарантира работата на уеб услугите, които предлага. Пълното разделяне на операционната система и приложенията от хардуера и капсулирането им във виртуални машини предоставя нови възможности спрямо традиционния начин на експлоатация на сървърите. С използването на VPS например може да се намали времето на преустановяване на работата на сървърите (downtime), свързано с изпълнението на задачи по хардуерната поддръжка.

Хостване или хипервайзор

Индустриалните стандарти, свързани с x86 системи включват два подхода за виртуализация. При първия, виртуализационният слой се инсталира като приложение върху операционната система. Както може да се предвиди, тази архитектура е подходяща за широк кръг от хардуерни конфигурации. При втория подход, виртуализационният слой, наречен още хипервайзор, се инсталира директно върху чиста x86 система. Тъй като хипервайзорът има директен достъп до хардуерните ресурси, вместо да стига до тях през операционна система, той осигурява повече ефективност и гъвкавост при управлеието им. VMware Server 2.0 е пример за хостнат виртуализатор, докато продукта на Xen представлява хипервайзор.

Виртуализация, паравиртуализация или хардуерна виртуализация

При паравиртуализацията, ядрото на операционната система – гост е модифицирано специфично за работа с хипервайзора. При работа с виртуализатора на Xen, първата инсталирана операционна система се зарежда автоматично и придобива привилегии както за управление на останалите, така и за директен достъп до физическия слой. Администраторът трябва да се логне в dom0 (идва от „domain 0“) за да управлява следващите гост ОС – domU. Върху dom0 могат да работят модифицирани версии на Linux, NetBSD и Solaris, както и някои UNIX ОС. Едно от основните предимства на паравиртуализацията е, че с нейна помощ се постига по-висока производителност.

Пълната виртуализация, от своя страна, осигурява работата на оригинални ОС. Оригиналното, немодифицирано ядро предлага някои привилегии, като достъп до процесора например. На практика, хипервайзорът създава CPU емулация, към която се обръщат инструкциите на гост операционната система. Virtual Machine Monitor (VMM) се съдържа в хипервайзора. Макар да се представя понякога като отделен вид, на хардуерната виртуализация трябва да се гледа като на машинно ускоряване на работата на хипервайзора. Вградени виртуализационни възможности се предлагат както от процесорите на Intel (Intel-VT), така и от AMD (AMD-V). Хардуерната поддръжка може да се ползва от немодифицирани гост операционни системи. Работата на такива ОС с хипервайзор, при наличието на хардуерно ускоряване, се доближава по ефективност до паравиртуализацията, при аналогични останали условия.