Выбрать главу

Когда-то самым распространенным решением был файл-сервер в домашней сети. Умельцы приспосабливали под него старые компьютеры, от файл-сервера ведь требуется только одно: быстро читать и писать данные, а производительность системы по большому счету не важна. Но обеспечение надежности в такой системе заставит и репу как следует почесать, и кошелек перетряхнуть: для старого компьютера потребуется как минимум RAID-контроллер, что всегда обходилось недешево - и по деньгам, и по затраченным усилиям. Да и сочетание RAID + Windows (даже XP) звучит не слишком обнадеживающе.

Тут-то и всплывают NAS - Network At­tach­ed Storage, сетевые хранилища данных. Собственно, NAS - это в основе своей тот же файл-сервер, только лишенный наворотов, характерных для современных ОС, в первую очередь - привычного оконного интерфейса, поддержки видеоускорителей, мышей-клавиатур, системы управления запуском приложений и прочего, и оптимизированный для дисковых операций. NAS подсоединяется к домашней или офисной сети (даже если она состоит из одного-единственного компьютера) по интерфейсу Ethernet. Причем любой NAS одинаково доступен в любой ОС, включая и Windows, и Mac OS, и даже экзотические версии Unix, ибо управляется через браузер, а как он там устроен внутри - никого не волнует (см. врезку).

NAS хороши еще и тем, что предлагают кучу дополнительных приятностей: кто, например, мешает ввести в его состав FTP и торрент-клиентов? В результате практически все сегодняшние NAS являются "мечтой пирата": они могут в режиме 24х7, без привязки к главному компьютеру, качать заданные файлы. Причем заодно решается главная проблема файлообменных сетей: доминирование личеров - тех, кто только скачивает, но не раздает. Обычно личерами становятся не из принципа, а из нежелания загружать свой канал "лишними" соединениями; если же сетевой накопитель все равно работает сам по себе, то какая вам разница, скачается файл через два дня или через два с половиной?

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

Пожалуй, пора отправляться в магазин. О том, что из этого может получиться, расскажу обязательно.

С сохранением состояния и без него

Обеспечение сетевого доступа к файлам - задача далеко не простая, даже если на всех подключенных устройствах используется одна и та же операционная система. Если же их несколько, вопрос удаленного да еще и совместного доступа к файлам приходится решать принципиально.

Обычная схема чтения файлов с диска, как, например, в системе FAT, когда подпрограмма чтения файла один раз читает в каталоге запись начального кластера, а затем путешествует по цепочке связанных ссылок, пока не дойдет до конца файла, здесь не подходит. Во-первых, потому, что эти операции в разных файловых системах протекают по-разному и предус­мотреть все возможные сочетания файловых систем и ОС, разумеется, невозможно. Во-вторых, потому, что во время чтения сеть может сбоить, а файл между операциями может быть изменен, перенесен (весь или его часть) или даже удален, а потом вновь создан - на то и совместный доступ. Значит, надо придумать механизм, который был бы полностью независимым и от ОС, и от файловой системы, и, к примеру, от уровней RAID, и вообще от того, как там внутри чего устроено. Такой подход, в частности, позволяет производителям NAS создавать свои собственные файловые системы, оптимизированные под удаленное хранение данных[Примером может случить WAFL - файловая система от Network Appliance, в которой данные не стираются при их изменении, а изменения записываются на свободное место, при этом лишь переносится указатель со старого блока на новый. Это повышает скорость записи, облегчает архивирование и откат к старому состоянию.].