2007-01-11

Netdisk

В заметке про NAS я обещал рассказать про Ximeta сетевые внешние диски. Компания появилась на рынке со своей новой патентованной технологией несколько лет назад. Фактически они были одни из первых, кто вышел с NAS на потребительский рынок с доступными ценами. В то время поиск по аббревиатуре NAS давал совершенно дикие цены в тысячах долларов. На самом деле у Ximeta не совсем NAS. Они назвали технологию NDAS.

Собственно, зачем нужен дома NAS? Чтобы иметь в доме диски, доступные с нескольких компьютеров. Можно придумать много вариантов использования. Например media-library.

Настоящий NAS - это такой маленький компьютер, в котором есть процессор, память, встроенная операционная система со своей авторизацией, поддержкой сети, файловой системы, кучи протоколов доступа, Web-сервер для администрирования и т.д. и т.п. Часто это встроенный вариант Линукса с Samba (т.е. сервер, поддерживающий протокол доступа к сетевым дискам, использующийся в Windows). Достоинство - универсальность, поддержка разных операционных систем без специальных драйверов. Но (всегда есть но) есть несколько неудобств. Во первых медленно. Процессор в них обычно не быстрый, а надо поддерживать стек протоколов и файловую систему, памяти для кэша тоже не слишком много. Да и протокол не быстрый, куча команд на каждый файл. В результате копирование кучи мелких файлов происходит ужасно медленно. Во вторых, это всё работает поверх TCP/IP, поэтому надо предусмотреть firewalls и прочее, а выпускать обновления firmware с закрыванием всяких дыр разработчики не спешат. В третьих NAS требует некоторых усилий для настройки доступа, заведения юзеров и паролей и пр.

Ximeta придумала следующее простую штуку: они сделали низкоуровневый не-IP протокол, и сделали драйвер блочного устройства. Фактически переложили всю сложную часть на процессор компьютера, а по сети просто пересылаются блоки данных для физической записи-чтения. В результате диск вообще не содержит универсального процессора и почти такой же простой как и USB-диск, но работает через Ethernet. В результате диск работает очень быстро, особенно для мелких файлов. Просто на порядок быстрее. Поскольку протокол не IP, он не выходит за рамки IP-gateway, но прекрасно работает через свитчи и хабы. И не надо ничего настраивать, всё работает сразу, диск просто выглядит как локальный диск компьютера (нужен драйвер).

Хитрость, вероятно, состоит в том, как сделать возможность одновременного доступа к этому диску, но как-то они это сделали. Я не знаю, насколько это хорошо сделано, у меня дома интенсивность работы невелика и возможность записи включена только с одного компьютера, остальные - только на чтение (и сама возможность так сделать мне очень нравится). Кстати, диски останавливаются через пол-часа или час неиспользования, а при следующем обращении заново раскручиваются, причём если данные в кэше, а корневой каталог всегда там, то даже и не раскручиваются. Короче сделано грамотно и удобно. У меня их уже три штуки и я очень доволен. Я смотрел разные новые NAS-ы и они все жутко медленные и неудобные в настройке. Единственный более-менее, это Slug (описанный недавно), но и его я купил для других целей.

В чем же мораль? Мораль в том, что иногда хороших и очень хороших результатов можно достичь оптимизируя систему "сквозь уровни". Компании удалось упростить и аппаратную часть, и программную часть, и добиться хорошей производительности, и конкурентной цены, просто сделав систему на более нижнем уровне протоколов. Не поддерживая все 7 уровней или сколько их там есть, а напрямую работая с Ethernet протоколом. У них всё сократилось и осталось только необходимое, которое и работает на пределе эффективности.

Кстати, новые диски с гигабитовым ethernet уже будут близки по скорости к обычным дискам и традиционные NAS потеряют здесь всё на процессоре, а NDAS сможет, вероятно, хорошо держать эту скорость. Но гигабитовой сети у меня нет, и я пока её не планирую. Вполне пока хватает того, что есть.

No comments: