Создание файлового сервера на базе Debian

Ответить
Аватара пользователя
kaa
Прошаренный
Сообщения: 41
Зарегистрирован: Чт апр 05, 2018 3:31 pm
Откуда: ОГБУЗ "ИОСП"
Контактная информация:

Создание файлового сервера на базе Debian

Сообщение kaa » Вт янв 22, 2019 4:02 pm

Смысл использования файлового сервера на базе Debian - возможность подключения к нему неограниченного количества пользователей, по сравнению с коммерческими файловыми системами (в windows оно ограничено количеством лицензий). Также есть возможность использовать современные технологии для создания устройства с высокой надёжностью и скоростью обмена, которые поддерживаются современным состоянием ОС Debian/Linux. Процесс установки можно посмотреть здесь:https://youtu.be/d4OSu7F20Iw.
Предполагается что ОС устанавливается на один накопитель /dev/sda, но для системы резервируется второй /dev/sdb, с целью создания системного RAID1. В процессе установки системы укажите уникальные сетевые имена и адреса. Обязательно укажите файловую систему типа btrfs для всех системных разделов кроме раздела подкачки. После установки системы, выключите её командой poweroff и добавьте в систему еще 4 накопителя для создания массива данных. Самым простым способом создания RAID-массива является использование файловой системы btrfs.
Все команды нужно выполнять с привелегиями суперпользователя, т.е. залогинившись root-ом.
Устанавливаем комплект программ:

Код: Выделить всё

apt -y install bridge-utils ifenslave samba mc btrfs-progs btrfs-tools
Просмотрите состояние файловых систем на накопителях: 1) Сборка системного массива RAID1
Сборка RAID1 для системы предполагает что все системные разделы и swap у вас на диске /dev/sda. И вы хотите создать "зеркало" на диске /dev/sdb. Для этого на втором накопителе нужно создать таблицу разделов, идентичную таблице на первом накопителе.
Сначала в одном терминале выведите таблицу разделов первого диска:

Код: Выделить всё

fdisk -l /dev/sda
А во втором терминале создавайте таблицу на втором диске, копируя/вставляя границы из первого терминала:

Код: Выделить всё

fdisk /dev/sdb
После создания разделов на втором накопителе, создаются raid-массивы, таким образом, чтобы каждый содержал два раздела с разных дисков:

Код: Выделить всё

btrfs device add /dev/sdb1 /
И после создания всех массивов нужно преобразовать их в тип RAID1:

Код: Выделить всё

btrfs balance start -mconvert=raid1 -dconvert=raid1 /
2) Сборка массива данных
Для того чтобы создать RAID10 на четырёх накопителях:

Код: Выделить всё

mkfs.btrfs -d raid10 -m raid10 -L data  /dev/sdc /dev/sdd /dev/sde /dev/sdf
Для того чтобы создать RAID5 на четырёх накопителях:

Код: Выделить всё

mkfs.btrfs -d raid5 -m raid5 -L data  /dev/sdc /dev/sdd /dev/sde /dev/sdf
Имеется также возможность преобразовать массив из одного типа в другой, без потери данных, читайте

Код: Выделить всё

man btrfs-balance
После сборки массива, создаём каталог, через который будет доступен массив данных:

Код: Выделить всё

mkdir /data
смотрим идентификатор массива:

Код: Выделить всё

blkid -o export -s UUID /dev/sdf|grep UUID
Обратите внимание что UUID будет одинаковым у всех четырёх накопителей в массиве:

Код: Выделить всё

for uuid in c d e f; do blkid -o export -s UUID /dev/sd$uuid|grep UUID; done
Связываем массив данных с файловой системой (прописывая две строчки в конфиг /etc/fstab):

Код: Выделить всё

echo "###Массив данных типа RAID###"| tee -a /etc/fstab
echo "$(blkid -o export -s UUID /dev/sdf|grep UUID) /data btrfs defaults,degraded 0 2"| tee -a /etc/fstab
mount /data
Если после выполнения этих команд не возникло ошибок, проверьте наличие точки монтирования MOUNTPOINT хотя бы на одном из накопителей:

Код: Выделить всё

lsblk /dev/sdc /dev/sdd /dev/sde /dev/sdf
И посмотрите информацию:

Код: Выделить всё

btrfs fi df /data
3) настройка samba+winbind+kerberos
4) настройка квот
5) настройка nfs
6) настройка tftp
7) агрегирование линков,поднятие мостов
Программист ОГБУЗ "ИОСП"

Аватара пользователя
kaa
Прошаренный
Сообщения: 41
Зарегистрирован: Чт апр 05, 2018 3:31 pm
Откуда: ОГБУЗ "ИОСП"
Контактная информация:

Re: Создание файлового сервера на базе Debian

Сообщение kaa » Вт мар 05, 2019 5:24 pm

Установка клиент для Active Directory:

Код: Выделить всё

apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli
Подключение сервера к Active Directory:

Код: Выделить всё

realm join itmed38.ru -v --install=/
service sssd restart
service sssd status
id administrator@itmed38.ru
Программист ОГБУЗ "ИОСП"

Аватара пользователя
kaa
Прошаренный
Сообщения: 41
Зарегистрирован: Чт апр 05, 2018 3:31 pm
Откуда: ОГБУЗ "ИОСП"
Контактная информация:

Объединение сетевых интерфейсов в режим bond

Сообщение kaa » Вт мар 26, 2019 2:21 pm

Сначала пишем конфиги:

Код: Выделить всё

nano /etc/systemd/network/bond0.netdev
[NetDev]
Name=bond0
Description=Bond0
Kind=bond

[Bond]
Mode=balance-rr

Код: Выделить всё

nano /etc/systemd/network/bond0.network
[Match]
Name=ens3
Name=ens10
Name=ens11

[Network]
Bond=bond0

Код: Выделить всё

nano /etc/systemd/network/bond0ip.network
[Match]
Name=bond0

[Network]
Address=192.168.211.12
Gateway=192.168.211.2
DNS=192.168.211.11
DNS=192.168.211.2
Domains=itmed38.ru


Далее, нужно закомментировать настройку сетевой карты в /etc/network/interfaces:

Код: Выделить всё

nano /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug ens3
#iface ens3 inet static
# address 192.168.211.12/24
# gateway 192.168.211.2
# dns-* options are implemented by the resolvconf package, if installed
# dns-nameservers 192.168.211.11 192.168.211.2
# dns-search itmed38.ru


После этого перезагружаем сервер. После перезагрузки и логина смотрим результат:

Код: Выделить всё

cat /proc/net/bonding/bond0
Программист ОГБУЗ "ИОСП"

Ответить

Вернуться в «Debian / Ubuntu»