Инструменты пользователя

Инструменты сайта


nas_linux

Это старая версия документа!


Файловое хранилище на Linux

В этой статье мы расскажем как установить и настроить файловый сервер на операционной системе Linux, а точнее будет использована серверная Ubuntu 16.04 LTS. Аналогичным образом настраивается большинство deb-based дистрибутивов.

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

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

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

И так, начнем…

Выбор оборудования

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

При этом у нас нет особых требований к оперативной памяти, хватит и 1 Гбайта. К процессору тоже нет особых требований, Linux будет работать на всем, что еще живо.

Пожалуй, самый оптимальный вариант - приобрести восстановленный сервер «с пробегом». Берите самый дешевый, какой найдете, главное, что бы перед этим он прошел профилактику, его очистили от пыли и прогнали все системные тесты.

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

Установка операционной системы

Сначала определимся с архитектурой сервера. Если Вам известна марка процессора, установленного в сервер, ознакомившись с его спецификацией Вы узнаете, совместим ли он с архитектурой 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.

Дальнейшую настройку удобнее производить с рабочей станции, подключившись по протоколу SSH. От сервера можно отключить монитор, клавиатуру и разместить его там, где он не будет никому мешать.

Для дистанционного управления сервером с рабочей станции Windows мы будем использовать PuTTy. Скачайте, установите и подключайтесь. Адрес сервера в нашем примере указывается так user@192.168.1.9, где user - имя суперпользователя, порт по умолчанию 22.

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

$ sudo adduser storageuser

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

$ sudo -u storageuser mkdir /home/storageuser/nas
Пакет samba мы уже установили вместе с системой, дополнительно что-либо устанавливать не требуется.

Добавим пользователя в 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.

В сетевом окружении сервер появится через какое-то время, когда служба Wins обновит свои данные.

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

Готово!

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

Антивирус

Есть вопросы, нужна консультация или помощь в настройке - обращайтесь, будем рады помочь.

nas_linux.1494339874.txt.gz · Последнее изменение: 2017/05/09 14:24 — kuld

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki