Что такое файловый сервер для чайников. Сетевое хранилище (сетевой накопитель) как файловый сервер. Некоторые термины и определения

Введение

Возможно, вы всё же решились и собрались построить свой собственный файловый сервер. Но зачем вообще беспокоиться насчёт выделенного файлового сервера, когда настольные жёсткие диски вашего ПК уже предлагают больше 2 Тбайт пространства? Лично я собрал свой файловый сервер для резервирования данных отдельно от рабочего ПК.

Ещё одна хорошая причина для установки сетевого сервера заключается в облегчении доступа к данным с нескольких компьютеров. Например, если у вас имеется коллекция MP3, и вы хотите слушать музыку из коллекции на HTPC в гостиной комнате, то лучше всего хранить музыку централизованно и прослушивать её по сети.


Модуль Cooler Master 4-in-3 во внешних отсеках корпуса. Он позволил нам использовать на четыре жёстких диска больше, чем стандартно поддерживает корпус. Нажмите на картинку для увеличения.

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

Почему не NAS?

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

Внешние жёсткие диски доступны с разными интерфейсами. Наиболее распространён интерфейс USB 2.0. Он работает не очень быстро (480 Мбит/с), но практически каждый компьютер оснащён портами USB. Ещё один популярный интерфейс - FireWire. Существуют две популярные скорости FireWire: 400 и 800 Мбит/с. Большинство внешних дисков, поддерживающих FireWire, оснащено интерфейсом со скоростью 400 Мбит/с. На практике он оказывается даже быстрее USB. Но, к сожалению, этот интерфейс проигрывает USB по универсальности. Самым современным (и быстрым) интерфейсом для внешних накопителей является eSATA. Он работает на скорости 3 Гбит/с и соответствует при этом производительности внутренних портов SATA; сегодня этот интерфейс даёт большую пропускную способность, чем способен дать любой механический жёсткий диск.


Мой старый файловый сервер. Обычный корпус с хорошим воздушным потоком. Нажмите на картинку для увеличения.

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

Ограничения напрямую подключённых хранилищ DAS можно обойти, если не подключать хранилище к компьютеру вообще, использовав для этой цели сеть - мы переходим к сетевым хранилищам (network-attached storage, NAS). Если хранилище NAS включено, то вы сможете получить к нему доступ с любого компьютера в сети. Скорее всего, вы будете подключать хранилище через гигабитный сетевой порт (Gigabit Ethernet), которого будет достаточно по скорости для большинства пользователей. Если гигабитного сетевого порта недостаточно, то для ваших задач наверняка потребуется high-end устройство с множеством гигабитных портов, ёмким хранилищем и поддержкой функции объединения портов (teaming).

Хранилища DAS и NAS часто содержат несколько жёстких дисков. Некоторые оснастки позволяют устанавливать пару винчестеров, а некоторые даже ещё больше. Оснастка может поддерживать массивы RAID 0 (чередование, увеличение скорости по сравнению с одним жёстким диском), RAID 1 (зеркалирование, защита от сбоя одного жёсткого диска) или RAID 5 (чередование с избыточностью, увеличивает скорость и защищает от сбоя одного жёсткого диска). Некоторые high-end хранилища могут даже поддерживать массивы RAID 6, которые аналогичны RAID 5, но могут выдерживать выход из строя двух жёстких дисков.

Впрочем, у упомянутых оснасток RAID есть свои ограничения. Стоят они недёшево. Например, хранилище Qnap TS-509 Pro обойдётся в $800 () без жёстких дисков, хотя оно поддерживает массивы RAID 5 и 6. С подобной системой, как и с большинством предварительно сконфигурированных хранилищ, вам придётся использовать предварительно установленное рабочее окружение, которое может быть не таким гибким, как предпочитаемое вами программное обеспечение. Наконец, если некоторые розничные хранилища NAS поддерживают расширение, большинство моделей ограничено одним портом eSATA или парой портов USB.

Что ж, давайте посмотрим, сможет ли обычное компьютерное "железо" достичь тех же целей, что и хранилище NAS.

Конечно, мы имеем в виду другое решение, которое дешевле и обеспечивает большую гибкость: сборка собственного файлового сервера. Причём никаких причин, которые мешали бы вам собрать такой сервер самостоятельно, просто нет. Сборка файлового сервера ничем не отличается от обычного компьютера - точно так же поступают энтузиасты, которые сами собирают свои системы, а не покупают собранные системные блоки в магазине.


Установленный модуль Cooler Master Stacker 4-in-3. Прекрасное устройство, если вы не меняете свои жёсткие диски часто. Нажмите на картинку для увеличения.

Конечно, при сборке файлового сервера придётся принять немало решений. Среди самых важных: какой объём данных вы планируете хранить, какая избыточность вам потребуется, а также сколько жёстких дисков вы планируете использовать. Если вы планируете хранить большие объёмы информации, то мы рекомендуем минимизировать цену одного гигабайта вместо покупки самых ёмких доступных жёстких дисков. Сегодня минимальная стоимость гигабайта наблюдается у жёстких дисков ёмкостью 1,5 Тбайт. Лично мне нравятся массивы RAID 5, поскольку они могут выдержать выход из строя одного жёсткого диска. Если вы планируете использовать больше восьми или десяти жёстких дисков, то лучше собрать несколько массивов RAID 5 на четырёх или пяти винчестерах каждый, либо использовать массивы RAID 6, чтобы защититься от сбоя более одного жёсткого диска.

Корпус


Штатно жёсткие диски устанавливаются в корпус в соответствующие крепления. Обратите внимание на 120-мм нагнетательный вентилятор, обдувающий жёсткие диски. Не менее важно, чтобы передняя панель корпуса пропускала достаточное количество холодного воздуха. Нажмите на картинку для увеличения.

Вам потребуется достаточно крупный корпус, чтобы вместить все ваши жёсткие диски. Впрочем, если вы уже купили слишком маленький корпус, никто не мешает позднее перенести систему в более крупную модель.

Корпус должен обеспечивать достаточное охлаждение жёстких дисков. В принципе, сегодня можно купить разнообразные модели корпусов, удовлетворяющие этому условию. Для первого файлового сервера я взял простой корпус. Он использовал 120-мм вентилятор для охлаждения жёстких дисков спереди, а также предусматривал 120-мм вытяжной вентилятор сзади. К нему я добавил модуль "Cooler Master 4-in-3" с отдельным 120-мм вентилятором для охлаждения жёстких дисков. Этот модуль прекрасно подходит для установки дополнительных винчестеров. Разве что для смены одного жёсткого диска приходится извлекать весь модуль целиком.

Для второго файлового сервера я выбрал две оснастки Supermicro SATA с "горячей" заменой, каждая из которых способна вместить пять жёстких дисков. Они стоят намного дороже модуля Cooler Master, но и предоставляют больше функций. Оснастки Supermicro использовали очень громкий 92-мм вентилятор (который я замедлил с помощью контроллера вентиляторов), поднимали тревогу, если вентилятор остановится или температура поднимется слишком сильно, а также отображали доступ к каждому жёсткому диску. Но, что удобнее всего, оснастка позволяла менять жёсткие диски, не открывая сам корпус, а если операционная система поддерживала "горячую" замену, то и без выключения компьютера.

Сетевой интерфейс


Материнская плата Asus CUR-DLS, два Pentium III 933 и 1,1 Гбайт памяти ECC. Нажмите на картинку для увеличения.

Для файлового сервера не помешает гигабитный сетевой интерфейс Gigabit Ethernet, который ускорит сетевые операции. Не помешает и поддержка jumbo-кадров, если ваш Ethernet-коммутатор и сетевой адаптер буду с ними работать (большинство новых устройств их поддерживают).

Изначально протокол Ethernet предусматривал максимальный размер кадра 1500 байт. Этого было достаточно, когда скорость сети составляла 10 Мбит/с. Когда была представлена гигабитная скорость вместе со стандартом Gigabit Ethernet, служебная информация, связанная с пакетами небольшого размера, стала весьма существенной. Поэтому индустрия де-факто согласилась поддерживать пакеты большего размера - был выбран размер 9000 байт. То есть вы можете передавать такое же количество данных, что и с пакетами стандартного размера, но число пакетов будет в шесть раз меньше, то же самое касается и объёма служебной информации.

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

С другой стороны, вы можете купить 8-портовыый коммутатор примерно за $40. Большинство современных материнских плат оснащены поддержкой Gigabit Ethernet "на борту", но если ваша материнская плата не поддерживает гигабитную сеть, то лучше купить сетевую карту PCI-X или PCI Express (PCIe) вместо 32-битной карты PCI. У нас имеется весьма успешный опыт работы с сетевыми картами PCI-X от Intel и Broadcom.

Блок питания


Интерьер корпуса. Конечно, он выглядит не так красиво с четырьмя кабелями PATA, семью жёсткими дисками, приводом DVD и проводами питания. Нажмите на картинку для увеличения.

Внутренние компоненты должны достаточно хорошо охлаждаться. Чем меньше тепла будет создаваться внутри, тем меньше придётся выбрасывать наружу. Поэтому лучше взять экономичные жёсткие диски , которые потребляют меньше энергии, чем стандартные модели. То же самое касается и процессоров - экономичные CPU могут снизить энергопотребление и тепловыделение системы. Мы рекомендуем взять оба варианта.

Кроме того, мы рекомендуем выбрать эффективный блок питания, соответствующий стандарту "80 PLUS". На рынке присутствуют блоки питания стандартов 80+ Bronze (82%) и 80+ Silver (85%) с разумной ценой. Кроме того, важно правильно подобрать мощность блока питания. Жёсткие диски потребляют больше всего энергии во время раскручивания пластин. Хороший контроллер жёстких дисков использует отложенный запуск пластин, чтобы минимизировать этот эффект. Впрочем, мы пока ещё не встречали контроллеры, интегрированные в чипсет, которые бы поддерживали эту функцию.

Оба моих сервера используют блоки питания с эффективностью выше 80%. Первый сервер построен на базе двух 933-МГц процессоров Pentium III, шести 250-Гбайт жёстких дисков и винчестера с операционной системой. Пиковое энергопотребление во время загрузки составляет 214 Вт, а энергопотребление при 100% нагрузке на CPU - 95 Вт. Второй сервер использует два 2,8-ГГц процессора Xeon с пониженным энергопотреблением и шесть 750-Гбайт жёстких дисков плюс винчестер с операционной системой. Пиковое энергопотребление во время загрузки составляет 315 Вт, во время бездействия - 164 Вт, а во время 100% нагрузки на CPU - 260 Вт.

Если у вас не установлено ещё шесть жёстких дисков в массиве или вы не используете очень горячий CPU, то вам не потребуется блок питания с заявленной мощностью выше 400 Вт. Конечно, блок питания должен давать достаточно энергии для различных линий напряжения, которые нужны компьютеру, но покупка модели на 750 Вт и выше станет пустой тратой денег. Да и работать такой блок питания будет менее эффективно, чем 400-Вт модель.

Память

Большинство энтузиастов не очень много времени уделяют надёжности работы памяти. Их больше интересуют тактовые частоты и задержки, которые в данном сценарии менее важны, чем надёжность. Когда данные поступают в файловый сервер или передаются на клиентские компьютеры, они сначала сохраняются в оперативной памяти. Да и данные на диске кэшируются тоже в памяти. Лучшие готовые файловые серверы используют память с коррекцией ошибок (error correcting code, ECC), а самые дешёвые построены на обычной памяти. На мой взгляд, вряд ли имеет смысл собирать высокопроизводительный файловый сервер, и при этом не использовать память ECC.


Карта контроллера Supermicro MV8, вставленная в слот PCI-X. Нажмите на картинку для увеличения.

Память вряд ли можно считать источником постоянных ошибок, но время от времени случайные ошибки могут происходить. По оценкам IBM, у 1 Гбайт памяти случайная ошибка происходит раз в неделю. Причиной подобных ошибок являются альфа-частицы в упаковке памяти и космические лучи. Однако у памяти ECC существует дополнительный механизм, который определяет и исправляет ошибки памяти. Стандартная память ECC может определять все 2-битовые ошибки в 64 битах памяти и исправлять 1-битовые ошибки. Есть контроллеры ECC и более высокого класса, например, которые IBM предлагает с памятью Chipkill.

Ошибки в областях памяти, которые будут перезаписаны перед чтением, либо в неиспользуемых областях памяти проблем не вызывают. Но ошибка памяти, которая каким-либо образом скажется на обработке данных, это уже плохо. Серьёзные серверные материнские платы, например, модели от Tyan и Supermicro, способны фиксировать ошибки памяти в журнале. Менее дорогие материнские платы, такие как Asus CUR-DLS и Asus NCCH-DL в моих серверах, поддерживают память ECC, но не журналируют ошибки памяти.

Есть чипсеты, которые не поддерживают память ECC вообще, и материнские платы на этих чипсетах тоже не будут поддерживать память ECC. Мы рекомендуем использовать только материнские платы с поддержкой ECC и устанавливать в них память ECC. Если вас серьёзно беспокоят ошибки памяти, то лучше всего выбирать материнскую плату с поддержкой технологии IBM Chipkill, которая определяет и исправляет многие многобитовые ошибки и даже может продолжать работу, если один чип памяти даст сбой.

Шины


120-мм вытяжной вентилятор сзади за чёрной решёткой. Нажмите на картинку для увеличения.

Большинство старых материнских плат поддерживают 32-битные слоты PCI, которые подключены к общей шине и совместно используют доступную пропускную способность. Если взглянуть на диаграмму чипсета этих материнских плат, то контроллер Ethernet, контроллеры IDE и SATA - все они подключены к шине PCI. Если сложить пропускную способность дисков и Ethernet, то мы упрёмся в теоретическое ограничение 133 Мбайт/с. Работать наша система, конечно, будет, но всё это приведёт к замедлению файлового сервера.

Существует большое количество старых серверных материнских плат, которые оснащены слотами PCI-X (не путать с PCI Express). Эти слоты более интересны, поскольку они используют шину, которая отделена от 32-битной шины PCI. Если вы установите контроллеры жёстких дисков в слоты PCI-X, то пропускной способности ввода/вывода ничего мешать не будет.

Мой первый файловый сервер использовал материнскую плату Asus CUR-DLS с 64-битными 33-МГц (266 Мбайт/с) слотами PCI-X. Второй файловый сервер был собран на материнской плате Asus NCCH-DL с 64-битными 66-МГц слотами PCI-X, которые поддерживают пропускную способность 533 Мбайт/с - быстрее, чем у шести моих накопителей SATA. Карта контроллера может работать с шиной до 133 МГц, что может дать пропускную способность до 1066 Мбайт/с на новых материнских платах.

Если ваша платформа поддерживает PCI Express, то слоты с количеством линий больше одной окажутся достаточными для домашнего файлового сервера, да и пропускная способность 266 Мбайт/с довольно хороша.

Есть ещё одно потенциальное "узкое место", которое нужно учитывать: соединение между южным и северным мостом на вашей материнской плате. Хотя Asus NCCH-DL оснащена 64-битными 66-МГц слотами PCI-X, связь между мостами осуществляется со скоростью всего 266 Мбайт/с. В теории это должно ограничивать пропускную способность ввода/вывода. К счастью, на практике проблемы с этим возникают редко, да и новые чипсеты обычно поддерживают более высокие скорости интерфейса между мостами.

Контроллер


Оснастки для жёстких дисков Supermicro. Им требуется всего два подключения питания. Я добавил контроллер вентилятора к каждой оснастке, чтобы замедлять скорость вращения. Нажмите на картинку для увеличения.

Многие современные материнские платы оснащаются шестью портами SATA 3 Гбит/с. У старых моделей может быть меньше портов, да и они могут использовать менее скоростной стандарт SATA 1,5 Гбит/с. Так что высока вероятность, что вам придётся докупать в систему карту контроллера.

На рынке можно найти разнообразные карты контроллеров с разными интерфейсами. Что касается новых систем, то наиболее популярны карты с интерфейсом PCI Express. Данный интерфейс обеспечивает значительную пропускную способность, а старый интерфейс PCI-X даёт достаточную пропускную способность для старых систем. Для менее дорогих систем можно использовать 32-битную шину PCI, хотя она будет ограничивать производительность.

Существуют обычные карты-контроллеры накопителей (host bus adapters) и RAID-контроллеры. Если использовать терминологию Linux, то карты RAID можно разделить на две группы: FakeRAID и настоящий RAID. Если карта выполняет вычисления информации избыточности XOR самостоятельно, то её можно считать настоящим RAID-контроллером. Иначе она будет использовать CPU для этих вычислений и программные драйверы.

Наш новый сервер использует карту Supermicro SAT2-MV8 с восемью портами SATA 3 Гбит/с. Это контроллер с интерфейсом PCI-X, который может работать с частотой до 133 МГц. Карта весьма приятная, с хорошей программной поддержкой. Мы выбрали её по той причине, что наша материнская плата не имеет портов SATA 3 Гбит/с, но оснащена слотами PCI-X.

Мы также приобрели простую карту-контроллер HBA Rosewill с четырьмя портами SATA 1,5 Гбит/с. Она использует 32-битный интерфейс PCI, хотя может работать с интерфейсом на 33 и 66 МГц. Карта поддерживает конфигурации JBOD, которые и требуются для программного RAID. Наша плата Asus NCCH-DL оснащена контроллером Promise PDC20319, то есть ещё одним простым HBA, однако он не поддерживает JBOD, поэтому был бесполезен в данном случае.


Мы использовали две PCI-карты Promise PATA. Они распложены на выделенной шине, к которой не подключены другие устройства. Нажмите на картинку для увеличения.

Неплохо также проверить поддержку под Linux вашего контроллера (если вы планируете устанавливать эту систему на ваш файловый сервер). Для этого следует узнать модель контроллера накопителей на карте и проверить поддержку его под Linux. Конечно, если производитель карты предоставляет драйвер под Linux, то вам повезло.

Жёсткие диски

Мы рекомендуем жёсткие диски SATA. Они сегодня доступны в больших ёмкостях, да и стоят весьма доступно. Архитектура SATA относится к типу "точка-точка", то есть пропускную способность интерфейса с другими устройствами делить не придётся. Я собрал свой первый файловый сервер на жёстких дисках с параллельным интерфейсом ATA (PATA), при этом к каждому каналу я подключил два винчестера. Но если один жёсткий диск выйдет из строя, то контроллер, скорее всего, запишет в сбойные диски оба винчестера на канале и повиснет. Если вы купите приличный RAID-контроллер PATA, то он наверняка будет поддерживать по одному жёсткому диску на канал, чтобы предотвратить эту проблему. Конечно, в случае PATA придётся смириться с мешаниной кабелей. Это одна из причин, почему индустрия перешла на интерфейс SATA.

Центральный процессор


Asus NCCH-DL. Два процессора Xeon (SL7HU) с пониженным энергопотреблением работают на 2,6 ГГц. Нажмите на картинку для увеличения.

Для файлового сервера вам вряд ли потребуется суперскоростной CPU. Но неплохой идеей можно считать установку более одного процессора. Один CPU будет нагружен расчётом информации избыточности (необходима для RAID 5), а если же вы выбрали RAID 6, то процессору придётся выполнять ещё больше расчётов, на что потребуется больше ресурсов CPU.

Наш первый файловый сервер использовал два 933-МГц процессора Pentium III. Мы наблюдали 100% загрузку CPU во время перестройки массива RAID, поэтому мы рекомендуем более быстрые процессоры. Второй файловый сервер использовал два 2,8-ГГц процессора Xeon с поддержкой Hyper-Threading, при этом мы так ни разу и не видели, чтобы оба ядра получали 100% загрузку CPU.

2-ГГц двуядерного процессора AMD, скорее всего, будет достаточно. Конечно, новые процессоры работают более эффективно, поэтому если у вас есть под рукой более современная платформа, то вы сможете сэкономить энергию и получить вместе с тем лучшую производительность.

Если бы я покупал новый процессор для файлового сервера сегодня, то наверняка выбрал бы медленный и дешёвый AMD Phenom II. Причина кроется в том, что сам процессор стоит дёшево, материнские платы под него тоже стоят весьма разумно, процессор работает без сильного нагрева, а чипсеты материнских плат, как правило, поддерживают память ECC и Chipkill.


Мой новый файловый сервер на основе Cooler Master Stacker. Спереди можно заметить две оснастки Supermicro SATA c "горячей" заменой, в каждую из которых можно установить до пяти жёстких дисков. Нажмите на картинку для увеличения.

UPS

Независимо от выбранного "железа", вам следует использовать UPS, чтобы система была защищена от сбоев электросети. Можно купить дешёвый UPS, но качественный блок бесперебойного питания окупит себя в долгосрочной перспективе. Как минимум, UPS должен позволить вам выключить файловый сервер стандартным образом до окончания заряда UPS, что требует три-пять минут автономной работы. Ещё приятно и то, что у большинства UPS присутствует защита от перенапряжения в сети.

Цены

Конечно, разброс цен довольно существенный, и в итоге затраты на файловый сервер зависят от требуемого объёма для хранения данных, а также от "железа", которое лежит у вас без дела. Ниже приведена смета типичного файлового сервера энтузиаста.

  • Корпус: $150 за модель, схожую с моим Cooler Master Stacker 810. При выборе учитывайте возможность установки большого количества жёстких дисков.
  • Блок питания: $50 за 350-Вт модель с сертификацией 80 PLUS.
  • Жёсткие диски: шесть 1-Тбайт винчестеров, примерно $80 каждый.
  • Жёсткий диск для операционной системы: бесплатный, если под рукой есть 10-Гбайт накопитель.
  • DVD-привод: $20.
  • Материнская плата: $100 за б/у материнскую плату для установки двух процессоров Opteron с 2-4 Гбайт памяти ECC, если у вас под рукой нет ненужного "железа". Можно начать с материнской платы для двух процессоров Pentium III, которую можно найти за копейки. За новую материнскую плату с гарантией будьте готовы отдать больше $150.
  • Память: $50.
  • CPU: $100.
  • Контроллер SATA: $100.

Итоговая цена составляет около $420-$620 плюс $540 за жёсткие диски. За эти деньги вы получите файловый сервер с 5-Тбайт массивом RAID 5, который можно легко расширить до восьми или большего количества жёстких дисков. Если вы собираете сервер самостоятельно, то наверняка сможете использовать различные старые комплектующие. В результате вы получите сервер дешевле, чем большинство моделей NAS, которые могут вмещать четыре или пять жёстких дисков, ваша система будет работать быстрее, и будет обеспечивать намного лучшую гибкость.

Программное обеспечение


Интерьер нового файлового сервера. Нажмите на картинку для увеличения.

Итак, файловый сервер собран. Для тестов мы рекомендуем использовать Knoppix Linux - систему, которая загружается с CD или DVD. Вы сможете проверить, распознает ли ОС Linux всё ваше "железо". Что касается Windows, то под эту систему практически всегда есть драйверы от производителя, которые достаточно хорошо протестированы. Вместе с тем под Linux предлагают драйверы далеко не все производители, поэтому зачастую приходится использовать драйверы, написанные энтузиастами Linux.

Конечно, более опытные производители предоставляют драйверы под Linux. Например, все беспроводные контроллеры Intel 802.11x снабжаются драйверами напрямую от Intel. Мы рекомендуем брать "железо" тех производителей, кто занимается поддержкой своего оборудования под Linux.

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

Кроме того, вполне возможно, что самые свежие дистрибутивы Linux будут поддерживать ваше "железо", а чуть более старый дистрибутив Knoppix - не будет. Такая ситуация часто случается с самым новым "железом". В общем, запишите на диск самый свежий дистрибутив Knoppix, укажите в BIOS загрузку с CD, после чего ваш компьютер запустит Knoppix.

Ещё одной полезной возможностью будет загрузочный тест memtest86+. Обычно я запускаю его в течение суток, чтобы убедиться в стабильной работе системы и отсутствии ошибок памяти. Нет никакого смысла устанавливать ОС и программное обеспечение, если система работает нестабильно.

Операционная система


Задняя часть корпуса со 120-мм вытяжным вентилятором. Нажмите на картинку для увеличения.

Существует несколько вариантов выбора операционных систем, которые поддерживают программные массивы RAID, например, ОС Microsoft Windows Server с поддержкой RAID 5. Можно даже настроить Windows XP для поддержки RAID 5 .

Впрочем, мы не рекомендуем Windows по нескольким причинам. Первая: эта система стоит дорого. Цены на Windows Server 2008 начинаются примерно с уровня $999. Ещё одна причина заключается в том, что Windows не даёт таких современных опций по поддержке RAID, как другие операционные системы. Наконец, Windows (по мнению автора) менее безопасная и надёжная ОС, что немаловажно для файловых серверов.

Существует несколько способов оценки надёжности и безопасности, при этом вы можете найти немало отчётов, некоторые из которых финансируются самими производителями. Например, хороший . Хотя он и датирован 2004 годом, основные моменты остаются верными и сегодня. Для 40 лидирующих уязвимостей рейтинг опасности системы Microsoft составил 54,67, а Red Hat Linux - 17,96. Если вы планируете использовать ОС Windows для файлового сервера, то сначала ознакомьтесь с отчётом.

Затем можно выбрать одну из доступных версией BSD: OpenBSD, FreeBSD и другие. Они бесплатные, при этом отличаются разумной надёжностью и безопасностью. Но самым главным недостатком является то, что эти ОС не такие современные, как Linux в отношении поддержки RAID.

ОС OpenSolaris тоже бесплатная, при этом она надёжная и безопасная. Но аппаратная поддержка у этой ОС весьма ограничена. С другой стороны, здесь вы получите ZFS - на сегодня это наиболее продуманная, надёжная и стабильная файловая система. Кроме того, она включает поддержку RAID 5 и RAID 6. Данная ОС не такая популярная, как Linux, но если вы с ней знакомы, то выбор для файлового сервера окажется весьма достойным.

Наконец, есть Linux, которая тоже бесплатная, надёжная и безопасная. У этой ОС замечательная поддержка "железа", присутствует поддержка массивов RAID 5, RAID 6, RAID 10 и практически любых других видов RAID. Linux развивается довольно быстро, новое "железо" практически сразу получает поддержку, да и новые программные функции добавляются регулярно. Когда вы обновляете систему Linux, вам даже не требуется её перегружать, поэтому системы Linux могут непрерывно работать многие месяцы или даже годы.

Существует множество разных дистрибутивов Linux. Некоторые, подобные Red Hat, обеспечивают лучшую долгосрочную поддержку по сравнению с другими дистрибутивами. Другие, подобные Fedora (тоже распространяется Red Hat), нацелены на быструю интеграцию в дистрибутив новых программ. Основное преимущество Ubuntu заключается в дружественности к пользователю, поэтому данный дистрибутив наиболее популярен. Вы можете .

Мы же выбрали Mandriva Linux, поскольку раз в два года выходят новые релизы, поддержка длится несколько лет, да и все необходимые функции в этом дистрибутиве присутствуют. Впрочем, подойдёт любой приличный дистрибутив Linux. Дополнительную документацию можно получить . По ссылке вы найдёте очень хорошую инструкцию по Mandriva, с которой мы рекомендуем ознакомиться перед установкой Linux впервые.

На мой взгляд, это очень отличная тема для описания. В своё время было интересно поднять какой-либо сервер на своём компьютере для более удобного обмена файлами. Попробовав различные и даже протокол, я понял, что мне они абсолютно не нравятся, первые выглядят в браузере, мягко говоря, убого, вторые хотя и имеют свои явные преимущества, но подключать сетевой диск на чужих компьютерах не хочется. Но в один (прекрасный и солнечный) день я встретил программу под названием HTTP File Server (сокращенно HFS), установил, настроил (так как я начинал работать с самой чистой версией, с этим были некоторые проблемы) и почти влюбился в эту программу. Для доступа к моим файлам теперь достаточно иметь любой браузер, так как весь доступ осуществляется, через обычную веб-страницу. Также у меня создана папка, в которую человек, знающий пароль, может добавить файл прямо через браузер. Файлы с сервера можно качать как по одному, так и сразу папками. Программа сама поместит папку в.tar архив без сжатия и отправит для скачивания. При этом сайт имеет довольно опрятный вид, хотя при желании (и достаточных знаниях) можно самому написать шаблон сайта. Признайте, что это отличный способ для легкой и удобной передачи файлов?

И вот пример страницы, которую вы будете видеть в окне браузера, как видите всё красиво и опрятно, на форуме программы можно найти много красивых шаблонов:

Хотя её меню полностью на английском языке, для меня это не является помехой. А для тех, кто плохо знает английский, в конце статьи я постараюсь максимально полно объяснить за что отвечают все разделы меню и как ими пользоваться.

Итак, перейдем к установке и настройке HTTP File Server:

1) Чтобы несколько сэкономить вам время, я приготовил сборку HFS с русскоязычным шаблоном сайта и произвел первоначальную настройку самой программы. Скачать сборку можно с моего Яндекс.Диск’а по ссылке . Если же вы уверены в своих способностях, то можете скачать чистую версию программу на официальном сайте http://www.rejetto.com/hfs/

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа.

Спасибо за внимание:)

Сервер – это компьютер, предоставляющий свои ресурсы (диски, принтеры, каталоги, файлы и т.п.) другим пользователям сети.

Файловый сервер обслуживает рабочие станции. В настоящее время это обычно быстродействующий ПК на базе процессоров Pentium, работающие с тактовой частотой 500 Мгц и выше, с объемом ОЗУ 128Мбт или более. Чаще всего файловый сервер выполняет только эти функции. Но иногда в малых ЛВС файл–сервер используется еще и в качестве рабочей станции. На файловом сервере должна стоять сетевая операционная система, а также сетевое программное обеспечение. К сетевому программному обеспечению сервера относятся сетевые службы и протоколы, а также средства администрирования сервера.

Файловые серверы могут контролировать доступ пользователей к различным частям файловой системы. Это обычно осуществляется разрешением пользователю присоединить некоторую файловую систему (или каталог) к рабочей станции пользователя для дальнейшего использования как локального диска.

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

Первичный контроллер домена, сервер, на котором хранится база бюджетов пользователей и поддерживается политика защиты.

Вторичный контроллер домена, сервер, на котором хранится резервная копия базы бюджетов пользователей и политики защиты.

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

Сервер базы данных, выполняющий обработку запросов, направляемых базе данных.

Proxy сервер, подключающий локальную сеть к сети Internet.

Web–сервер, предназначенный для работы с web–информацией.

Файловый сервер, обеспечивающий функционирование распределенных ресурсов, включая файлы, программное обеспечение.

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

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

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


Почтовый сервер, предоставляющий сервис в ответ на запросы, присланные по электронной почте.

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

Терминальный сервер, объединяющий группу терминалов, упрощающий переключения при их перемещении.

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

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

Факс–сервер, обеспечивающий передачу и прием сообщений в стандартах факсимильной связи.

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

При создании файлового сервера неизбежно возникает вопрос выбора операционной системы. Здесь есть над чем задуматься: потратить деньги на Windows Server или обратить внимание на бесплатные Linux и BSD? Во втором случае придется еще определиться с выбором файловой системы, которых в Linux довольно много. Однозначного ответа на поставленные вопросы дать нельзя, нужно разностороннее тестирование, которое мы провели в нашей тестовой лаборатории.

Как мы тестировали

Нельзя объять необъятное. Так и в нашем случае. Невозможно протестировать все варианты файловых серверов. Поэтому мы решили ограничиться самыми распространенными. Для Windows Server это версии 2003 и 2008 R2, поскольку первая еще продолжает широко использоваться, а последняя интересна техническими новинками, в частности поддержкой протокола SMB2, файловая система NTFS.

Для Linuх платформы был выбран Ubuntu 10.04 LTS, проведя ряд дополнительных тестов, мы выяснили, что производительность файловых серверов практически не зависит от дистрибутива Linux, в тоже время наблюдается определенная зависимость от версии Samba (в нашем случае 3.4.7). Из всего многообразия файловых систем мы выбрали наиболее распространенные и популярные: ext3, ext4, reiserfs, XFS, JFS. Также был протестирован дистрибутив FreeNAS, как представитель семейства BSD (собран на базе FreeBSD 7.2) с UFS.

В качестве клиента использовали Windows 7 32-бита. Сразу огорчим поклонников XP, нравится вам это или нет, именно Windows 7 станет в ближайшие годы корпоративной OC по умолчанию.

Для тестовой платформы использовались два ПК Core2 Duo E8400 - P45 - 2 Гб PC2-8500 , соединенных гигабитной сетью. На одном из них установлена Windows 7, на втором устанавливались серверные ОС и был подключен дополнительный жесткий диск 750 Gb Western Digital RE3 использовавшийся исключительно для тестирования. Этот диск форматировался в нужную файловую систему и настраивался в качестве общего ресурса.

Тестирование проводилось при помощи пакета Intel NASPT 1.0.7, подробнее о входящих в его состав тестах можно . Для каждой конфигурации мы производили 5 прогонов теста, используя в качестве окончательного средний результат.

Файловые операции

Работа с файлами

На операциях записи уверенно лидирует Windows Server, опережая Linux более чем в два раза, на операциях чтения разрыв между Linux и Windows Server 2003 практически сокращается, однако Windows Server 2008 R2 удерживает высокие позиции, значительно опережая как Linux, так и Windows Server 2003.

В семействе файловых систем Linux при работе с большими файлами неожиданно лидирует reiserfs, ext4 показала довольно низкие результаты при записи, а ext 3 при чтении. JFS - аутсайдер тестирования, и имеет проблемы с записью больших файлов, показав неприемлемо низкий результат. FreeNAS показал весьма скромный результат, по нижней планке Linux систем.

Работа с папками

При работе с большим количеством небольших файлов распределенных по папкам разной степени вложенности результат более равномерный. Windows системы снова лидируют, хотя не со столь впечатляющим отрывом. SMB2 и здесь дает о себе знать, выводя Windows Server 2008 R2 в несомненные лидеры с 40% превосходством над Linux.

В Linux стане результаты довольно ровные, на запись незначительно лидируют reiserfs и JFS, на чтение явного лидера нет, JFS явный аутсайдер. FreeNAS имеет сопоставимые результаты, незначительно опережая при чтении и незначительно отставая при записи.

Работа с приложениями

Итак, абсолютный лидер на сегодня это Windows Server 2008 R2, протокол SMB2 показывает значительное преимущество, не оставляя шансов конкурентам. Если перед вами стоит задача создать высокопроизводительный файловый сервер для работы в современной инфраструктуре то выбора как такового нет. Новая серверная ОС от Microsoft безусловно оправдает затраченные на нее средства.

Windows Server 2003 в общем зачете получает второе место с 76,31%, учитывая что в некоторых задачах он показал довольно низкий результат и небольшой отрыв от Linux решений (10-15%) развертывать новые сервера под этой ОС не представляется целесообразным. Это же следует учитывать при легализации ПО, в этом случае целесообразен апгрейд до Windows Server 2008 R2 или переход на Linux решения.

Среди Linux решений, за исключением JFS, результат довольно равномерный, с небольшим отрывом (3-5%) вперед выходят XFS и reiserfs. JFS явный аутсайдер, к применению категорически не рекомендуется. Решения на базе FreeBSD также нельзя рекомендовать к серьезному применению, они проигрывают Linux 10-15%, не говоря уже о гораздо более серьезном отставании от Windows систем.

Надеемся что проведенное нами тестирование поможет вам принять правильное решение в выборе операционной и файловой систем для вашего файлового сервера.

  • Теги:

Please enable JavaScript to view the comments powered by Disqus.

Трекбэк

Около года назад мы провели тестирование различных ОС и файловых систем, изучая их влияние на производительность файлового сервера. Сегодня, когда в обиход плотно входят твердотельные накопители (SSD) и выпущен релиз Samba c поддержкой протокола SMB2,...

    Как передать любые файлы в интернете и в локальной сети?

    Как узнать когда забрали файлы с сервера?

    Передача файла по паролю и логину?

    На все эти вопросы и другие касающиеся файлов и передачи информации, вы найдете ответ в этой статье.

    1. HFS ~ Http File Server самый продвинутый файловый сервер потому что он на столько легок в использовании что с ним справиться ребенок. А уж насколько постарались написать его код что он не требователен к ресурсам компьютерного устройства, что дает его установку и дальнейшее использование практически на любых компьютерных машинах. Отличительная черта этого сервера в том что он работает по протоколу не как все подобные сервера, передача данных идет по протоколу просмотра интернет сайтов HTTP а не как не FTP. Такой сервер будет полезен в маленькой организации хотя в большой не помешает, но в больших компаниях стоят специализированные сервера которые выполняют и другие функции серверов. Но если его развернуть то он вывезет любую компанию, но со стороны IT это не удобно тем что он исполняет только роль файлового сервера и еще нескольких, но сей час не об этом. Так же будет полезен для домашнего использования, хранения фотографий, видео и других файлов скажем одной семьи. В любой момент любой член семьи может подключившись, что не составит проблем, зайти и посмотреть любой файл или загрузить его на сервер. Зайти на сервер можно с любого устройства так как сей час нет такого устройства которое не поддерживает HTTP протокол. Если только стиральная машина и то она поддерживает!
    2. Как установить файловый сервер, настроить и работать в нем?
    3. Установка проста и не требует дополнительных знаний. Точнее ее совсем нет, скачанный файл hfs.exe положим в любую папку на ваше усмотрение. Я положил на диск C:\hfs папку я создал сам и назвал ее для удобства и понятия в дальнейшем сокращенным названием самого сервера. Запустив скачанный файл Hfs.exe который упрятали по пути выше описанному, кликая на него два раза мышкой, вас встретит окно сервера с определившемся ip адресом вашего компьютера, локальным адресом(серым). Собственно он и будет выступать когда будет идти запрос на файловый сервер. Если кликнуть на "Open in Browser" то откроется страница с нашим сервером, как на картинке 2.
    4. Картинка 2.) Запущенный файловый сервер в браузере, как видят его другие пользователи.
    5. Как положить или закачать файлы на сервер?
    6. Для начала надо создать папку в которую будем добавлять файлы. Папок можно сделать сколько угодно. Кликаем "Menu" как показано на картинке ниже. Выбираем из контекстного меню "Add Folder From disk":
    7. Далее нам откроется окно, в котором выбираем место где будем создавать папку, нажимаем на кнопку "создать папку" . Кликаем "OK"
    8. Последует не совсем понятный вопрос, какую папку вы хотите создать. Виртуальную маленькую или настоящую большую. Лично я не совсем понял что имел автор который создавал данный сервер, у меня стало много версий что это может значить. Я не стал разбираться и создал настоящую большую папищу. Что то типо этого и выбирал "Real Folder":
    9. Папка создана и вы можете увидеть ее пример на картинке, под цифрами 1-2 ниже. Цифра 3. Здесь будет выводится вся информация о файловом сервере, какие команды и действия выполнялись, кто заходил. Да будет идти лог, записываться вся информация и все адреса, кто когда, где, что делал на файловом сервере:
    10. Настройку файлового сервера с хранилищем файлов сделали и теперь время посмотреть как он работает. Если ваше устройство с которого вы хотите зайти на файловый сервер подключено к одному WiFi или одному роутеру что и сам сервер. Тогда откройте браузер любой в котором вы выходите для серфинга в интернет и наберите тот ip адрес под которым у вас выступает файловый сервер, прямо в адресной строке где обычно набираете адрес сайта. Не путать с адресной строкой поисковиков. Нажимаете ENTER после ввода адреса и попадаете на файловый сервер прямо в браузере что очень удобно, не надо ставить клиенты как для других файловых серверов которые работают на FTP или SFTP протоколе.
    11. Как зайти на файловый сервер из интернет, находясь на работе или в гостях?
    12. Зайти на файловый сервер через интернет находясь в другом месте, не в вашей локальной сети очень просто и для этого есть даже тест в самом сервере чтоб протестировать настройки. Для начала вам нужны два самых необходимых варианта без которых вы это сделать не сможете. 1.) Это Статический белый IP адрес для узнаваемости вашего сервера в интернете. 2.) Делать проб рос 80 порта на вашем роутере, что тоже не составит труда. После как вы это сделали вы можете протестировать все настройки запустив тест из самого сервера:
    13. Прогресс бар будет показывать на сколько завершен или пройден тест сделанных настроек и доступен ваш сервер из интернет:
    14. У меня нет выделенного "IP" и поэтому мой тест провален, с надписью что закрыты порты на роутере а именно 80 порт.
    15. Если у вас будет выделенный адрес который можно получить несколькими способами их поверьте много и сделан проброс портов что тоже не трудно в настройках роутера. Все будет работать как часики. В локальной сети сервер уже готов раздавать файлы всем желающим. Это можно сделать и в офисе, дома передать файлы на другой компьютер в место флешки, не бегая по этажам или кабинетам, с телефона или компьютера.
    16. Так как же закачать файлы на сервер?
    17. Открываем в проводнике "Windows" нашу созданную папку для сервера и копируем туда нужные для все общего обозрения файлы. Я создал в папке текстовый файл и написал в нем Привет!!! Закрываем папку и в главном окне сервера кликаем на "Open in Browser", как делали в самом первом примере. Теперь в браузере открылась страничка с файлом.
    18. 1. В этом разделе будут ваши папки отображены.
    19. 2. По нажатии на папку в первом разделе, здесь будут показаны файлы лежащие в папке. Кликнув по файлу мышкой вы его откроете(если файл текстовый можно прочитать содержимое прямо в браузере).
    20. 3. Скачать файл можно нажав на кнопку "Archive"
    21. Как запретить или ограничить круг лиц для доступа к серверу?
    22. Научили наш сервер показывать файлы, папки но к ним имеет доступ любой желающий если знать ip адрес. Можно создать несколько папок с разными паролями для разных людей или круга лиц. Снова главное окно файлового сервера как в первый раз, так как все настройки происходят только на самом сервере. Это сделано с целью безопасности. Клик правой кнопкой мышки по папки которую ограничиваем в доступе для других, которой не все будут иметь доступ. В контекстном меню выбираем "Set user/pass..":
    23. Очень знакомое окошко с водом логина и пароля, такие используют много где. Пишем логин на ваше усмотрение и пароль тоже на усмотрение и второй раз пароль, еще раз подтверждаем пароль. "OK".
    24. Как и в выше примерах в которых заходили на файловый сервер чтоб посмотреть файлы через браузер. Так и в этом тоже так же набираем IP адрес вашего файлового сервера(напомню его можно посмотреть в главном окне сервера). Его уже давно надо добавить в закладки чтоб не водить его каждый раз. Как только вы перешли на сервер вам не отобразиться сайт с файлами от вашего файлового сервера. Потому что на папку поставлено ограничение для входа и просмотра, скачивания и загрузки. Вам будет предложено вести логин и пароль довольно в знакомом окошке:
    25. Если все ведено правильно система пропустит вас сверив данные и вы увидите свои файлы. Такой сервер, приятней чем просто "FTP" прост в использовании и можно смотреть операции пользователей зашедших на сервер из главного окна. С настройкой и дальнейшем администрировании сервера справиться как я писал выше, сами убедившись из статьи, справиться даже ребенок. Подойдет как в домашних условиях так и в офисе. Надо передать файл другу, пожалуйста положили в папку сервера. Скопировали и отправили адрес сервера, пусть забирают. Все очень просто у вас есть папка на компьютере из которой могут другие забирать файлы или наоборот добавлять. У вас на компьютере есть что-то вроде своего облака только на HTTP протоколе, не надо устанавливать дополнительных клиентов для скачивания или загрузки файлов как это делают по FTP протоколу! Зайдя на сервер через браузер все выглядит как собственный сайт, типо что то сайта с программами софтом. Действительно стоящий сервачок и я пока писал статью задумался идеей создать, точнее прикрепить сервер к этому сайту, сделав раздел как раньше был для скачивания программ.

    Шкурки для файлового сервера:

    1. Можно изменить внешний вид файлового сервера. Что админскую часть что для пользователей. Достаточно приятные шкурки выкладывают пользователи. Правда английские версии, можно найти на форуме. Можете скачать уже скачанную мной шкурку с Яндекс диска. Выглядит она следующим образом:


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: