Файловый сервер

Некоторые размышления о совместной работе в сети

С чего начинается работа в компании — с обеспечения обмена информацией. И интенсивность обмена растет вместе с ростом компании, с увеличением числа рабочих проектов, сданных заказчикам объектов, с ростом архива компании.

Задача обеспечения совместного доступа к информации теоретически решается очень просто — закладка «общий доступ» в свойствах папки известна, пожалуй, любому, кто более-менее знаком с Windows. Однако с ростом компании, с увеличением числа отделов, встаёт вопрос разграничения доступа к данным. И если раньше пользователь мог просто «расшарить» (от англ. share — разделять) папку всем, то теперь ему придётся выборочно давать доступ конкретным пользователям. И если в сети нет механизмов централизованного управления пользователями и правами пользователей, то каждому, кто пытается дать доступ к своему компьютеру, придётся прописывать коллег, как пользователей своего компьютера, наделяя их соответствующими полномочиями. И так для каждого рабочего места в компании. И в итоге информация, относящаяся к одному проекту, но находящаяся на разных компьютерах, может кардинально различаться. И будет потрачено время, которого обычно не то, что мало, а практически никогда нет, для выявления и устранения разночтений. Попутно возрастают накладные расходы на управление общими папками и обеспечение резервного копирования ценной информации. А ведь еще есть ограничение на количество одновременных подключений к общим ресурсам в десктопных версиях Windows.

Какой может быть из этого выход? Например, установить отдельный компьютер — файловый сервер (англ. file server), открыть его для совместного доступа, и работать с информацией только на нём. Тогда, в идеале, будет существовать только одна актуальная копия необходимых в работе данных. Изменения в ней будут видны всем заинтересованным в ней пользователям. Да и обеспечить резервное копирование информации (англ. backup) одного компьютера легче.

Но у такого подхода есть и минусы. Ведь в качестве такого сервера в небольших компаниях используют обычные ПК, может только чуть более производительные на фоне других. И выходят эти «сервера» из строя так же, как и обычные ПК, с вытекающей из этого остановкой работы организации, что в итоге может привести к значительным убыткам. Конечно, администратор по возможности постарается иметь некий набор резервных комплектующих, или запасной компьютер целиком, однако выход из строя может повлечь потерю данных. Резервное копирование выполняется с некоторым интервалом (обычно не чаще, чем раз в сутки), поэтому восстановление резервной копии ведет к необходимости восстановить изменения с момента создания последней копии вручную. Что опять же во многих случаях представляет собой потерю денег. Решения на основе десктопных компонентов представляют весьма ограниченные возможности в плане повышения отказоустойчивости — фактически, эти возможности ограничиваются объединением нескольких дисков в RAID. В итоге, это приводит к мысли о необходимости использовать специализированные серверы там, где отказоустойчивость критична для бизнес-процессов.

В чем преимущество «идеологически правильных» серверов? Для начала подумаем, какие требования предъявляются к серверу. Сервер должен предоставлять бесперебойный доступ к своим ресурсам. Главное требование — обеспечение доступности. Доступность обеспечивается отказоустойчивостью и производительностью (если сервер перегружен, то он не способен обслуживать запросы клиентов, и становится недоступен для них). Это, скажем так, технические требования. Есть еще и эксплуатационные — удобство обслуживания и масштабируемость (англ. Scalability — возможность наращивать производительность без смены всего сервера). Рассмотрим эти требования.

Отказоустойчивость. Никто не способен гарантировать 100% надежность всех компонентов сервера, поэтому отказоустойчивость обеспечивается дублированием (англ. redundancy — избыточность). Дублирование блоков питания, контроллеров, RAID-массивы, избыточность модулей памяти, память с поддержкой ECC — все это направлено на обеспечение отказоустойчивости.

Производительность. Здесь, в принципе, все ясно и без дополнительных комментариев. Сравнительно с «обычным ПК» сервер предоставляет более широкие возможности в обеспечении высокой производительности — многопроцессорность, поддержка больших объемов памяти, более высокая пропускная способность внутренней шины и так далее. С другой стороны, не всегда это может требоваться, задачи бывают разные.

Удобство обслуживания. Может показаться неважным, однако это совсем не так — попробуйте остановить для ремонта сервер бухгалтерии во время аврала с годовой отчетностью — наверняка мало не покажется.

Что предоставляет сервер в плане удобства обслуживания? В первую очередь — горячую замену (англ. hotswap — возможность отключать/подключать компоненты сервера без прерывания его работы). Возможностью горячей замены может быть оснащено все — от систем охлаждения до памяти и процессоров. Также к этой категории относятся системы мониторинга, оповещения и удаленного управления, позволяющие управлять сервером даже без участия операционной системы (в частности, см. IPMI).

Масштабируемость. Палка о двух концах: с одной стороны, решение проблем, с другой — потенциальные проблемы. С одной стороны, позволяет взять сервер «на вырост» (двухпроцессорная плата с одним процессором, неполное заполнение слотов памяти), с другой — модельный ряд, например, процессоров обновляется достаточно часто, и через год Вы можете не найти процессор в пару к первому. Пользоваться следует очень аккуратно, почти всегда лучше заранее взять сервер под будущие потребности, чем досадовать от невозможности нарастить производительность по причине банального отсутствия комплектующих.

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

Некоторые термины и определения:

1.Сервер (англ. server от англ. to serve — служить) — совокупность аппаратных и программных средств, выполняющая сервисные функции по запросу клиента, предоставляя ему доступ к определённым ресурсам.
2.Администратор (англ. administrator — управляющий) — сотрудник компании, выполняющий работу по поддержанию работоспособности компьютерного парка и сети компании.
3.Пользователь (англ. user) — лицо, которое использует предоставляемые информационной системой/сетью/сервером/сервисом ресурсы.
4.RAID (англ. redundant array of independent/inexpensive disks) — избыточный массив независимых/недорогих (скорее, недорогих) дисков. Используются как один из элементов обеспечения отказоустойчивости и/или повышения производительности.
5.Hot-spare (англ. горячий резерв) — механизм обеспечения автоматической (либо ручной, в зависимости от политики) замены вышедшего из строя компонента на резервный (резервный компонент подключен к системе и готов к работе, однако не функционирует, пока система работает корректно)
6.Hot-swap (англ. горячая замена) — возможность заменять компоненты системы без выключения всей системы.
7.IPMI — Intelligent Platform Management Interface. Технология, позволяющая администратору удаленно управлять сервером независимо от операционной системы. Подробная информация доступна на сайте Intel.




20 апреля 2007 Г.

— . , , , .

— « » , , , - Windows. , , . ( . share — ) , . , , , , , . . , , , . , , , , . . Windows.

? , — (. file server), , . , , . . (. backup) .

. , . , , , . , , , . ( , ), . . — , RAID. , , -.

« » ? , . . — . ( , , ). , , . — (. Scalability). .

. 100% , (. redundancy). , , RAID-, , ECC — .

. , , . « » — , , . , , .

. , — — .

? — (. hotswap — / ). — . , , ( , . IPMI).

. : , , — . , « » ( , ), — , , , . , , .

, . . , . . . — , , — , — .

:

1. (. server . to serve — ) — , , .
2. (. administrator — ) — , .
3. (. user) — , /// .
4.RAID (. redundant array of independent/inexpensive disks) — / (, ) . / .
5.Hot-spare (. ) — ( , ) ( , , )
6.Hot-swap (. ) — .
7.IPMI — Intelligent Platform Management Interface. , . Intel.