Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияСледующая версияСледующая версия справа и слева |
nas_linux [2017/05/08 21:40] – [Файловое хранилище на Linux] kuld | nas_linux [2017/05/09 14:10] – [Настройка сервера] kuld |
---|
И так, начнем... | И так, начнем... |
| |
===== Выбор железа ===== | ===== Выбор оборудования ===== |
| |
Как я уже написал, железо нам подойдет практически любое, но все же кое-какие пожелания у нас есть. Поскольку сервер будет файловый, то и пожелания наши будут касаться дисковой системы. Было бы неплохо найти машину с RAID контроллером на борту. Если мы делаем сервер для размещения рабочей файловой базы, было бы неплохо разместить ее на RAID-5, если хранилище резервных копий, отличным вариантом будет RAID-1. | Как я уже написал, оборудование нам подойдет практически любое, но все же кое-какие пожелания у нас есть. Поскольку сервер будет файловый, то и пожелания наши будут касаться дисковой системы. Было бы неплохо найти машину с RAID контроллером на борту. Если мы делаем сервер для размещения рабочей файловой базы, было бы неплохо разместить ее на RAID-5, если хранилище резервных копий, отличным вариантом будет RAID-1. |
| |
При этом у нас нет особых требований к оперативной памяти, хватит и 1 Гбайта. К процессору тоже нет особых требований, Linux будет работать на всем, что еще живо. | При этом у нас нет особых требований к оперативной памяти, хватит и 1 Гбайта. К процессору тоже нет особых требований, Linux будет работать на всем, что еще живо. |
| |
Пожалуй, самый оптимальный вариант - приобрести восстановленный сервер "с пробегом". Берите самый дешевый, главное, что бы перед этим он прошел профилактику, его очистили от пыли и прогнали все системные тесты. | Пожалуй, самый оптимальный вариант - приобрести восстановленный сервер "с пробегом". Берите самый дешевый, какой найдете, главное, что бы перед этим он прошел профилактику, его очистили от пыли и прогнали все системные тесты. |
| |
За неимением лучшего, можно использовать любой старый компьютер, но помните, что Вы это делаете на свой страх и риск. Самое уязвимое место файлового сервера - дисковая подсистема. Если она у Вас будет состоять из одного единственного старого диска, Вы очень сильно рискуете. | <note important>За неимением лучшего, можно использовать любой старый компьютер, но помните, что Вы это делаете на свой страх и риск. Самое уязвимое место файлового сервера - дисковая подсистема. Если она у Вас будет состоять из одного единственного старого диска, Вы очень сильно рискуете.</note> |
| |
===== Установка операционной системы ===== | ===== Установка операционной системы ===== |
| |
| Сначала определимся с архитектурой сервера. Если Вам известна марка процессора, установленного в сервер, ознакомившись с его спецификацией Вы узнаете, совместим ли он с архитектурой x86-64 (64 бит) или только i386 (32 бит). Косвенный признак - размер оперативной памяти, 32-битная архитектура не может работать с оперативной памятью объемом более 3 Гбайт, иногда в эту архитектуру устанавливали 4 Гбайт памяти, но в системе было видно только 3 Гбайт. |
| |
| Идем на [[https://www.ubuntu.com/download/server|страницу загрузки Ubuntu Server]] и скачиваем дистрибутив, соответствующей архитектуры. Дистрибутивы Ubuntu распространяются в виде образов загрузочных DVD дисков. |
| |
| Для установки Вам потребуется записать загрузочный DVD диск из скачанного образа, или, что как правило удобнее, подготовить загрузочную флешку [[https://rufus.akeo.ie/|специальной утилитой]]. Вставляйте диск или флешку в сервер и загружайтесь с нее. |
| |
| Выбирайте русский язык и в меню ''Установить Ubuntu Server''. |
| |
| Далее Вам предложат указать страну, выбрать раскладку клавиатуры, дать имя серверу, указать имя и пароль суперпользователя (аналог администратора в Ubuntu) и подтвердить временную зону. |
| |
| Некоторое затруднение может вызвать разметка диска. Если сомневаетесь, выбирайте автоматическую разметку и использовать весь диск. Но лучше выделить домашние папки пользователей в отдельные логические диски. |
| |
| {{ :samba_disk.png?600 }} |
| |
| Так будет удобнее обновлять операционную систему, когда выйдет новая LTS версия 18.04. |
| |
| Создавать или нет раздел подкачки зависит от объема оперативной памяти. Если у Вас ее немного, создайте раздел подкачки с таким же объемом. Впрочем, это не обязательно, можно после установки создать файл подкачки. |
| |
| Далее в процессе установки Вам нужно будет выбрать каким образом Вы хотите управлять обновлением системы. Рекомендую устанавливать обновления безопасности автоматически. |
| |
| И ближе к концу установки Вам предложат выбрать готовые наборы серверного программного обеспечения. Нам понадобятся: |
| |
| * Samba file server |
| * Standart system utilites |
| * OpenSSH server |
| |
| Инсталлятор завершит свою работу, перезапустит сервер, Вы увидите протокол загрузки операционной системы, который завершится приглашением ввести логин и пароль пользователя в консоль. |
| |
| Добро пожаловать в Linux! |
| |
| |
| ===== Настройка сервера ===== |
| |
| Вводите логин и пароль суперпользователя, созданного при установке операционной системы. Ввод пароля никак не отображается в командной консоли - это нормально. |
| |
| Первым делом настроем сетевое подключение. |
| |
| Во время установки инсталлятор продиагностировал установленное оборудование и определил имеющиеся в системе адаптеры. По умолчанию Ethernet адаптер настраивается на получение IP адреса через DHCP, нас это не устраивает, т.к. у нас не будет возможности обращаться к серверу по его логическому имени, мы настроим статический IP адрес. |
| |
| Откройте конфигурационный файл сетевых интерфейсов командой |
| |
| <code> |
| $ sudo nano /etc/network/interfaces |
| </code> |
| |
| <note>Здесь использована команда ''sudo'' - специальная конструкция deb-based дистрибутивов Linux для выполнения команд с правами root. Когда Вы делаете это первый раз система попросит Вас ввести пароль и на какое-то время запомнит его.</note> |
| |
| и приведите его к такому виду |
| |
| <code> |
| # 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 адрес сетевого маршрутизатора |
| </code> |
| |
| Сохраните файл нажав Ctrl-O и закройте редактор Ctrl-X. После редактирования перезапустим сеть: |
| |
| <code> |
| $ sudo /etc/init.d/networking restart |
| </code> |
| |
| и проверим что у нас получилось |
| |
| <code> |
| $ ifconfig |
| </code> |
| |
| В выдаче этой команды внимательно смотрим на значения ''inet addr'' - в нашем примере там должен быть статический адрес 192.168.1.9. |
| |
| <note tip>Дальнейшую настройку удобнее производить с рабочей станции, подключившись по протоколу SSH. От сервера можно отключить монитор, клавиатуру и разместить его там, где он не будет никому мешать.</note> |
| |
| Для дистанционного управления сервером с рабочей станции Windows мы будем использовать [[http://www.putty.org/|PuTTy]]. Скачайте, установите и подключайтесь. Адрес сервера в нашем примере указывается так ''user@192.168.1.9'', где ''user'' - имя суперпользователя, порт по умолчанию ''22''. |
| |
| Мы не будем использовать анонимный доступ к нашему файловому серверу, для того, что бы что-то записать или прочитать с сервера потребуется указать логин и пароль. И нам потребуется создать пользователя на сервере, от имени которого будут производиться все соответствующие файловые операции в хранилище. |
| |
| <code> |
| $ sudo adduser storageuser |
| </code> |
| |
| При создании пользователя так же будут созданы одноименные группа и домашняя папка. В домашней папке этого пользователя мы и организуем сетевое файловое хранилище |
| |
| <code> |
| $ sudo -u storageuser mkdir /home/storageuser/nas |
| </code> |
| |
| Добавим пользователя в Samba |
| <code> |
| smbpasswd -a storageuser |
| </code> |
| - тут нужно указать пароль пользователя Samba, и включим пользователя |
| <code> |
| smbpasswd -e storageuser |
| </code> |
| |
| |
| Сделаем на всякий случай копию файла настроек и приступим к настройкам файлового сервера Samba. |
| |
| <note tip>Пакет samba уже установлен в систему инсталлятором.</note> |
| |
| <code> |
| $ sudo cp /etc/samba/smb.conf /etc/samba/smb.bak |
| $ sudo nano /etc/samba/smb.conf |
| </code> |
| |
| Конфигурационный файл сопровождается подробными комментариями, можете пройтись по настройкам самостоятельно, а можете скопировать рекомендуемые настройки полностью |
| |
| <code> |
| [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 |
| </code> |
| |
| Перезапустим службу |
| <code> |
| $ sudo service smbd restart |
| </code> |
| |
| Пробуем зайти с какой-либо рабочей станции Windows, указав в проводнике путь ''\\192.168.1.9''. |
| |
| <note> |
| В сетевом окружении сервер появится через какое-то время, когда служба Wins обновит свои данные. |
| </note> |
| |
| Windows сначала попробует открыть папку под своей локальной учетной записью, у нее это не получится и она запросит логин и пароль для доступа к сетевому ресурсу - это как раз тот пользователь, которого мы создали специально для доступа к сетевому хранилищу. |
| |
| {{ :winlogon.png |}} |
| |
| Готово! |
| |
| При необходимости можно добавить новых пользователей, новые разделы. |