Моля, не бързайте с изводите заради заглавието! Имаме солидни аргументи в подкрепа на това и сме ги опаковали, доколкото можахме компактно. Предлагаме на вниманието ви пост за концепцията и принципите на работа на новата ни система за съхранение на данни, чието издание се състоя през януари 2020 година.

Според нашето убеждение, основното конкурентно предимство на семейството дискови масиви Dorado V6 осигуряват именно споменатите в заглавието производителност и надеждност. Да-да, точно толкова просто, а заради какви хитри и не толкова хитри решения сме постигнали тази "простота", днес ще говорим.
За да разкрием по-добре потенциала на системите от ново поколение, ще разкажем за по-високите представители на моделната серия (модели 8000, 18000). Освен ако не е посочено друго, имаме предвид именно тях.

Няколко думи за пазара
За да разберем по-добре мястото на решенията на Huawei на пазара, ще се обърнем към проверено мерило — "" на Gartner. Преди две години в сектора на дисковите масиви от общо предназначение нашата компания уверено влезе в групата лидери, отстъпвайки единствено на NetApp и Hewlett Packard Enterprise. Позицията на Huawei на пазара на твърдотелни дискови масиви през 2018 година беше характеризирана със статут "кандидат", но за достигане на лидерски позиции нещо ни липсваше.
През 2019 година Gartner в своето изследване обедини и двата споменати сектора в един — "Основно хранилище". В резултат Huawei отново попадна в квадранта на лидерите, редом с доставчици като IBM, Hitachi Vantara и Infinidat.
За пълнота на картината отбелязваме, че 80% от данните за анализа Gartner събира на американския пазар, което води до значителен наклон в полза на компаниите, които са добре представени именно в САЩ. Междувременно доставчиците, които са ориентирани към европейските и азиатските пазари, се оказват в по-малко изгодна позиция. И дори въпреки това, през миналата година продуктите на Huawei заеха достойно място в горния десен квадрант и, според преценката на Gartner, "могат да бъдат препоръчани за използване".

Какво ново в Dorado V6
Продуктовата линия Dorado V6, по-специално, е представена от системите от начално ниво серия 3000. Първоначално снабдени с два контролера, те могат да бъдат разширени хоризонтално до 16 контролера, 1200 диска и 192 GB кеш. Системата също ще бъде оборудвана с външни портове Fibre Channel (8 / 16 / 32 Gbps) и Ethernet (1 / 10 / 25 / 40 / 100 Gbps).
Забелязваме, че в момента се прекратява употребата на протоколи, които не са имали търговски успех, затова в началото решихме да се откажем от поддръжката на Fibre Channel over Ethernet (FCoE) и Infiniband (IB). Те ще бъдат добавени в по-късни версии на фърмуера. Поддръжката на NVMe over Fabric (NVMe-oF) е налична „от кутията“ над Fibre Channel. В следващия фърмуер, чийто пуск е планиран за юни, е планирана поддръжка на режима NVMe over Ethernet. На нашето мнение, изброените по-горе решения ще покрият изискванията на повечето клиенти на Huawei.
Достъпът до файлове в текущата версия на фърмуера липсва и ще се появи в едно от следващите обновления в края на годината. Реализацията е предвидена на нативно ниво, самите контролери с Ethernet портове, без използване на допълнително оборудване.
Основната разлика на модела Dorado V6 серия 3000 от по-старите е в това, че на бекенда поддържа един протокол — SAS 3.0. Съответно, и носителите там могат да се използват само с посочения интерфейс. От нашата гледна точка, осигурената производителност е напълно достатъчна за устройство от този тип.
Системите Dorado серии V6 5000 и 6000 спадат към решенията от среден клас. Те също са изработени в форм-фактора 2U и са снабдени с два контролера. Те се отличават помежду си по производителност, брой процесори, максимален брой дискове и обем на кеша. В същото време в архитектурен и инженерен план Dorado V6 5000 и 6000 са идентични и изглеждат еднакво.
Класът hi-end включва системите Dorado V6 серии 8000 и 18000. Изработени в типоразмер 4U, те по подразбиране имат разделена архитектура, в която контролерите и носителите са разположени отделно. В минималната конфигурация те също могат да бъдат снабдени само с два контролера, въпреки че клиентите обикновено искат да бъдат инсталирани четири или повече.
Dorado V6 8000 се мащабира хоризонтално до 16 контролера, а Dorado V6 18000 – до 32. В тези системи са инсталирани различни процесори с различен брой ядра и обем кеш. Идентичността на инженерните решения при всичко това остава, както и в моделите от среден клас.
2U рафтове с дискови устройства се свързват чрез RDMA с пропускна способност 100 Gbps. Бекендът на Dorado V6 от по-висок клас също поддържа SAS 3.0, но по-скоро за случай, че SSD устройства с този интерфейс значително поевтинеят. Тогава би възникнала икономическа целесъобразност за тяхното използване дори с отчетена по-ниска производителност. В момента разликата в цената между SSD със SAS и NVMe интерфейси е толкова малка, че не можем да препоръчаме такова решение.

Вътре в контролера
Контролерите Dorado V6 са изработени на нашата собствена елементна база. Няма процесори от Intel, няма ASIC от Broadcom. По този начин, всички компоненти на дънната платка, както и самата тя, са напълно извлечени от влиянието на рисковете, свързани със санкционния натиск от страна на американските компании. Тези, които са видели нашето оборудване, със сигурност са забелязали накитите с червена лента под логото. Тя означава, че в изделието няма американски компоненти. Такава е официалната политика на Huawei – преход към компоненти на собствено производство или, в крайна сметка, произвеждани в страни, които не следват политиката на САЩ.
Ето какво може да се види на самата контролна платка.
- Универсален мрежови интерфейс (чип Hisilicon 1822), отговарящ за свързване към Fibre Channel или Ethernet.
- BMC чип, а именно Hisilicon 1710, осигуряващ дистанционен достъп до системата за пълнофункционално дистанционно управление и мониторинг на системата. Подобни чипове се използват и в нашите сървъри и в други решения.
- Централен процесор, в качеството на който е построен на архитектурата ARM чип Kunpeng 920, произвеждан от Huawei. Именно той е показан на схемата по-горе, въпреки че в други контролери могат да бъдат инсталирани различни модели с различен брой ядра, различна тактова честота и т.н. Броят на процесорите в един контролер също варира от модел до модел. Например, в по-високите серии Dorado V6 на една платка има четири.
- Контролер SSD (чип Hisilicon 1812e), който поддържа свързване както на SAS, така и на NVMe устройства. Добавяме, че Huawei произвежда SSD самостоятелно, но не произвежда самите NAND клетки, предпочитайки да ги закупува от четирите най-големи световни производители под формата на неразрязани силициеви пластини. Разрезът, тестването и опаковането в чипове Huawei извършва самостоятелно, след което ги пуска под собствена търговска марка.
- Чипът за изкуствен интелект — Ascend 310. По подразбиране той не е наличен на контролера и се монтира чрез отделна карта, която заема един от слотовете, предназначени за мрежови адаптери. Чипът се използва за осигуряване на интелигентно поведение на кеша, управление на производителността или процесите на дедупликация и компресия. Всички тези задачи могат да се решат и чрез централен процесор, но AI чипът позволява да се прави това много по-ефективно.

Отделно за процесорите Kunpeng
Процесорът Kunpeng представлява система на чип (SoC), където освен изчислителния блок присъстват хардуерни модули, които ускоряват различни процеси, като например изчисляване на контролни суми или изпълнение на „изтриващ код“ (erasure coding). В него е реализирана хардуерна поддръжка на SAS, Ethernet, DDR4 (от шест до осем канала) и др. Всичко това позволява на Huawei да създава контролери за СХД, които не отстъпват по производителност на класическите решения на Intel.
Освен това, собствените решения на базата на архитектурата ARM дават на Huawei възможността да създава пълноценни сървърни решения и да ги предлага на своите клиенти като алтернатива на x86.

Нова архитектура Dorado V6…
Вътрешната архитектура на СХД Dorado V6 от висшия клас е представена от четири основни подсистеми (фабрики).
Първата фабрика е общ фронтенд (мрежови интерфейси, които отговарят за връзката с SAN фабриката или хостовете).
Втората е набор от контролери, всеки от които може по протокола RDMA да достигне до всяка мрежова карта на фронтенда, както и до съседния „двигател“ (engine), представляващ кутия с четири контролера и общи за тях блокове за захранване и охлаждане. В момента моделите Dorado V6 от клас hi-end могат да бъдат оборудвани с два такива „двигателя“ (съответно осем контролера).
Третата фабрика отговаря за бекенда и включва 100G RDMA мрежови карти.
Накрая, четвъртата фабрика „в железото“ е представена чрез свързваеми интелигентни рафтове с дискове.
Тази симетрична структура разкрива целия потенциал на NVMe технологията и гарантира висока производителност и надеждност. Входно-изходните операции се максимално паралелизират по процесори и ядра, осигурявайки едновременни операции по четене и запис в множество потоци.

…и какво ни донесе тя
Максималната производителност на решенията Dorado V6 е приблизително три пъти по-висока от показателите на предишното поколение системи (в същия клас) и може да достигне 20 млн IOPS.
Това е свързано с факта, че в предишното поколение устройства поддръжката на NVMe се разпростира само на прикрепени рафтове с дискове. Сега обаче тя присъства на всички етапи, от хоста до SSD. Бекенд мрежата също е претърпяла промени: SAS/PCIe отстъпват място на RoCEv2 с пропускна способност 100 Gbps.
Промени се и самият форм-фактор на SSD. Докато преди за рафт от 2U имаше 25 диска, сега той е увеличен на 36 диска с физически формат palm-sized. Освен това, рафтовете „поумняха“. Всеки от тях сега разполага с отказоустойчива система от два контролера на базата на ARM чипове, подобни на тези, инсталирани в централните контролери.

В момента те само реорганизират данните, но с излизането на нови фърмуери ще добавят компресия и erasure coding, което ще позволи намаляване на натоварването на основните контролери от 15 до 5%. Прехвърлянето на част от задачите на рафта освен това освобождава и пропускната способност на вътрешната мрежа. И всичко това значително увеличава потенциала за мащабируемост на системата.
Компресията и дедупликацията в СХД от предишното поколение се изпълняваха с блокове с фиксирана дължина. Сега обаче е добавен режим на работа с блокове с променлива дължина, който все още трябва да се активира принудително. Последващите фърмуери вероятно ще променят това обстоятелство.
Също така накратко за толерантността към откази. Dorado V3 запазваше работоспособността, ако един контролер от двата откаже. Dorado V6 ще осигури достъпност на данните дори в случай, че последователно излязат от строя седем контролера от осем или едновременно четири от един „двигател“.

Надеждност от икономическа гледна точка
Наскоро сред клиентите на Huawei беше проведено проучване относно това, какви отделни елементи от IT инфраструктурата компанията счита за приемливи. В по-голямата част респондентите толерантно приеха хипотетичната ситуация, в която приложение не реагира в продължение на няколко стотин секунди. За операционната система или хост адаптера критичното време на простоя се оказа десетки секунди (по същество времето за рестартиране). Още по-високи изисквания клиентите поставят към мрежата: нейният капацитет не трябва да пада повече от 10-20 секунди. Както лесно можем да предположим, най-критично важните от отказите са системите за съхранение. От гледна точка на бизнес представителите, времето на простоя на СХД не трябва да надвишава… няколко секунди в годината!
С други думи, ако клиентското приложение на банката не отговори в течение на 100 секунди, катастрофални последици това вероятно няма да предизвика. Но ако СХД не работи толкова време, е вероятно спиране на бизнеса и значителни финансови загуби.

На диаграмата по-горе е показана стойността на час работа за десетте най-големи банки (данни от Forbes за 2017 година). Съгласете се, ако вашата компания наближава по размерите на китайските банки, да обосновете необходимостта от закупуване на СХД за няколко милиона долара няма да е толкова трудно. Правилно е и обратното твърдение: ако бизнесът не понася значителни загуби при простоя, едва ли ще закупи СХД от клас hi-end. Във всеки случай е важно да имате представа за размера на дупката, която може да се образува във вашия портфейл, докато системният администратор се занимава с отказалата да работи система за съхранение на данни.

Секунда за аварийно превключване
В Решение A на изображението по-горе можете да видите нашата система от предишно поколение Dorado V3. Четири нейни контролера работят по двойки, а копията на кеша се съхраняват само в два контролера. Контролерите в парите могат да преразпределят натоварването. В същото време, както виждате, тук няма "фабрики" на фронтенд и бекенд, така че всяка от рафтовете с носители е свързана с конкретна двойка контролери.
На схемата Solution В е показано наличното на пазара решение от друг вендор (разбрахте?). Тук вече има и фронтенд, и бэкенд фабрики, а хранилищата са свързани директно към четирима контролери. Истината е, че в работата на вътрешните алгоритми на системата има неочевидни нюанси при първоначално разглеждане.
Отдясно е представена нашата текуща архитектура на СХД Dorado V6 с целия комплект вътрешни елементи. Нека разгледаме как тези системи понасят типична ситуация — повреда на един контролер.
В класическите системи, към които спада и Dorado V3, периодът, необходим за преразпределение на натоварването при отказ, достига четири секунди. През това време вход-изходът напълно спира. В решението Solution В от нашите колеги, въпреки по-съвременната архитектура, времето за престой при отказ е дори по-високо — шест секунди.
СХД Dorado V6 възстановява работоспособността си само за една секунда след отказ. Такъв резултат се постига благодарение на хомогенната вътрешна RDMA среда, която позволява на контролера да получава достъп до 'чужда' памет. Второто важно обстоятелство е наличието на фронтенд фабрика, благодарение на която пътят за хоста не се променя. Портът остава същият, а натоварването просто се препраща към работещите контролери чрез мултипасинг (multipassing) драйвъри.
Повредата на втория контролер в Dorado V6 се обработва за една секунда по същата схема. При Dorado V3 това отнема около шест секунди, а при решението на друг вендор — девет. За много СУБД подобни интервали вече не могат да се считат приемливи, тъй като през това време системата преминава в режим standby и спира да работи. Това най-вече засяга СУБД, състоящи се от множество части.
Повредата на третия контролер в Solution A не може да се преживее. Просто поради факта, че губим достъп до част от дисковете с данни. От своя страна, Solution В в такава ситуация възстановява работоспособността си, за което е необходимо, както и в предишния случай, девет секунди.
Какво става при Dorado V6? Една секунда.

Какво може да се направи за секунда?
Почти нищо, но и не ни е нужно. Отново ще повторим, че в Dorado V6 от висок клас фабриката на фронтенда е отделена от фабриката на контролерите. А значи, няма и строго определени портове, принадлежещи на конкретен контролер. Преструктурирането при отказ не предполагава търсене на алтернативни пътища или пренастройка на мултипасинга. Системата продължава да работи, както е работила.

Устойчивост на множество откази
По-високите модели Dorado V6 безпроблемно понасят едновременен отказ на два произволни (!) контролера от състава на всякакви „движения“. Това стана възможно благодарение на факта, че сега решението съхранява три копия на кеша. Затова дори при двоен отказ винаги ще има едно цялостно копие.
Синхронен отказ на всички четири контролера в едно от „движенията“ също няма да предизвика фатални последици, тъй като всички три копия на кеша по всяко време са разпределени между „движенията“. За спазването на тази логика на работа следи самата система.
Най-накрая, съвсем малко вероятен сценарий е последователният отказ на седем контролера от осем. Минималният допустим интервал между отделните откази за запазване на функционирането е 15 минути. За това време хранилището изпълнява необходимите операции за миграция на кеша.
Последният оцелял контролер ще осигурява работата на хранилището данни и ще поддържа кеша в продължение на пет дни (по подразбиране, което лесно може да се промени в настройките). След това кешът ще бъде изключен, но работата на хранилището ще продължи.

Необезпокояващи актуализации
Новата ОС Dorado V6 позволява актуализация на фърмуерa на хранилището без рестартиране на контролерите.
Операционната система, както и в предишните решения, е изградена на база Linux, но много оперативни процеси са преместени от ядрото в потребителски режим. Повечето функции, например тези за дедупликация и компресия, вече са обикновени демонски работи, работещи във фонов режим. Благодарение на това, за актуализиране на отделни модули няма нужда да се сменя цялата операционна система. Например, за добавяне на поддръжка на нов протокол, е нужно само да се изключи съответният софтуерен модул и да се стартира нов.
Ясно е, че въпросите за обновление на системата изцяло все още остават, тъй като в ядрото могат да има елементи, които се нуждаят от актуализация. Но такива, по нашите наблюдения, са по-малко от 6% от общия брой. Това позволява да се рестартират контролерите десетки пъти по-рядко, отколкото преди.

Катастрофоустойчиви решения и решения с висока наличност (HA/DR)
Dorado V6 «извън кутията» е готова за интеграция в геораспределени решения, метросистеми и «тройни» дата центрове.
Вляво на илюстрацията по-горе — вече известният на много metro-клъстер. Две СХД работят в режим active/active на разстояние до 100 км една от друга. Подобна инфраструктура с наличието на един или повече кворумни сървъри може да бъде поддържана от решения на различни компании, включително нашата облачна операционна система FusionSphere. Особено значение в такива проекти придобиват характеристиките на канала между площадките, всички останали задачи в нашия случай поема функцията HyperMetro, налична, отново, «извън кутията». Възможна е интеграция по Fibre Channel, а също и по iSCSI в IP мрежи, ако възникне такава необходимост. Няма нужда от задължително наличие на отделна „тъмна“ оптика, тъй като системата може да свързва през наличните канали.
При изграждането на такива системи единственото хардуерно изискване към СХД е осигуряването на портове за репликация. Достатъчно е да закупите лиценз, да стартирате кворумните сървъри — физически или виртуални — и да осигурите IP свързаност до контролерите (10 Mbps, 50 ms).
Тази архитектура лесно може да бъде пренесена на система с три ЦОД-а (вижте дясната част на илюстрацията). Например, когато два ЦОДа работят в режим на metro-клъстер, а третата площадка, разположена на разстояние над 100 км, използва асинхронна репликация.
Системата технологично поддържа различни бизнес сценарии, които ще бъдат реализирани в случай на мащабен инцидент.

Оцеляването на метро-клъстера при няколко отказа
По-горе и по-долу също е показан класически метро-клъстер, състоящ се от две СХД и кворумен сървър. Както виждате, в шест от деветте възможни сценария при множество откази нашата инфраструктура ще остане работоспособна.
Например, втората ситуация, когато един от кворумните сървъри откаже и синхронизацията между площадките се прекрати, системата остава продуктивна, тъй като втората площадка спира работа. Такова поведение вече е заложено в вградените алгоритми.
Даже и след три отказа, достъпът до информацията може да бъде запазен, ако интервалът между тях е поне 15 секунди.

Обичаен козир от ръкава
Напомняме, че Huawei произвежда не само СХД, но и пълен спектър от мрежово оборудване. Какъвто и доставчик на СХД да изберете, ако между площадките се използва WDM мрежа, в 90% от случаите тя ще бъде изградена на решения на нашата компания. Възниква логичният въпрос: защо да се събира зоопарк от системи, когато всичкото гарантирано съвместимо «железо» може да се получи от един доставчик?

По въпроса за производителността
Вероятно, никого вече не трябва да убеждаваме, че преминаването към All-Flash СХД значително намалява разходите за поддръжка на инфраструктурата, тъй като всички рутинни операции се извършват многократно по-бързо. Всички доставчици на подобно оборудване потвърдиха това. Въпреки това много вендори започват да хитруват, когато става дума за спад в производителността при включване на различни режими на работа на СХД.
В нашата индустрия е широко разпространено предоставянето на СХД за тестова експлоатация за един-два дни. Доставчикът стартира 20-минутен тест на празна система, получавайки космически показатели за производителност. А в реална експлоатация бързо изпъкват „подводните камъни“. Вече след едно денонощие красивите стойности IOPS намаляват двойно-троино, а ако СХД е запълнена на 80%, стават още по-ниски. При включване на RAID 5 вместо RAID 10 се губят още 10-15%, а при режим на metro-клъстера производителността допълнително се половинява.
Всичко, което е изброено по-горе, не се отнася за Dorado V6. Нашите клиенти имат възможността да стартират тест за производителност за уикенда или поне за една нощ. Тогава се проявяват сборите на мусора, както и става ясно как активирането на различни опции — като snapshots и репликации — влияе на стойността на постигнатите IOPS.
В Dorado V6 моментните снимки и RAID с паритет не оказват почти никакво влияние върху производителността (3–5% вместо 10-15%). Събирането на боклука (изпълване на клетките на носителя с нули), компресия, дедупликация на СХД, изпълнени на 80%, винаги ще влияят на общата скорост на обработка на запитвания. Но именно Dorado V6 е интересен с това, че каквато и комбинация от функции и защитни механизми да активирате, крайното представяне на СХД няма да падне под 80% от показателя, получен без натоварване.

Балансировка на натоварването
Високата производителност на Dorado V6 се постига чрез балансиране на всеки етап, а именно:
- мултипасинг;
- използване на няколко свързвания от един хост;
- наличие на фронтенд фабрика;
- паралелизиране на работата на контролерите на СХД;
- разпределение на натоварването по всички носители на ниво RAID 2.0+.
По принцип, това е обща практика. В наши дни малко хора държат всичките си данни на един LUN: всички се стараят, така че да имат поне осем, поне четиридесет или дори още повече. Това е очевиден и правилен подход, който ние споделяме. Но ако задачата ви изисква наличието на само един LUN, който е по-лесен за обслужване, нашите архитектурни решения позволяват да постигнете на него производителност от 80% от наличната при използването на няколко LUN.

Динамично планиране на натоварването на процесорите
Разпределението на натоварването на процесорите при използване на един LUN е реализирано по следния начин: задачите още на ниво LUN се разделят на отделни малки „шарди“, всеки от които е строго прикрепен към конкретен контролер в „движка“. Това е направено, за да не губи системата производителност, докато „скочи“ с този фрагмент данни между различни контролери.
Още един механизъм за запазване на високата производителност е динамичното планиране, при което определени ядра на процесорите могат да бъдат отделени за различни пулове задачи. Например, ако в момента системата е в режим на дублиране и компресия, част от ядрата могат да се включат в процеса на обслужване на входно-изходни операции. Или обратно. Всичко това се изпълнява автоматично и прозрачно за потребителя.
Данните за текущото натоварване на всяко от ядрата на Dorado V6 не се показват в графичния интерфейс, но чрез командния ред можете да се обърнете към ОС на контролера и да използвате обикновената командна линия на Linux. top.

Поддръжка на NVMe и RoCE
Както вече споменахме, в момента Dorado V6 напълно поддържа NVMe over Fibre Channel "из коробката" и не изисква никакви лицензи. През средата на годината ще се появи поддръжка на режима NVMe over Ethernet. За пълноценното му използване ще е необходима поддръжка на Ethernet с директен достъп до памет (DMA) версия v2.0 както от страна на самата СХД, така и от страна на комутаторите и мрежовите адаптери. Например, такива като Mellanox ConnectX-4 или ConnectX-5. Може да се използват и мрежови карти, базирани на нашите чипове. Освен това поддръжката на RoCE трябва да бъде реализирана на ниво операционна система.
Общо взето, считаме Dorado V6 за NVMe-ориентирана система. Въпреки наличието на поддръжка за Fibre Channel и iSCSI, в бъдеще планираме преход към високоскоростен Ethernet с RDMA.

Щипка маркетинг
Благодарение на факта, че системата Dorado V6 има висока устойчивост на аварии, добре се мащабира хоризонтално, поддържа различни технологии за мигриране и т.н., икономическият ефект от нейното придобиване се проявява с началото на интензивната експлоатация на СХД. Ние ще продължим да се стараем да направим притежанието на системата максимално изгодно, дори когато в началният етап това не е очевидно.
В частност, създадохме програмата FLASH EVER, свързана с удължаването на жизнения цикъл на СХД и предназначена да облекчи клиента при провеждането на ъпгрейди.

Тази програма включва редица мерки:
- възможност за постепенна подмяна на контролерите и рафтовете с дискове с нови версии без пълна подмяна на оборудването (за системи Dorado V6 клас hi-end);
- възможност за федеративно съхранение (обединение на различни версии Dorado в състава на един хибриден кластер на СХД);
- умна виртуализация (възможност за използване на оборудване на трета страна като част от решението Dorado).

Остава да отбележим, че сложната ситуация в света слабо се отрази на търговските перспективи на новата система. Въпреки че официалният релиз на Dorado V6 се състоя само през януари, виждаме значителен интерес към нея в Китай, а също така голям интерес от страна на руски и международни партньори от сферата на финансите и от правителствени структури.
Освен всичко друго, във връзка с пандемията, колкото и да продължи, особено остро се поставя въпросът за осигуряване на дистанционните служители с виртуални работни места. В този процес Dorado V6 също може да реши много въпроси. За тази цел ние полагаме всички необходими усилия, включително практически се договорихме за включването на новата система в списъка за съвместимост на VMware.
***
Привет, не забравяйте за нашите многобройни уебинари, провеждани не само в рускоязычния сегмент, но и на глобално ниво. Списъкът на уебинарите за април е достъпен на .
Източник: habr.com
