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

  • Автор:

Ubuntu-NAS.pngФайловый сервер, наряду с роутером, можно без преувеличения назвать предметом первой необходимости для любой организации. Использование ОС Linux для такого сервера выглядит весьма привлекательно, во всяком случае в небольших организациях, где не требуется тесной интеграции с AD. А сэкономленные на стоимости Windows Server и клиентских лицензий к нему деньги будут весьма кстати в наши кризисные времена. 

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

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

Имеет смысл разнести ОС и пользовательские данные по различным винчестерам, это позволит увеличить быстродействие избежав конкуренции за головки HDD между ОС и пользовательскими запросами. Для хранения данных следует использовать жесткие диски повышенной надежности (например серии Western Digital RE3), объединенные в массив RAID1 (зеркало) или RAID10, если требуется повышенное быстродействие. Проведенные нами эксперименты показали, что для современных систем разница в быстродействии между программным RAID и RAID организованным с помощью интегрированного в обычную (не серверную!) материнскую плату контролером полностью отсутствует. В обоих случаях обработка запросов ложится на плечи ЦПУ, быстродействия которых сегодня более чем достаточно для выполнения данной задачи.

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

Ubuntu-Samba-2010-03-30-23-45-45.pngДля этого выбираем в списке нужный нам диск и далее следуем указаниям мастера. Никаких изысков с системным диском не требуется, вполне достаточно будет создать на нем swap раздел размером 0,5 - 1 Гб, и корневой раздел на оставшемся пространстве, именно такой результат вы получите выбрав автоматическую разметку.

Ubuntu-Samba-2010-03-30-23-46-40.pngВторой диск (дисковый массив) размечаем отдельным разделом и создаем для него собственную точку монтирования, например /data. В качестве файловой системы мы рекомендуем выбрать XFS, по результатам проведенного нами тестирования (которое мы опубликуем позднее) XFS показала наилучшие результаты, уверенно опередив конкурентов.

Ubuntu-Samba-2010-03-30-23-47-45.pngВ результате должно получится что-то аналогичное рисунку ниже. Еще раз проверяем правильность разметки, если надо вносим исправления. До этого момента все еще можно изменить. Убедившись, что все сделано правильно подтверждаем наш выбор и записываем изменения на диск.

Ubuntu-Samba-2010-03-30-23-47-54.pngПосле чего продолжаем установку, отказавшись от выбора готовых ролей. Несмотря на то, что на этом этапе можно выбрать роль Samba сервера и автоматически установить все необходимые пакеты, мы не советуем этого делать. Самостоятельная установка даст вам больше знаний о назначении того или иного пакета и позволит вам осмысленно подходить к настройке и локализации неисправностей, если они вдруг возникнут. Если же вы знаете что и как делать, то зачем вам это руководство?

Сразу рекомендуем установить Midnight Commander и SSH для удобства администрирования:

sudo apt-get install mc
sudo apt-get install ssh

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

Теперь перейдем непосредственно к настройке роли файлового сервера. Для ее реализации нам потребуется Samba, этот пакет предоставляет общий доступ к файлам и принтерам клиентам сетей Microsoft.

sudo apt-get install samba

Для настройки отредактируем файл /etc/samba/smb.conf, начнем с глобальной секции, параметры которой применяются для всех сервисов. Зададим имя рабочей группы:

[global]
workgroup = WORKGROUP

Для доступа к ресурсам файлового сервера без авторизации на нем зададим следующий параметр:

security = share

Если сервер имеет несколько сетевых интерфейсов, например совмещен с роутером, то можно (и нужно) ограничить доступ к файловому серверу внутренней сетью. Допустим у нас eth0 - внешняя сеть, eth1 - внутренняя, для работы только с внутренним интерфейсом укажем:

interfaces = lo, eth1
bind interfaces only = true

Первоначально этих настроек достаточно, не забываем сохранить изменения. Рассмотрим настройки сервисных секций, допустим нам нужен общий ресурс 1CBases для размещения баз 1C:Предприятие. Создадим новый каталог  /data/1CBases, и установим полные права на него для всех:

sudo mkdir /data/1CBases
sudo chmod 777 /data/1CBases

 В самом конце smb.conf добавляем следующую секцию:

[1CBases]
path = /data/1CBases
guest ok = yes
writeable = yes

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

sudo /etc/init.d/samba restart

После чего наш сервер должен быть виден в сетевом окружении Windows и на нем будет доступна общая папка 1СBases.

Windows-XP-Professional-2-2010-04-02-00-46-11.pngДля удаленного администрирования Samba рекомендуем установить предоставляющий web-интерфейс пакет Swat:

sudo apt-get install swat

Для того, чтобы воспользоваться всеми возможностями пакета необходимо будет авторизоваться под root'ом. Но по умолчанию в Ubuntu root не имеет пароля, поэтому зададим его (и не забудьте, что теперь для выполнения административных задач вам нужно вводить именно его) и перезагрузимся:

sudo passwd root
sudo reboot

Теперь в любом браузере достаточно набрать http://имя_сервера:901 и, после авторизации, получить полный доступ к настройкам Samba.

Windows-XP-Professional-2-2010-04-02-01-30-35.pngАвторами Swat являются разработчики Samba, поэтому можно расценивать это решение как "родное". Действительно Swat предоставляет полный доступ ко всем настройкам Samba и позволяет выполнять практически любые задачи без ручной правки smb.conf.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments