admin / 29.03.2018

Собираем из старого сервера домашний NAS с медиаплеером на XPEnology — «Хакер»

The main Samba configuration file is located in /etc/samba/smb.conf. The default configuration file has a significant number of comments in order to document various configuration directives.

From a Windows client you should now be able to browse to the Ubuntu file server and see the shared directory. If your client doesn’t show your share automatically, try to access your server by its IP address, e.g. \\192.168.1.1, in a Windows Explorer window. To check that everything is working try creating a directory from Windows.

To create additional shares simply create new [dir] sections in /etc/samba/smb.conf, and restart Samba. Just make sure that the directory you want to share actually exists and the permissions are correct.

Not all the available options are included in the default configuration file. See the smb.confman page or the Samba HOWTO Collection for more details.

  1. First, edit the following key/value pairs in the [global] section of /etc/samba/smb.conf:

    workgroup = EXAMPLE … security = user

    The security parameter is farther down in the [global] section, and is commented by default. Also, change EXAMPLE to better match your environment.

  2. Create a new section at the bottom of the file, or uncomment one of the examples, for the directory to be shared:

    [share] comment = Ubuntu File Server Share path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0755
    • comment: a short description of the share. Adjust to fit your needs.

    • path: the path to the directory to share.

      This example uses /srv/samba/sharename because, according to the Filesystem Hierarchy Standard (FHS), /srv is where site-specific data should be served. Technically Samba shares can be placed anywhere on the filesystem as long as the permissions are correct, but adhering to standards is recommended.

    • browsable: enables Windows clients to browse the shared directory using Windows Explorer.

    • guest ok: allows clients to connect to the share without supplying a password.

    • read only: determines if the share is read only or if write privileges are granted. Write privileges are allowed only when the value is no, as is seen in this example. If the value is yes, then access to the share is read only.

    • create mask: determines the permissions new files will have when created.

  3. Now that Samba is configured, the directory needs to be created and the permissions changed. From a terminal enter:

    sudo mkdir -p /srv/samba/sharesudo chown nobody:nogroup /srv/samba/share/

    The -p switch tells mkdir to create the entire directory tree if it doesn’t exist.

  4. Finally, restart the samba services to enable the new configuration:

    sudo systemctl restart smbd.service nmbd.service

Once again, the above configuration gives all access to any client on the local network. For a more secure configuration see Securing File and Print Server.

The file share named «[share]» and the path /srv/samba/share are just examples. Adjust the share and path names to fit your environment. It is a good idea to name a share after a directory on the file system. Another example would be a share name of [qa] with a path of /srv/samba/qa.

Сравнение операционных систем для домашних серверов

В реальной практике на ДС распространены следующие виды операционных систем:
Вариант 1. НЕсерверные версии Windows.
Вариант 2. Серверные версии Windows.
Вариант 3. Семейство Unix.
Вариант 3.1. Серверные версии Mac OS X.
Вариант 3.2. Специализированные Unix-like операционные системы.
Безусловно, встречаются и более экзотические варианты, например, Solaris, NetWare, а также разного рода виртуализация. Но это скорее исключения, которые не рассматриваются в материале.
Для предотвращения холиваров ~ «Кто сильнее – кит или слон?» перед сравнением операционных систем для ДС обозначим следующее:

  • все типовые задачи ДС могут быть решены с использованием любого из перечисленных выше видов операционных систем;
  • самая лучшая операционная система – та, которую знает администратор;
  • сравнению операционных систем посвящено огромное количество материалов, мы остановимся на взгляде усредненного «домашнего администратора»;
  • вопросы лицензирования и стоимости не рассматриваются.

1. НЕсерверные версии Windows.
Обычно на этом виде операционных систем останавливают выбор при проектировании самого первого ДС. Такие системы знакомы большинству пользователей, стандартными средствами позволяют решить базовые задачи – например, организовать простейшее хранилище данных или выход в интернет для других вычислительных устройств. Установка сторонних программ и твиков позволят значительно расширить возможности, приблизится к серверным версиям (только приблизиться!).
Критичные для корпоративного сегмента ограничения по количеству процессоров или объему оперативной памяти для ДС роли не играют.
Существует предрассудок о низкой стабильности десктопных версий операционных систем Microsoft относительно их серверных вариантов. Это было правдой во времена Windows 95 – Me. Однако уже с Windows 2000 основными причинами сбоев являются сам администратор и аппаратное обеспечение.
В качестве недостатка можно отметить наличие большого числа элементов, которые не нужны для функционирования ДС – тратят его ресурсы, усложняют обеспечение безопасности. Например, это весь GUI, модуль DirectX и разного рода пользовательские программы.
Особенности:

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

2.

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

Серверные версии Windows.
От предыдущего варианта отличаются отсутствием необходимости установки твиков и сторонних программ для расширения функционала, все необходимое есть в стандартной пакете. Преимуществом также является знакомый интерфейс и привычные (на поверхностный взгляд) настройки – это не отталкивает начинающих администраторов.
Условными недостатками являются присутствие GUI (Graphic user interface, графический интерфейс пользователя – потребляет ресурсы, потенциальные проблемы с безопасностью) и наличие множества вариантов операционной системы. Microsoft искусственно ограничило функционал отдельных версий (например, Windows Server 2012 Foundation), сразу разобраться в отличиях которых и спрогнозировать будущие потребности получается далеко не у всех.
Несмотря на развитый функционал, после определенной черты более глубокая настройка системы под нужды конкретного проекта практически не возможна – код системы закрыт, изменить что-то в ней по существу не получится.
Особенности:

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

3. Семейство Unix.
Если серверные версии Windows пришли из мира персональных компьютеров (т.е. первичными были версии для персональных компьютеров, интерфейс и философия которых позже адаптировались для серверов), то семейство UNIX изначально создавалось для решения специфических задач серверов, рабочих станций и встроенных инфраструктурных систем.
Для обычного пользователя настройка данных систем представляет собой сложную задачу, поскольку основные действия совершаются через интерфейс командной строки. В последние годы наметилось бурное развитие графических интерфейсов UNIX-систем, которые однако все еще не устанавливаются по умолчанию в их серверные версии. Также встречается ряд удачных web-модулей для управления основными настройками системы (например, webmin, ajenti).
Открытая архитектура систем и наличие большого количества документации позволяет сделать тонкую настройку под нужды конкретного проекта (но это уже относится больше к гикам, чем к обычным «домашним администраторам»). В то же время ряд программных пакетов разрабатывается энтузиастами на добровольных началах, которые не обеспечивают полноценного тестирования пакета перед выходом в свет – отсюда нередкие баги.
Разнообразие UNIX систем таково, что про него можно писать отдельную статью. Наиболее яркими представителями являются: Debian, Ubuntu (благодаря агрессивному маркетингу последних лет), ALT Linux (отечественная адаптация), FreeBSD, Mac OS X. Несмотря на общую схожесть, каждая из операционных систем имеет свои особенности, незнание которых способно довести администратора до белого каления.
Особенности:

  • разнообразие видов;
  • сложная настройка;
  • возможность тонкой настройки;
  • наличие драйверов под достаточное разнообразие аппаратного обеспечения.

3.1. Серверные версии Mac OS X.
Формально, вся линейка Mac OS X относится к UNIX. Однако имется принципиальное отличие – система изначально предназначена для работы с GUI. Получается удачное сочетание: управление основными функциями доступно через удобный GUI, а тонкие настройки можно сделать через командную строку.
Особенностью является поддержка крайне ограниченного перечня аппаратного обеспечения. Только компьютеры Macintosh поддерживаются полноценно, остальное – через разного рода «костыли».
Особенности:

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

3.2. Специализированные Unix-like операционные системы.
Для решения отдельных задач ДС созданы специализированные сборки UNIX-like систем, точнее – различные вариации Linux. Они имеют удобный web-интерфейс управления, работают почти «из коробки», некоторые могут функционировать с USB-флешки. Например:
Сложности начинаются, когда потребностей коробочного решения становится недостаточно – «прикрутить» что-то дополнительное, сохранив удобство управления, затруднительно. По сути, при расширении функционала пропадает какое-либо различие с вариантом 3.
Особенности:

  • работоспособность «из коробки»;
  • несложная настройка основных функций;
  • сложность расширения стандартного функционала.

Общие р

азделы по домашним серверам:

Разделы по Ubuntu 14.04.x:

Разделы по Mac OS X Server:

Прочее:

Ubuntu 18.04 LTS Server Edition supports four (4) major architectures: AMD64, ARM, POWER8, LinuxONE and z Systems (although this manual does not cover installation on LinuxONE or z Systems, see the dedicated guide for that).

Ubuntu Server 18.04 LTS introduces a new installer, the «live server» installer (sometimes called «Ubiquity for Servers» or simply «subiquity») which provides a more user friendly and faster installation experience. At the time of writing it only supports amd64 processors and does not support LVM or RAID or other more sophisticated storage options, nor does it support reusing existing partitions on the disks of the system you are installing. It also requires access to the Ubuntu archive, possibly via a proxy. The previous, debian-installer based, installer is still available if these restrictions mean you can’t use the live server installer.

The table below lists recommended hardware specifications.

Как установить и настроить сервер Samba на Ubuntu 16.04 для общего доступа к файлам

Depending on your needs, you might manage with less than this. However, most users risk being frustrated if they ignore these suggestions.

Recommended Minimum Requirements

Install Type

Install Method

CPU

RAM

Hard Drive Space

Base System

All Tasks Installed

Server (Standard)

debian-installer

1 gigahertz

512 megabytes

1.5 gigabyte

2.5 gigabytes

live server

1 gigahertz (amd64 only)

1 gigabyte

1.5 gigabyte

n/a

Server (Minimal)

debian-installer

300 megahertz

384 megabytes

1.5 gigabytes

2.5 gigabytes

The Server Edition provides a common base for all sorts of server applications. It is a minimalist design providing a platform for the desired services, such as file/print services, web hosting, email hosting, etc.

16 команд мониторинга Linux-сервера, которые вам действительно нужно знать

Оригинал: «16 Linux Server Monitoring Commands You Really Need To Know»
Автор: Steven Vaughan-Nichols
Дата публикации: 3 March 2012
Перевод: Н.Ромоданов
Дата перевода: апрель 2012 г.

Хотите знать, что самом деле происходит на с вашим сервером? Тогда вы должны знать эти основные команды. Как только вы их освоите, вы станете администратором-экспертом в системах Linux.

В зависимости от дистрибутива Linux, вы можете с помощью программы с графическим интерфейсом получить больше информации, чем могут дать эти команды, запускаемые из командной оболочки. В SUSE Linux, например, есть отличное графическое инструментальное средство YaST, предназначенное для конфигурирования и управления системой; также в KDE есть отличное инструментальное средство KDE System Guard.

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

Это также означает, что вы должны запускать графический интерфейс на сервере только тогда, когда это действительно необходимо; не оставляйте его работать. Чтобы достичь оптимальной производительности, сервер Linux должен работать на уровне , на котором, когда компьютер загружается, полностью поддерживается работа в сети и многопользовательский режим, но графический интерфейс не запускается. Если вам действительно нужно графический рабочий стол, вы всегда можете его открыть с помощью команды , выполненной из командной строки.

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

Как только вы это сделаете, найдите строку и измените ее с на

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

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

iostat

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

meminfo и free

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

cat /proc/meminfo

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

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

mpstat

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

netstat

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

— Показывает информацию о всех сокетах

— Показывает информацию, касающуюся маршрутизации

— Показывает статистику, касающуюся сетевых интерфейсов

— Показывает статистику, касающуюся сетевых протоколов

nmon

Команда nmon, сокращение от Nigel’s Monitor, является популярным инструментальным средством с открытым исходным кодом, которое предназначено для мониторинга производительности систем Linux. Команда nmon следит за информацией о производительности нескольких подсистем, таких как использование процессоров, использование памяти, выдает информацию о работе очередей, статистику дисковых операций ввода/вывода, статистику сетевых операций, активности системы подкачки и метрические характеристики процессов. Затем вы через «графический» интерфейс команды можете в режиме реального времени просматривать информацию, собираемую командой nmon.

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

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

pmap

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

ps и pstree

Команды ps и pstree являются двумя самыми лучшими командами администратора Linux. Они обе выдают список всех запущенных процессов. Команда показывает, сколько памяти и процессорного времени используют программы, работающие на сервере. Команда выдает меньше информации, но указывает, какие процессы являются потомками других процессов. Имея эту информацию, вы можете обнаружить неуправляемые процессы и уничтожить их с помощью команды kill, предназначенной для «безусловного уничтожения» процессов в Linux.

sar

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

strace

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

tcpdump

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

top

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

uptime

Используйте команду uptime для того, чтобы узнать, как долго работает сервер и сколько пользователей было зарегистрировано в системе. Эта команда также покажет вам среднюю загрузку сервера. Оптимальное значение равно 1 или меньше, что означает, что каждый процесс немедленно получает доступ к процессору и потери циклов процессора отсутствуют.

vmstat

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

Настройка samba в Ubuntu 16.04

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

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

Wireshark

Программа wireshark, ранее известная как ethereal (и до сих пор часто называют именно так), является «старшим братом» команды , хотя она более сложная и с более расширенными возможностями анализа и отчетности по используемым протоколам. У wireshark есть как графический интерфейс, так и интерфейс командной оболочки. Если вам требуется серьезное администрирование сетей, вам следует использовать программу ethereal. И, если вы используете wireshark/ethereal, я настоятельно рекомендую воспользоваться книгой Practical Packet Analysis Криса Сандера (Chris Sander), рассказывающей о том, как с помощью практического анализа пакетов можно получить максимальную отдачу от этой полезной программы.

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

Если вам понравилась статья, поделитесь ею с друзьями:


DLNA — набор стандартов для быстрой передачи медиа-контента между устройствами. DLNA привлекает внимание простотой в использовании и широкой распространённостью: такие технологии как AllShare от Samsung, SmartShare от LG и AirPlay от Apple по сути своей являются реализациями DLNA со своими маркетинговыми названиями.

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

Далее будет показано как можно быстро развернуть на домашнем сервере DLNA-сервер для использования совместно с устройствами на базе Android.

Начальные условия: домашний сервер под управлением Ubuntu 16.04, коллекция фильмов, которую мы хотим смотреть на Smart TV под управлением Android, находится в директории /home/ubuntu/Films. По DLNA мы собираемся отдавать только видео-файлы.

Среди всего множества реализаций DLNA мы выберем minidlna от разработчиков из компании Netgear. Некоторое время назад он был переименован в ReadyMedia, однако в репозитории Ubuntu пакет пока ещё по прежнему называется minidlna. Одной из интересных особенностей minidlna является возможность работы сразу на нескольких сетевых интерфейсах, хотя это нужно далеко не всем.

File Server

Установим пакет:

apt-get install minidlna

Далее открываем в редакторе файл /etc/minidlna.conf и приступаем к настройке. Первым делом надо указать директорию с медиа-файлами. Поскольку мы собираемся отдавать только видео то надо так же явно это обозначить:

#media_dir=/var/lib/minidlna media_dir=V,/home/ubuntu/Films

Чтобы упростить клиентам навигацию укажем начальный путь обзора на сервере:

#root_container=. root_container=V

В параметре "network_interface" перечислим через запятую интерфейсы, на которых будет слушать наш сервер:

network_interface=eth1,wlan0

Ну и напоследок в параметре "friendly_name" укажем имя нашего сервера, которое будут видеть все клиенты:

friendly_name=Home Collection

На этом настройка сервера заканчивается и остаётся только перезапустить сервис для применения настроек:

service minidlna restart

Если что-то пойдёт не так то первым делом надо смотреть файл журнала "/var/log/minidlna.log". Статус сервера и список подключенных клиентов можно смотреть на веб-странице "http://<IP_вашего_сервера>:8200". Выглядит эта страница примерно так:

С клиентскими устройствами так же всё должно быть просто. Многие устройства из коробки поддерживают протокол DLNA. Если у вас устройство на базе Android и штатного приложения для работы с DLNA у вас нет то можно поставить DLNA-браузер, коих очень много в Google Play. Например у автора этих строк хорошо зарекомендовали себя AnDLNA и GinkgoDlna.

Интересную задачку "подкинул" недорогой Smart TV от Akai (Akai LES-32А64М): он был подключен к локальной сети через Ethernet и не имел штатного DLNA-браузера. Казалось бы что задача решается просто: достаточно установить любой DLNA-браузер из Google Play, однако большинство из них (включая указанные выше AnDLNA и GinkgoDlna) работают только с WiFi-соединением и оказывались не способы "найти" DLNA-сервер через Ethernet соединение.

Перебор нескольких десятков приложений привёл к MediaHouse UPnP / DLNA Browser. Это приложение оказалось "всеядным" и спокойно заработало с DLNA-сервером, будучи подключенным к сети через Ethernet-порт:

Для просмотра видео почти все DLNA-браузеры используют внешний плеер. Как оказалось штатный плеер Android на большинстве устройств поддерживает ограниченный набор кодеков. Если возникает проблема при воспроизведении (нет звука и/или видео) то стоит установить сторонний плеер с большим набором кодеков. Хорошим выбором может быть MX Player.

На этом всё. Приятной работы!

Создание файлового сервера на Ubuntu 9.10 (Samba)

Ошибка базы данных: Table ‘a111530_forumnew.rlf1_users’ doesn’t exist

На главную -> MyLDP -> Тематический каталог -> Дистрибутивы


OpenFiler — сетевое хранилище на свободном ПО

Оригинал: OpenFiler: an Open-Source Network Storage Appliance
Автор: Bill Childers
Дата: 1 мая 2009
Перевод: Александр Тарасов aka oioki
Дата перевода: 7 октября 2009

Мной было установлено немало Linux-серверов. Хотя это не очень сложная задача, однако часто мне в голову приходила мысль о том, что должен быть более правильный способ. Ребята из проекта OpenFiler, определенно, нащупали это самое лучшее решение. Команда OpenFiler, видимо, вдохновленная семейством устройств хранения данных от компании NetApp, реализовали открытый клон, который может превратить любой x86-совместимый компьютер в устройство, по функциональности похожее на систему NetApp.

О проекте OpenFiler

Дистрибутив OpenFiler легок в установке, прост в использовании, практически мгновенное решение. На момент написания статьи последняя версия имела номер 2.3, и была основана на дистрибутиве rPath, так что он компактный и легкий, каким и должен быть. Таким образом, у разработчиков есть простор в наполнении дистрибутива теми функциями, которые были бы нужны для его основной цели. Дистрибутив настолько легок, что его можно даже использовать на встраиваемых системах. Список функций довольно велик, и его можно сравнить даже с коммерческими устройствами, вроде тех, которые предлагают фирмы Snap и другие. Вот основные функции OpenFiler:

  • Полная поддержка iSCSI сервера (target) и клиента (initiator).
  • Поддержка устройств Fiber Channel (в зависимости от аппаратуры).
  • Поддержка программного (md) и аппаратного RAID.
  • Расширение разделов/файловых систем «на лету».
  • Мгновенные снимки состояния (snapshots).
  • Синхронная/асинхронная репликация данных.
  • Доступ к данным по протоколам NFS, SMB/CIFS, HTTP/WebDAV и FTP.
  • Поддержка теневого копирования по SMB/CIFS при мгновенных снимках.
  • Поддерживается аутентификация в NIS, LDAP и Windows NT/Active Directory.
  • Гибкое управление квотами.
  • Простая веб-админка.

Единственным недостатком OpenFiler является то, что за Руководство администратора придется заплатить. Руководство по установке и устаревшую версию руководства администратора можно скачать с сайта бесплатно, однако новейшая версия руководства доступна лишь «денежным» клиентам, ведь только из этого источника проект OpenFiler и финансируется. К счастью, обладая удобным и понятным графическим интерфейсом, OpenFiler легко настраивается и без этого.

Установка OpenFiler

Если вы знакомы с установкой дистрибутива Linux на основе Red Hat, тогда и установка OpenFiler не будет для вас особой проблемой. Системные требования крайне малы. Я установил OpenFiler на встраиваемый ПК с процессором 500 МГц, 512 Мб оперативной памяти и 2 Гб памяти типа CompactFlash. Однако дистрибутив можно установить и на обычный компьютер или сервер. Загрузившись с компакт-диска, вы попадете в графический установщик (если нужен текстовый режим, нужно при установке добавить аргумент ). Обратите внимание, что при установке вам нужно будет выбрать ручную (manual) разбивку диска, в противном случае позже вы не сможете настраивать диски-хранилища в админке OpenFiler.

В принципе, больше ничего не отличает OpenFiler от другого Red Hat-подобного дистрибутива. По завершении установки нужно будет настроить ваш свежий OpenFiler, открыв в веб-браузере страницу https://имя_или_адрес_машины:446.


Рисунок 1. Вход в OpenFiler

Настройка OpenFiler

Теперь вы можете войти в графический интерфейс администратора OpenFiler, как показано на рисунке 1. Как сказано в руководстве по установке, войдите с именем «openfiler» и паролем «password». Вы увидите админский интерфейс, будет открыт основной экран Status. Из этой веб-админки можно настроить OpenFiler до мелочей.


Рисунок 2. Консоль админа: Экран Status

Экран Status отображает жизненно важную для системы информацию. Особенно удобно то, что вверху экрана отображается время работы системы (uptime) и средняя загрузка процессора. На рисунке не показаны графики использования оперативной памяти и хранилища — они аналогичны графической версии top.


Рисунок 3. Консоль админа: Экран системы

На экране System можно настроить и отрегулировать общие системные параметры, такие как свой IP-адрес или IP-адрес партнера по репликации и отказоустойчивости. Здесь есть встроенный SSH-клиент, написанный на Java, поэтому при необходимости можно даже зайти в консоль машины. Хотя обычный SSH-клиент также подойдет. Обратите внимание, что важно ограничить доступ к серверу лишь для некоторых сетей или отдельных машин. Если вы этого не сделаете, то ваш OpenFiler не станет отдавать файлы по NFS или SMB/CIFS. Еще нужно отметить, что OpenFiler поддерживает создание агрегированных Ethernet-интерфейсов, поэтому если вы настраиваете критический файловый сервер, можете вставить в сервер две сетевые карты, соединить их с разными свитчами, и вы получите сервер, отказоустойчивый на уровне сети.


Рисунок 4. Консоль админа: Менеджер разделов

В менеджере разделов можно добавлять диски в OpenFiler, создавать файловые системы и управлять программным RAID. В качестве менеджера разделов в OpenFiler используется Linux Logical Volume Manager (LVM), в качестве хранилищ поддерживаются локальные диски с файловыми системами ext3 и XFS. В этом случае, так как у меня был встраиваемый ПК, я подключил диск 320Гб через USB. Это не привело ни к каким проблемам — OpenFiler позволил мне создать группу разделов на этом USB-диске, затем я создал раздел внутри этой группы и начал формировать файловую структуру.

Следующей вкладкой админки является Quota. Этот экран позволяет устанавливать квоты на группы, пользователей или на гостя, и на каждый раздел можно указывать свою квоту.

К примеру, если ваш OpenFiler будет работать в корпоративном окружении, можно установить всем пользователям из группы Маркетинг квоту по 2 Гб, каждому из группы Инженеры по 10 Гб, а всем из группы IT квоту не ограничивать. Конечно, также не стоит ограничивать квоту генеральному директору. Таким образом, с помощью гибких квот можно настраивать OpenFiler под свои нужды.


Рисунок 5. Консоль админа: Менеджер общих ресурсов

В менеджере общих ресурсов (Shares) можно создать каталоги в разделах, и потом открывать доступ к этим каталогам. Именно здесь вы будете проводить большую часть своего времени с OpenFiler, настраивая каталоги, общие ресурсы и права доступа. Приятной особенностью OpenFiler является то, что можно указать, с помощью какого сетевого протокола осуществлять доступ к этому каталогу. К примеру, общий ресурс Marketing можно раздавать лишь по SMB/CIFS (потому что у всех этих людей стоит Windows), ресурс Engineering раздавать лишь по NFS (все инженеры пользуются Linux), а Sandbox можно раздавать как по SMB/CIFS, так и по NFS. Позже можно на этом экране ограничить права доступа определенных групп к определенным ресурсам — на чтение и на запись. А общий ресурс Sandbox («песочница») пускай остается открытой для всех.

При написании этой статьи я обнаружил интересный факт. Если вы хотите отдавать каталоги по NFS на машины Apple Mac, так чтобы каталог можно было смонтировать в Finder, нужно указать порт источника этого ресурса >1024 (в NFS эта опция называется insecure). Mac-компьютеры не хотят общаться с NFS-серверами, работающими на привилегированных портах. (Да, у меня есть Mac. Я смотрю на него как на более красивого, но менее умненького брата моих Ubuntu-машинок).

Следующая вкладка — менеджер служб (Services), в котором можно включить/выключить сетевые службы OpenFiler. Если будете использовать OpenFiler лишь как NFS-сервер, можно полностью отключить все службы SMB/CIFS, тем самым освободив немного памяти сервера. На этой вкладке также можно сделать другие настройки, например, членами какой группы будет являться SMB/CIFS-сервер; или подключен ли к OpenFiler источник бесперебойного питания, чтобы можно было бы выключать его в случае сбоя по питанию. OpenFiler может выступать в роли LDAP-сервера, и на этой вкладке можно сохранять и восстанавливать каталоги LDAP.


Рисунок 6. Консоль админа: Менеджер учетных записей

На последней вкладке консоли админа находится менеджер учетных записей (Accounts), с помощью которого можно определить методы аутентификации. Можно использовать внутренний LDAP-сервер на самом OpenFiler, и создавать пользователей и группы локально. Можно направлять OpenFiler на ваш корпоративный LDAP-сервер. Если вы работаете в Windows-окружении, тогда для аутентификации можно воспользоваться корпоративной Active Directory или даже старым каталогом NT4.

А что внутри?

Если заглянуть под покрывало графического интерфейса OpenFiler, вы обнаружите множество известных программ с открытым исходным кодом. В качестве основы используется дистрибутив rPath с ядром ветки 2.6, а rPath очень похож на Red Hat Linux. По умолчанию в OpenFiler запущен SSH-сервер, поэтому можно просто зайти на свой новый сервер с помощью SSH-клиента и посмотреть, что там. Веб-админка работает на Python и веб-сервере lighttpd. Также на OpenFiler работает демон snmpd, поэтому можно делать к нему запросу по SNMP. Движок HTTP/WebDAV реализуется за счет Apache. Для реализации других протоколов обмена используются стандартный Linux NFS-сервер, Samba-сервер для SMB/CIFS, и proftpd для FTP.

OpenFiler поддерживает множество физических блочных устройств, таких как диски SATA, SAS, SCSI, IDE и FC. Также поддерживаются сетевые блочные устройства, доступные по протоколам iSCSI, AoE (ATA over Ethernet) и FCoE (Fiber Channel over Ethernet). Также поддерживается стандартный для Linux программный RAID.

Интереснейшие функции OpenFiler — это наличие движка DRBD (Distributed Replicated Block Device, Распределенное реплицированное блочное устройство) и программное обеспечение для отказоустойчивых кластеров — Heartbeat. DRBD позволяет реплицировать свои блочные устройства на другие сервера OpenFiler в синхронном, либо асинхронном режимах. Таким образом, резервную копию OpenFiler можно расположить в соседней стойке. При использовании вместе со средством Heartbeat можно сделать так, чтобы два сервера OpenFiler в одной и той же сети использовали один виртуальный IP-адрес, и вы получите мощный, надежный, отказоустойчивый кластер для хранения данных. В случае отказа основного OpenFiler, замещающий обнаружит это по разрыву выделенного соединения, включится и задействует свой виртуальный IP-адрес и продолжит отвечать на запросы.

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

Заключение

OpenFiler — легкий в установке и простой в использовании дистрибутив, который решает одну задачу и решает ее хорошо, а именно отдает файлы сетевым клиентам. Если у вас есть ненужный старенький компьютер или ноутбук, можно превратить его в сетевое хранилище, просто установив OpenFiler и подключив вместительный USB-диск. С другой стороны, OpenFiler хорошо подходит для установки на сервер уровня предприятия, где он может стать частью вашей Сети хранения данных (SAN). К сожалению, разработчики решили отдавать руководство администратора лишь «денежным» клиентам, ведь проект должен же как-то финансироваться. Если у вас возникла потребность в файловом сервере или сетевом хранилище данных, то OpenFiler определенно хорошее решение.

Установка OpenFiler через PXE

На моем маленьком встраиваемом ПК, на который я устанавливал OpenFiler, не было оптического привода, поэтому мне пришлось устанавливать дистрибутив по PXE. Я скопировал образ дистрибутива на NFS-сервер и открыл к нему доступ по NFS. Затем я скопировал файл ядра vmlinuz и initrd-архив initrd.img из каталога на компакт-диске /isolinux, в каталог tftp моего PXE-сервера. Последний шаг, нужно было добавить следующие строки в конфигурационный файл pxelinux моего PXE-сервера:

LABEL openfiler KERNEL vmlinuz APPEND initrd=initrd.img text askmethod ramdisk_size=8192 console=tty0

После этого для начала установки OpenFiler нужно было загрузить систему через PXE, выбрать openfiler в приглашении загрузки, выбрать «NFS» и указать на открытый ранее каталог.

Установщик OpenFiler, основанный на Red Hat, делает установку простой, и дистрибутив установился довольно быстро, даже по сети.

Источники информации

Домашняя страница OpenFiler: www.openfiler.com

Архитектура OpenFiler: openfiler.com/products/openfiler-architecture

Документация по установке OpenFiler (графическая): www.openfiler.com/learn/how-to/graphical-installation

Документация по установке OpenFiler (текстовая): www.openfiler.com/learn/how-to/text-based-installation

Урезанное руководство администратора OpenFiler 1.1: wwwold.openfiler.com/docs/manual

DRBD (Distributed Replicated Block Device): www.drbd.org

Установка и настройка OpenFiler с поддержкой DRBD и Heartbeat: www.howtoforge.com/installing-and-configuring-openfiler-with-drbd-and-heartbeat

Неофициальный вики по высокодоступному кластеру OpenFiler: wiki.hyber.dk/doku.php/openfiler_2.2_ha-cluster_guide

Билл Чайлдерс (Bill Childers) — IT-менеджер из Силиконовой долины, где он живет со своей женой и двумя детьми.

Ему слишком нравится Linux, возможно, ему нужно почаще выходить на солнышко. В свое свободное время посещает фестиваль чеснока в Гилрое, но он вовсе не пахнет чесноком.

Если вам понравилась статья, поделитесь ею с друзьями:


Комментарии

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*