Кіріспе
Компьютерлік жүйеге физикалық сақтаудың логикалық көрінісін ұсыну
Компьютерлік ғылымда сақтауды виртуализациялау – "барлық сақтау орталарын (қатты дискі, оптикалық дискі, магниттік лента және т.б.) бірыңғай сақтау қоры ретінде қарастырып, хост компьютерлік жүйеге" физикалық сақтау ресурстарының логикалық көрінісін ұсыну процесі. "Сақтау жүйесі" сақтау массиві, дискі массиві немесе файлдық сервер деп те аталады. Сақтау жүйелері әдетте есептеу және деректерді өңдеу үшін жоғары жылдамдықпен және сенімділікпен сақтауды қамтамасыз ету мақсатында дискілермен бірге арнайы аппараттық және бағдарламалық құралдарды қолданады. Сақтау жүйелері күрделі, оларды сақтау сыйымдылығымен қатар, кеңейтілген деректерді қорғау мүмкіндіктерін ұсынатын арнайы мақсаттағы компьютер ретінде қарастыруға болады. Дискілер – жүйедегі арнайы аппараттық және бағдарламалық құралдармен бірге сақтау жүйесінің бір бөлігі ғана. Сақтау жүйелері блокпен қолжетімді сақтауды немесе файлмен қолжетімді сақтауды ұсынуы мүмкін. Блоктық қолжетімділік әдетте Fibre Channel, iSCSI, SAS, FICON немесе басқа да протоколдар арқылы жүзеге асырылады. Файлдарға қолжеткізу көбінесе NFS немесе SMB протоколдарын пайдалану арқылы қамтамасыз етіледі. Сақтау жүйесінің аясында екі негізгі виртуализация түрі кездеседі:
Бұл контексте қолданылатын блок виртуализациясы – физикалық сақтаудан логикалық сақтауды (бөлімді) абстракциялау (бөлу) процесі, осылайша физикалық сақтау немесе әртүрлі құрылымды ескермей оған қолжеткізуге болады. Бұл бөліну сақтау жүйесінің әкімшілеріне соңғы пайдаланушылар үшін сақтауды басқаруда үлкен икемділік береді. Файл виртуализациясы NAS-тың қиындықтарын файл деңгейінде қолжетімді деректер мен файлдар физикалық түрде сақталатын орын арасындағы тәуелділікті жою арқылы шешеді. Бұл сақтауды оңтайландыруға, серверлерді біріктіруге және деректерді бұзбай көшіруге мүмкіндік береді.
Адрес кеңістігін қайта карталау
Деректерді сақтауды виртуалды ету деректердің физикалық орналасуын абстракциялау арқылы олардың орналасуына тәуелділікті жоюға көмектеседі. Виртуализация жүйесі пайдаланушыға деректерді сақтау үшін логикалық кеңістік ұсынады және оны нақты физикалық орынға бейімдеу процесін жүзеге асырады. Виртуализацияның немесе бейімдеудің бірнеше деңгейі болуы мүмкін. Виртуализацияның бір деңгейінің нәтижесі жоғары деңгейдегі виртуализацияның кірісі ретінде пайдаланылуы мүмкін. Виртуализация артқы ресурстар арасындағы кеңістікті алдыңғы ресурстарға бейімдейді. Бұл жағдайда "артқы жақ" дегеніміз – тікелей пайдалану үшін компьютерге немесе хост-жүйеге ұсынылмайтын логикалық бірлік нөмірі (LUN). "Алдыңғы жақ" LUN немесе том пайдалану үшін хост-жүйеге немесе компьютерге ұсынылады. Бейімдеудің нақты түрі таңдалған жүзеге асыруға байланысты болады. Кейбір жүзеге асырулар бейімдеудің дәлдігін шектеуі мүмкін, бұл құрылғының мүмкіндіктерін азайтуы мүмкін. Типик дәлдік бір физикалық дискіден бастап физикалық дискінің кіші бөлігіне дейін (мегабайттар немесе гигабайттардың еселері) жетеді. Блоктық сақтау ортасында ақпараттың бір блогы LUN идентификаторы және логикалық блок адрестеу (LBA) деп аталатын LUN ішіндегі ығысу арқылы анықталады.
Метадеректер
Виртуализациялау бағдарламалық жасақтамасы немесе құрылғысы виртуализацияланған сақтаудың барлық карталау ақпаратының тұрақты көрінісін қамтамасыз етуге жауапты. Бұл карталау ақпараты көбінесе метадеректер деп аталады және карталау кестесі түрінде сақталады. Адрестік кеңістік карталау кестесін сақтауға қажетті сыйымдылықпен шектелуі мүмкін. Гранулярлық деңгейі және жалпы адрестік кеңістік метадеректердің мөлшеріне тікелей әсер етеді, соның салдарынан карталау кестесінің көлемі де өзгереді. Осы себепті, адрестік сыйымдылық мөлшері мен гранулярлық немесе кіру гранулярлығы арасында компромисс жасау жиі кездеседі. Мұндай шектеулерді жоюдың бір әдеттегі тәсілі – виртуализацияның бірнеше деңгейін пайдалану. Бүгінде қолданыстағы көптеген сақтау жүйелерінде үш деңгейлі виртуализация қолданылады. Кейбір жүзеге асыруларда карталау кестесі қолданылмайды, оның орнына орналасуларды есептеу үшін алгоритм пайдаланылады. Бұл жүзеге асырулар ақпаратты карталау кестесінде сақтаудың орнына, қол жеткізу кезінде орналасқан жерді есептеу үшін динамикалық әдістерді қолданады.
Қуаттары
Көптеген жүзеге асырулар берілген жүзеге асырудың қолдау матрицасы шегінде әртүрлі өндірушілердің сақтау құрылғыларын біртұтас басқаруға мүмкіндік береді. Бұл, келесі мүмкіндіктер нақты бір өндірушінің құрылғысымен ғана шектелмейді (нақты сақтау контроллерлері ұсынатын ұқсас мүмкіндіктер сияқты) және шындығында әртүрлі өндірушілердің құрылғыларында қолданылуы мүмкін.
Бірлескен пайдалану
Физикалық сақтау ресурстары сақтау тобына біріктіріледі, одан логикалық сақтау құрылады. Қажет болған жағдайда, әртүрлі табиғаты бар қосымша сақтау жүйелерін қосуға болады, сонда виртуалды сақтау кеңістігі сол көлемде ұлғаяды. Бұл процесс сақтау инфрақұрылымын пайдаланатын бағдарламалар үшін толыққанды көрінбейді.
Пайдаланудың жақсаруы
Пайдалануды біріктіру, көшіру және жұмсақ қамтамасыз ету қызметтері арқасында арттыруға болады. Бұл пайдаланушыларға сақтау шешімдерін артық сатып алу мен артық қамтамасыз етуден аулақ болуға мүмкіндік береді. Басқаша айтқанда, ортақ сақтау қоры арқылы пайдаланудың осы түрі қажеттілікке қарай оңай және жылдам бөлінеді, бұл сақтау сыйымдылығының жетіспеуінен туындайтын қолданба жұмысын тежеудің алдын алады. Барлық қолжетімді сақтау сыйымдылығы біріктірілген кезде жүйе әкімшілері белгілі бір хостқа немесе серверге бөлу үшін бос орын іздеуге қашау жасамайды. Жаңа логикалық диск қолжетімді қорынан оңай бөлінеді немесе қолданыстағы диск кеңейтіледі. Біріктіру сонымен қатар барлық қолжетімді сақтау сыйымдылығын пайдалануға мүмкіндік береді. Дәстүрлі ортада дисктің барлығы хостқа тікелей бекітіледі. Бұл қажетті көлемнен артық болуы мүмкін, демек орын босқа ысырап болады. Виртуалды ортада логикалық дискке (LUN) пайдаланушы хостың қажеттілігіне сай сыйымдылық беріледі. Сақтау қажеттілікке қарай белгілі бір уақытта тағайындалады, бұл болашақта хостқа қанша сақтау керек екенін болжау қажеттілігін азайтады. Жұмсақ қамтамасыз етуді пайдаланып, әкімші өте үлкен, жұмсақ қамтамасыз етілген логикалық диск құра алады, соның салдарынан пайдаланушы жүйе бастапқы күнінен бастап өте үлкен дискке ие екенін сезінеді.
Басқарудың аз нүктелері
Деректерді виртуалды ету арқылы бірнеше тәуелсіз сақтау құрылғылары, тіпті желіде шашырап орналасқан болса да, бірыңғай монолитті сақтау құрылғысы ретінде көрінеді және орталықтан басқарылуы мүмкін. Дегенмен, дәстүрлі сақтау контроллерін басқару қажеттігі сақталады. Атап айтқанда, RAID массивтерін жасау және күтіп ұстау, соның ішінде қателерді және іркілістерді басқару.
Жарамсыз іске асыруды қалпына келтіру
Абстракция қабаты орнатылғаннан кейін, деректердің физикалық құралда қайда сақталғанын тек виртуализатор ғана біледі. Сондықтан, виртуалды сақтау ортасынан шығу үшін логикалық дискілерді үздіріссіз дискілер ретінде қайта құру қажет, оларды дәстүрлі тәсілмен пайдалануға болады. Көптеген жүзеге асырулар қандай да бір кері қайтару процедурасын ұсынады, ал деректерді көшіру қызметтерінің арқасында мұны істеу мүмкін, бірақ көп уақыт алады.
Өзара іс-қимыл қабілеттілігі және жеткізушіге қолдау көрсету
Өзара әрекеттесу кез келген виртуализациялық бағдарламалық жасақтама немесе құрылғы үшін маңызды мүмкіндік болып табылады. Ол нақты физикалық сақтау контроллерлерімен және хосттармен, олардың операциялық жүйелерімен, көп жолды бағдарламалық жасақтамалармен және қосылым аппараттарымен байланысты. Өзара әрекеттесу талаптары таңдалған жүзеге асыру тәсіліне байланысты өзгереді. Мысалы, сақтау контроллерінде жүзеге асырылған виртуализация хост негізделген өзара әрекеттесуге қосымша жүктеме қоспайды, бірақ басқа сақтау контроллерлері оларды бірдей бағдарламалық қамтамасыз етумен виртуализациялауға болатын жағдайда, қосымша қолдауды қажет етеді. Желілік коммутатор негізіндегі виртуализация I/O-ны қайта бағыттау үшін пакеттерді талдау техникаларын қолданса, хосттармен арнайы өзара әрекеттесуді қажет етпеуі мүмкін. Желілік құрылғылардың өзара әрекеттесу талаптары ең жоғары деңгейде болады, өйткені олар барлық құрылғылармен, сақтау жүйелерімен және хосттармен өзара жұмыс істеуі керек.
Метадеректерді басқару
Ақпарат – бүгінгі бизнес ортасындағы ең құнды активтердің бірі. Виртуалданғаннан кейін, метадеректер – ортадағы байланыстыратын элемент болып табылады. Егер метадеректер жоғалса, нақты деректердің барлығы да жоғалады, себебі карта ақпараты болмаса логикалық дискілерді қайта құру іс жүзінде мүмкін емес. Кез келген жүзеге асыру оның тиісті деңгейдегі резервтік көшірмелер мен репликациялар арқылы қорғалуын қамтамасыз етуі керек. Апаттық жағдай туғанда метадеректерді қайта құру мүмкіндігі маңызды. Метадеректерді басқару да өнімділікке әсер етеді. Кез келген виртуализациялық бағдарламалық құрал немесе құрылғы метадеректердің барлық көшірмелерін атомдық және жылдам жаңартылатын күйде сақтауға қабілетті болуы тиіс. Кейбір жүзеге асырулар белгілі бір жылдам жаңарту функцияларын, мысалы, уақыт бойынша көшірмелер жасау және кэштеу сияқты, өте жылдам жаңартуларды қажет ететін жағдайларда, нақты I/O операцияларына минималды кешігуді қамтамасыз ету үшін шектейді.
Жүгірту және масштабталуы
Кейбір жағдайларда физикалық жадтың өнімділігін, негізінен кэштеу арқылы жақсартуға болады. Дегенмен, кэштеу I/O сұранысындағы деректерге қолжетімділікті қажет етеді, сондықтан ол жолақты және симметриялық виртуализациялық бағдарламалық жасақтама мен құрылғылармен шектеледі. Алайда, мұндай жағдайларда I/O сұранысының кешігуіне (кэштен қате табу) тікелей әсер етеді, себебі I/O бағдарламалық жасақтама немесе құрылғы арқылы өтуі керек. Егер бағдарламалық жасақтама немесе құрылғы тиімді жобаланған болса, бұл әсер физикалық дискіге қол жеткізумен байланысты кешігумен салыстырғанда минималды болуы керек. Виртуализацияның ерекшелігіне байланысты, логикалықтан физикалыққа түрлендіруге біршама өңдеу қуаты және іздеу кестелері қажет. Сондықтан, кез келген жағдай белгілі бір деңгейде кешігуді қосады. Жауап беру уақытынан басқа, өткізу қабілетін де ескеру қажет. Метадеректерді іздеу бағдарламалық жасақтамасына кіретін және шығатын жолақтың ені жүйелік өткізу қабілетіне тікелей әсер етеді. Асимметриялық жағдайларда, деректер оқылған немесе жазылған алдында метадеректерді іздеу жүргізілсе, жолақтың ені аса маңызды емес, себебі метадеректер нақты I/O көлемінің өте шағын бөлігін құрайды. Жолақты, симметриялық схемалар өңдеу қуатымен және байланыс жолағының енімен тікелей шектеледі. Көптеген жағдайлар кеңейтім моделін ұсынады, онда қосымша бағдарламалық жасақтама немесе құрылғы экземплярларын қосу масштабталануды арттырады және жолақтың енін ұлғайтуға мүмкіндік береді. Өнімділік және масштабталану сипаттамалары таңдалған жағдайға тікелей байланысты.
Хостқа негізделген
Хостқа негізделген виртуализация хостта артықшылықты тапсырма немесе процесс ретінде жұмыс істейтін қосымша бағдарламалық қамтамасыз етуді қажет етеді. Кейбір жағдайларда көлемді басқару операциялық жүйеге енгізілген, ал басқа жағдайларда ол жеке өнім ретінде ұсынылады. Хост жүйесіне ұсынылған томдар (LUN) дәстүрлі физикалық құрылғы драйверімен басқарылады. Алайда, диск құрылғысы драйверінің үстінде орналасқан бағдарламалық қабат (көлемді басқарушы) I/O сұраныстарын ұстап, метадеректерді іздеу және I/O бейімдеуін қамтамасыз етеді. Көптеген қазіргі заманғы операциялық жүйелерде логикалық томды басқарудың бір түрі бар (Linux-та Logical Volume Manager немесе LVM; Solaris және FreeBSD-де ZFS-тің zpool қабаты; Windows-та Logical Disk Manager немесе LDM), ол виртуализация міндеттерін орындайды. Ескерту: Хостқа негізделген томды басқарушылар сақтауды виртуализациялау термині пайда болғанға дейін көп бұрын қолданылған.
Сақтау құрылғысы негізінде
Хостқа негізделген виртуализация сияқты, бірнеше санаттар жылдар бойы бар болды және жақында ғана виртуализация ретінде жіктелді. Жеке қатты дискілер сияқты қарапайым деректерді сақтау құрылғылары ешқандай виртуализацияны қамтамасыз етпейді. Бірақ тіпті ең қарапайым дискілік массивтер де логикалық-физикалық абстракцияны қамтамасыз етеді, себебі олар RAID схемаларын бірнеше дискіні бір массивке біріктіру үшін пайдаланады (және кейіннен массивті кішірек томдарға бөлуі мүмкін). Күрделі дискілік массивтер көшірме жасау, снэпшоттар және қашықтықтан көшіру мүмкіндіктерімен жиі жабдықталады. Әдетте, бұл құрылғылар әртүрлі сақтау орындарында деректерді көшіру немесе репликациялау мүмкіндігін қамтамасыз етпейді, өйткені әрбір өндіруші өздерінің жеке протоколдарын қолдануға бейім. Дискілік массивтік контроллерлердің жаңа түрі басқа сақтау құрылғыларын қосылуға мүмкіндік береді. Осы мақала шеңберінде біз тек басқа сақтау құрылғыларын виртуалды ететін соңғы үлгіні қарастырамыз.
Тұжырымдама
Негізгі сақтау контроллері қызметтер ұсынады және басқа сақтау контроллерлерін тікелей қосуға мүмкіндік береді. Олардың өндірушілері бірдей немесе әртүрлі болуы мүмкін. Негізгі контроллер ресурстарды біріктіру және метадеректерді басқару қызметтерін қамтамасыз етеді. Сонымен қатар, ол өзіне қосылған контроллерлер арасында репликация және миграция қызметтерін де ұсынуы мүмкін.
Желіге негізделген
Желілік құрылғыда (әдетте стандартты серверде немесе интеллектуалды коммутаторда) жұмыс істейтін және SAN ретінде қосылу үшін iSCSI немесе FC Fibre арналық желілерін пайдаланатын сақтау виртуализациясы. Бұл құрылғылар виртуализацияның ең көп қолданылатын және енгізілген түрі болып табылады. Виртуализация құрылғысы SAN ішінде орналасқан және кіріс-шығыс операцияларын (I/O) жүзеге асыратын хосттар мен сақтау сыйымдылығын ұсынатын сақтау контроллерлері арасында абстракция қабатын қамтамасыз етеді.
Құрылғыға негізделген және коммутаторға негізделген
Желілік сақтауды виртуализациялаудың екі кең таралған түрі бар: құрылғыға негізделген және коммутаторға негізделген. Екі модель де дискілерді басқару, метадеректерді іздеу, деректерді көшіру және көшірмелеу сияқты бірдей қызметтерді ұсынуы мүмкін. Екі модельге де осы қызметтерді қамтамасыз ету үшін өңдеу аппараттарының қажеттігі бар. Құрылғыға негізделген құрылғылар – SAN қосылымын әртүрлі форматта қамтамасыз ететін арнайы аппараттық құрылғылар. Олар хосттар мен сақтау арасында орналасқан, ал жолақты (симметриялық) құрылғылар осы мақалада талқыланған барлық артықшылықтар мен қызметтерді ұсынуы мүмкін. I/O сұраныстары құрылғыға бағытталады, ол I/O-ны негізгі сақтауға жібермес бұрын метадеректерді карталайды. Жолақты құрылғы деректерді кэштеуді қамтамасыз ете алады, ал көптеген жағдайларда метадеректердің тұжырымдалған көрінісін және кэштелген деректерді сақтау үшін жеке құрылғыларды кластерлеуге мүмкіндік береді. Коммутаторға негізделген құрылғылар, атауынан көрінетіндей, SAN құрылғыларын қосу үшін қолданылатын физикалық коммутатор аппараттарында орналасқан. Олар да хосттар мен сақтау арасында орналасқан, бірақ метадеректерді карталау үшін басқа тәсілдерді қолдануы мүмкін, мысалы, кіріс I/O сұраныстарын бақылау үшін пакеттерді талдау және I/O-ны қайта бағыттау. Коммутацияланған ортада метадеректерді тұжырымдалған түрде жаңартуды қамтамасыз ету қиын, ал деректер мен метадеректерді жылдам жаңартуды қажет ететін қызметтер коммутацияланған нұсқаларда шектелуі мүмкін.
Торап ішінде және тораптан тыс
Тораптық, симметриялық деп те аталатын виртуализациялау құрылғылары хост пен сақтау арасындағы деректер жолында орналасқан. Барлық кіріс-шығыс сұраныстары (I/O) және олардың деректері осы құрылғы арқылы өтеді. Хосттар кіріс-шығыс операцияларын виртуализациялау құрылғысына орындайды және тікелей сақтау құрылғысымен байланыспайды. Виртуализациялау құрылғысы өз кезегінде сақтау құрылғысына кіріс-шығыс операцияларын орындайды. Деректерді кэштеу, деректерді пайдалану туралы статистиканы жинақтау, деректерді көшіру, деректерді миграциялау және жұқа қамтамасыз ету сияқты мүмкіндіктер тораптық құрылғыда оңай жүзеге асырылады. Топтан тыс, асимметриялық деп те аталатын виртуализациялау құрылғылары кейде метадеректер серверлері деп аталады. Бұл құрылғылар тек метадеректерді іздеу және сәйкестендіру функцияларын орындайды. Бұл үшін хостқа арнайы бағдарламалық жасақтама орнатылуы керек, ол деректердің нақты орналасқан жерін анықтау үшін сұраныс жіберуге қабілетті болуы тиіс. Сондықтан, хосттан келетін кіріс-шығыс сұранысы хосттан шығар алдында тоқтатылады, метадеректер серверінен деректердің орналасқан жері сұралады (бұл SAN интерфейсінен өзге интерфейс арқылы болуы мүмкін), және деректердің физикалық орны хостқа қайтарылады. Содан кейін, сақтау құрылғысына тікелей кіріс-шығыс сұранысы арқылы ақпарат алынады. Деректер құрылғы арқылы өтпегендіктен, кэштеу мүмкін емес.
Файлға негізделген виртуализация
Файлға негізделген виртуализация – файлдарды сақтаудың негізгі бірлігі ретінде пайдаланатын сақтау виртуализациясының бір түрі. Бұл блоктарды негізгі бірлік ретінде қолданатын блокқа негізделген сақтау виртуализациясынан өзгеше. Ол сақтаудың физикалық ерекшеліктерін жасырып, файлдарды арнайы драйверлер немесе төменгі деңгейдегі басқа конфигурацияларсыз кез келген сақтау құрылғысында сақтауға мүмкіндік береді. Файлға негізделген виртуализацияны сақтауды біріктіру, сақтауды тиімді пайдалану және апатты жағдайлардан қалпына келтіру сияқты мақсаттар үшін қолдануға болады. Бұл сақтауды басқаруды жеңілдетеді және басқару қажетті сақтау құрылғыларының жалпы санын азайтады. Файлға негізделген виртуализация файлдарды толық қуатымен пайдаланылмаған құрылғыларда сақтауға мүмкіндік беру арқылы сақтауды тиімді пайдалануды жақсарта алады. Мысалы, егер файл-серверде жартылай толтырылған бірнеше қатты дискілер болса, файлға негізделген виртуализацияны осы дискілерде файлдарды сақтау үшін пайдалануға болады, соның арқасында сақтау құрылғыларын тиімді пайдалану деңгейі артады. Соңында, файлға негізделген виртуализацияны апатты жағдайлардан қалпына келтіру үшін де қолдануға болады. Файлдарды әртүрлі сақтау құрылғыларында көшіру арқылы сақтау құрылғысы істен шыққан жағдайда деректерді қалпына келтіруге болады. Файлға негізделген виртуализацияны виртуалды файл-серверді (немесе виртуалды NAS құрылғысын) құру үшін пайдалануға болады, ол пайдаланушыға бір файл-сервер ретінде көрінетін, бірақ іс жүзінде бірнеше физикалық файл-серверлерде сақталған файлдар жиынтығы ретінде іске асырылатын сақтау жүйесі болып табылады.