Это старая версия документа!
Содержание
Файловое хранилище на Linux
В этой статье мы расскажем как установить и настроить файловый сервер на операционной системе Linux, а точнее будет использована серверная Ubuntu 16.04 LTS. Аналогичным образом настраивается большинство deb-based дистрибутивов.
Такой сервер можно использовать для сетевой установки файловой базы 1С:Предприятие - это гораздо надежнее, чем хранить ее на одном из рабочих компьютеров пользователей. Или такой сервер можно приспособить под сетевое хранилище резервных копий.
Почему Linux? Во-первых это бесплатно и при этом совершенно легально. Во-вторых Linux потребляет гораздо меньше аппаратных ресурсов, и даже старая, списанная в утиль техника отлично справится с задачей файлового хранилища.
И так, начнем…
Выбор оборудования
Как я уже написал, оборудование нам подойдет практически любое, но все же кое-какие пожелания у нас есть. Поскольку сервер будет файловый, то и пожелания наши будут касаться дисковой системы. Было бы неплохо найти машину с RAID контроллером на борту. Если мы делаем сервер для размещения рабочей файловой базы, было бы неплохо разместить ее на RAID-5, если хранилище резервных копий, отличным вариантом будет RAID-1.
При этом у нас нет особых требований к оперативной памяти, хватит и 1 Гбайта. К процессору тоже нет особых требований, Linux будет работать на всем, что еще живо.
Пожалуй, самый оптимальный вариант - приобрести восстановленный сервер «с пробегом». Берите самый дешевый, какой найдете, главное, что бы перед этим он прошел профилактику, его очистили от пыли и прогнали все системные тесты.
Установка операционной системы
Сначала определимся с архитектурой сервера. Если Вам известна марка процессора, установленного в сервер, ознакомившись с его спецификацией Вы узнаете, совместим ли он с архитектурой x86-64 (64 бит) или только i386 (32 бит). Косвенный признак - размер оперативной памяти, 32-битная архитектура не может работать с оперативной памятью объемом более 3 Гбайт, иногда в эту архитектуру устанавливали 4 Гбайт памяти, но в системе было видно только 3 Гбайт.
Идем на страницу загрузки Ubuntu Server и скачиваем дистрибутив, соответствующей архитектуры. Дистрибутивы Ubuntu распространяются в виде образов загрузочных DVD дисков.
Для установки Вам потребуется записать загрузочный DVD диск из скачанного образа, или, что как правило удобнее, подготовить загрузочную флешку специальной утилитой. Вставляйте диск или флешку в сервер и загружайтесь с нее.
Выбирайте русский язык и в меню Установить Ubuntu Server
.
Далее Вам предложат указать страну, выбрать раскладку клавиатуры, дать имя серверу, указать имя и пароль суперпользователя (аналог администратора в Ubuntu) и подтвердить временную зону.
Некоторое затруднение может вызвать разметка диска. Если сомневаетесь, выбирайте автоматическую разметку и использовать весь диск. Но лучше выделить домашние папки пользователей в отдельные логические диски.
Так будет удобнее обновлять операционную систему, когда выйдет новая LTS версия 18.04.
Создавать или нет раздел подкачки зависит от объема оперативной памяти. Если у Вас ее немного, создайте раздел подкачки с таким же объемом. Впрочем, это не обязательно, можно после установки создать файл подкачки.
Далее в процессе установки Вам нужно будет выбрать каким образом Вы хотите управлять обновлением системы. Рекомендую устанавливать обновления безопасности автоматически.
И ближе к концу установки Вам предложат выбрать готовые наборы серверного программного обеспечения. Нам понадобятся:
- Samba file server
- Standart system utilites
- OpenSSH server
Инсталлятор завершит свою работу, перезапустит сервер, Вы увидите протокол загрузки операционной системы, который завершится приглашением ввести логин и пароль пользователя в консоль.
Добро пожаловать в Linux!
Настройка сервера
Вводите логин и пароль суперпользователя, созданного при установке операционной системы. Ввод пароля никак не отображается в командной консоли - это нормально.
Первым делом настроем сетевое подключение.
Во время установки инсталлятор продиагностировал установленное оборудование и определил имеющиеся в системе адаптеры. По умолчанию Ethernet адаптер настраивается на получение IP адреса через DHCP, нас это не устраивает, т.к. у нас не будет возможности обращаться к серверу по его логическому имени, мы настроим статический IP адрес.
Откройте конфигурационный файл сетевых интерфейсов командой
$ sudo nano /etc/network/interfaces
sudo
- специальная конструкция deb-based дистрибутивов Linux для выполнения команд с правами root. Когда Вы делаете это первый раз система попросит Вас ввести пароль и на какое-то время запомнит его.
и приведите его к такому виду
# The loopback network interface - этот раздел не трогаем, оставляем как есть auto lo iface lo inet loopback # The primary network interface - этот раздел настраивает Ethernet адаптер auto enp0s3 # имя интерфейса оставляем без изменений iface enp0s3 inet static # меняем опцию dhcp на static address 192.168.1.9 # укажите свободный IP адрес в Вашей сети # за пределами диапазона адресов, выдаваемых DHCP сервером, # если таковой используется netmask 255.255.255.0 # маска подсети gateway 192.168.1.1 # шлюз по умолчанию, обычно IP адрес сетевого маршрутизатора
Сохраните файл нажав Ctrl-O и закройте редактор Ctrl-X. После редактирования перезапустим сеть:
$ sudo /etc/init.d/networking restart
и проверим что у нас получилось
$ ifconfig
В выдаче этой команды внимательно смотрим на значения inet addr
- в нашем примере там должен быть статический адрес 192.168.1.9.
Для дистанционного управления сервером с рабочей станции Windows мы будем использовать PuTTy. Скачайте, установите и подключайтесь. Адрес сервера в нашем примере указывается так user@192.168.1.9
, где user
- имя суперпользователя, порт по умолчанию 22
.
Мы не будем использовать анонимный доступ к нашему файловому серверу, для того, что бы что-то записать или прочитать с сервера потребуется указать логин и пароль. И нам потребуется создать пользователя на сервере, от имени которого будут производиться все соответствующие файловые операции в хранилище.
$ sudo adduser storageuser
При создании пользователя так же будут созданы одноименные группа и домашняя папка. В домашней папке этого пользователя мы и организуем сетевое файловое хранилище
$ sudo -u storageuser mkdir /home/storageuser/nas
Добавим пользователя в Samba
smbpasswd -a storageuser
- тут нужно указать пароль пользователя Samba, и включим пользователя
smbpasswd -e storageuser
Сделаем на всякий случай копию файла настроек и приступим к настройкам файлового сервера Samba.
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.bak $ sudo nano /etc/samba/smb.conf
Конфигурационный файл сопровождается подробными комментариями, можете пройтись по настройкам самостоятельно, а можете скопировать рекомендуемые настройки полностью
[global] workgroup = WORKGROUP # Здесь укажите имя рабочей группы одноранговой сети server string = %h server (Samba, Ubuntu) name resolve order = wins lmhosts hosts bcast dns proxy = no wins support = yes # только если в сети нет Wins сервера (он может быть, например, в роутере) ;wins server = 192.168.1.1 # только если wins support = no и по указанному адресу действительно есть Wins сервер log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes security = user username map = /etc/samba/smbusers map to guest = bad user usershare allow guests = yes [storage] comment = nas storage writable = yes browseable = yes public = yes path = /home/storageuser/nas guest ok = no directory mask = 755 create mask = 644 valid users = @storageuser
Перезапустим службу
$ sudo service smbd restart
Пробуем зайти с какой-либо рабочей станции Windows, указав в проводнике путь \\192.168.1.9
.
Windows сначала попробует открыть папку под своей локальной учетной записью, у нее это не получится и она запросит логин и пароль для доступа к сетевому ресурсу - это как раз тот пользователь, которого мы создали специально для доступа к сетевому хранилищу.
Готово!
При необходимости можно добавить новых пользователей и новые разделы. Разграничение доступа к разделам производится через опцию valid users
в соответствующем блоке конфигурационного файла Samba.