Sunday, February 6, 2011

VMware "memory overcommitment"

   Bu yaxınlarda virtualizasiya dünyasının əsas oyunçularından olan VMware ESX-in vacib elementlerindən olan memory overcommitment haqqında bir mübahisənin iştirakçısı oldum və bu barədə blogda yazmaq qərarına gəldim..Öncə bir az ESX haqqında..
   ESX VMware-nin enterprise yönümlü virtualizasiya həllidir. Birbaşa fiziki avadanlığa yüklənilir ( bare metal), hər hansı host ƏS-ə ehtiyac yoxdur. Hipervizorun əsasında  serviz konsolu dayanir. Konsolun əsasını RedHat nüvəsinin modifikasiya olunmuş versiyası və VMware tərəfindən yazılmış bəzi utilitlər təşkil edir.
   İndi əsas məsələ haqqında...Memory overcommitment nədir və necə işləyir? Bu, əslində, host maşında mövcud olandan artıq RAM-ın qonaq maşınlara verilməsidir. Məsələn, deyək ki host serverdə 10 Windows XP, və ya 10 Linux ƏS var. Hər bir əməliyyat sistemi işə salındığı zaman müəyyən .dll-ləri, library-ləri sistemin keşinə yükləyir, həmin fayllar ƏS-nin RAM-ında saxlanılır və ƏS iş prosesində həmin fayllardan istifadə edir. ESX-in misalında, 10 virtual Windows XP maşın işlək vəziyyətdə olarsa, eyni fayllar  10 nüsxədə müxtəlif maşınlar tərəfindən istifadə olunur. Overcommitment texnologiyasına görə, VMware ESX eyni fayllardan istifadə edən bir neçə ƏS-nin ( məsələn , Windows ailəsinin) yükləndiyi zaman eyni faylların bir neçə dəfə yüklənməsi əvəzinə, 1 nüsxədən istifadəsini təmin edir. Bunun üçün ESX RAM bloklarının hash-ini hesablamaqla nail olur, yəni "hash sum"-u eyni olan blokları yenidən yaratmır. Bunun sayəsində hər bir vrtual maşın daha az RAM-dan istifadə edir. Məsələn, 10 virtual maşının hərəsinə 1 GB RAM ayırsaq və memory overcommitmentden istifadə etməsək, onda host servere min 10 gb ram lazımdır. Amma overcommitmentin tətbiqi ilə, hər maşını istifadə etdiyi RAM təqribən 600-800 MB olur ki bu da serverdən təqribən 6-8 GB ram istifadə edir. Nəticədə sizi əlavə daha bir neçə maşın yaratmaq imkanınız yaranır. VMwarenin heç bir rəqibi hələki bu texnologiya qədər effektiv alternativə yaxınlaşmayıblar )

Saturday, February 5, 2011

Windows Server 2008 R2 and Windows 7 SP1

    Microsoft-un son nəsil Windows Server 2008 R2 server-i üçün nəzərdə tutduğu  Service Pack 1 (SP1) grafik dizaynla məşğul olan və ümumiyyətlə, Hyper-V virtualizaiya texnologiyasindan istifadə edən şirkətlər üçün sürprizlərlə gəlir.. Belə ki bu SP1-də 2 texnologiyanın təqdimatı olub - RemoteFX və Dynamic Memory. Hansılar haqqında aşağıda 1 qədər geniş yazacağam..
    Əvvəlcə RemoteFX haqqında..Maykrosoftun virtualizasiya sahəsində təmsil olunduğu hardware-based hipervizoru Windows Server R2 üçün nəzərdə tutulmuş yenilənmədə, Microsoftun hələ 2008-ci ildə 100 milyon dollara aldığı "Calista Technologies"-in texnologiyaları dayanır. Belə ki, RemoteFX vasitəsilə, yüksək grafik tələbatları olan programlar, oyunlar, video və s multimedia tipli informasiyalar, Maykrosoftun adi Remote Desktop sessiyası vasitəsilə ucuz, zəif fiziki göstəriciləri olar kompüterlərə, thin clientlərə ötürülə bilər ( Crysis və StarCraft-in thin klientlerle rəsmi testləri keçirilib) . Bu o deməkdir ki, grafik resurslara güclü tələbatı olan 1 neçə işçi stansiya əvəzinə, 1  güclü resurslara  malik server saxlamaq kifayətdir.burda bir neçə "amma"lar da var...
   - Kiçik müəsisələrn maliyyə resursları buna imkan verməyə bilər ( azərbaycan reallığında inanmıram microsoft+hyper-v-ni kimsə əyləncə üçün alsın). Amma digər tərəfdən, sırf bu sahə üzrə ixtisaslaşmış şirkətlər üçün maraqlı təklif ola bilər.
   -  Öncədən  hazırlanmış VDİ infrastruktur lazımdır.. ( Remote Desktop Services + Hyper-V)
   - Dəstəklənən klientler arasinda hələki yalnız Windows 7 var. Digər ƏS-i barəsində hələik heç bir məlumat yoxdur.
 Digər bir yenilik Dynamic Memory ilə bağlıdır. Dynamic Memory nədir? Hyper-V -də,  "qonaq" əməliyyat sisteminə verilən RAM-ın müvəqqəti artırılmasıdır. Bu o deməkdir ki, "qonaq" əməliyyat sistemi onun üçün ayrılmış RAM tam istifadə olunduqda, hipervizora müraciət edir və hipervizor ona administrator tərəfindən kvotalanmış müəyyən qədər də RAM ayırır (əgər hipervisorun özündə istifadə olunmayan RAM qalıbsa). Bu, serverde mövcud olandan artıq RAm-ın verilməsi demkdir Əslində, şəxsən mənim fikrimə görə bunu VMware ESX-in "memory overcommitment" texnologiyası daha mükəmməl şəkildə reallaşdırıb.