Что у нас “внутре”
?? все же, что же внутри системы хранения FAS от Network Appliance? Ответ на этот вопрос есть хороший повод представить вам блог Дэйва Хитца (Dave Hitz), одного из трех отцов-основателей и вице-президента компании, регулярно обновляющийся на вебсайте NetApp (http://blogs.netapp.com/dave) - черезвычайно интересный источник сведений не только о корпоративных пресс-релизах, как это обычно характерно для корпоративных блогов, но и о множестве интересных вещей, происходящих как в компании, так и в отрасли систем хранения в целом.
Не так давно ответ на приведенный вопрос давал сам Дэйв, и мне остается только поместить сюда перевод его поста:
Часто возникает вопрос: «Data ONTAP это UNIX?»
Первая версия Data ONTAP была основана на коде Berkeley Net/2 (одного из ранних open source версии UNIX) включавшего в себя TCP/IP стек, системный загрузчик и драйвера устройств. С тех пор мы использовали множество источников open source кода различных UNIX-релизов. Мы написали «с нуля» интерфейс командной строки, но мы сделали его настолько похожим на стандартный шелл UNIX, поскольку наш исходный рынок ориентировался на системных администраторов UNIX. Таким образом ONTAP без сомнения имеет отношение к UNIX.Однако, с другой стороны, архитектура ONTAP сильно отличается от обычной архитектуры UNIX. Тут нет user space, файловая система полностью иная, чем что-либо использующееся в UNIX, RAID и дисковая подсистема полностью иная, и самое важное, все взаимодействие между подсистемами сильно отличается от того что принято в UNIX. Основные методы передачи данных между сетью и дисками полностью иные чем то, что используется в различных версиях UNIX.
Можно представить себе два различных пути создания «устройства хранения данных». Вы можете начать с UNIX и «отсечь от него лишние куски». ??ли вы можете начать «с чистого листа», изобретя новую архитектуру, оптимизированную под необходимые задачи, используя разработки open source code. Мы выбрали последнее.
??нтересно также то, что наша новая ONTAP GX (в отличие от «традиционной» ONTAP G7) основана на «полноценном» UNIX-релизе. Мы взяли Data ONTAP, включая RAID и WAFL, скомбинировав его с кодом, пришедшим к нам после приобретения компании Spinnaker, и разместили результат во FreeBSD, в комбинации юзер- и кернел-модулей. ??з соображений безопасности и упрощения мы запретили и скрыли множество частей стандартного FreeBSD.
Но вообще говоря даже ONTAP GX не является вариантом «взять UNIX и отсечь все лишнее», поскольку большинство наших системных функций работает внутри больших модулей уровня ядра, «выкидывая» средства UNIX при своей работе. Они отбирают управление почти всей памятью и критически важными для системы драйверами, кроме того мы переписали планировщик задач, чтобы быть уверенным, что UNIX-части не помешают нам при работе. ?? мы все также не используем стандартные UNIX-ные методы внутренней передачи данных (data path).
В чем разница? Одна из причин использования хост-юникса была в том, что нынешние CPU гораздо мощнее тех, с которыми мы начинали (наш первый продукт использовал i486 50MHz), поэтому небольшой оверхед на средства поддержки стандартного UNIX теперь значит для суммарной производительности гораздо меньше.
К тому же, когда мы начинали, не было ни Linux, ни FreeBSD, а AT&T и Berkeley University вели нескончаемую судебную битву за права на большие куски кода Berkeley Net/2.
Часто для многих пользователей, впервые сталкивающихся с миром серьезных систем хранения данных, является откровением то, что внутри многих «железок», считающихся «монолитными» работает та или иная операционая система, причем зачастую обычно знакомая нам по системам общего применения. Так внутри EMC «живет» Windows XP (ранее Windows NT), в системах хранения Hitachi Data Systems используется OS VxWorks компании Wind River, многие системы хранения начального сегмента используют те или иные версии Linux, а системы хранения high end класса компании IBM модели DS8000 несут в себе внутри AIX 5. В использовании операционных систем, в том числе OS «общего применения», таких как Windows NT или AIX, нет ничего «порочащего» таковые системы хранения, ведь главное не «что», а «как». Выше я привел рассказ о том, как именно создается и используется внутренняя OS в промышленной системе хранения данных.