Шпаргалка по RAID
Информация о RAID
Сборка RAID
при получении ответа mdadm: Unrecognised md component device -
* где /dev/md0 — устройство RAID, которое появится после сборки; -l 1 — уровень RAID; -n 2 — количество дисков, из которых собирается массив; /dev/sd{b,c} — сборка выполняется из дисков sdb и sdc.
Создание файловой системы и монтирование массива
nano /etc/fstab, прописать
Восстановление RAID
Замена жесткого диска
При выходе из строя, команда mdadm -D /dev/md0 выдаст: State : clean, degraded
Статус должен стать Rebuild Status : 40% complete и так до полного восстановления
Пересборка массива
Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:
Запасной диск (Hot Spare)
Если в массиве будет запасной диск для горячей замены, при выходе из строя одного из основных дисков, его место займет запасной.
Добавить диск к массиву, расширить массив
Добавление активного диска к RAID, который будет использоваться для работы, а не в качестве запасного.
* в данном примере подразумевается, что у нас RAID 1 и мы добавили к нему 3-й диск.
Установка mdadm
Если каким-то образом в дистрибутиве нет этого пакета
Удаление массива
Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:
* где
Затем очищаем суперблоки на всех дисках, из которых он был собран:
👉@linuxchmod
mdadm
— утилита для работы с программными RAID-массивами различных уровней. В данной инструкции рассмотрим примеры ее использования.Информация о RAID
cat /proc/mdstat
- состояние всех RAIDmdadm -D /dev/md0
- подробная инфа о конкретном RAIDlsblk
- список дисков с разделами, местом, типомdf -hT
- свободное место, тип файловой системы, точки монтированияСборка RAID
mdadm —zero-superblock —force /dev/sd{b,c}
- обнуление суперблоков на дисках sdb sdc (для удаления инфы о других RAID)при получении ответа mdadm: Unrecognised md component device -
/dev/sdb
значит, что диск не использовался для RAID, продолжаемmdadm —create —verbose /dev/md0 -l 1 -n 2 /dev/sd{b,c}
* где /dev/md0 — устройство RAID, которое появится после сборки; -l 1 — уровень RAID; -n 2 — количество дисков, из которых собирается массив; /dev/sd{b,c} — сборка выполняется из дисков sdb и sdc.
Создание файловой системы и монтирование массива
mkfs.ext4 /dev/md0
- создание файловой системы ext4 на md0mount /dev/md0 /mnt
- разово примонтировать md0 к /mnt
nano /etc/fstab, прописать
/dev/md0 /mnt ext4 defaults 1 2
- постоянное монтирование, работает после перезагрузкиВосстановление RAID
Замена жесткого диска
При выходе из строя, команда mdadm -D /dev/md0 выдаст: State : clean, degraded
mdadm /dev/md0 —remove /dev/sdc
- удалить сбойный дискmdadm /dev/md0 —add /dev/sde
- добавить новый диск в массивСтатус должен стать Rebuild Status : 40% complete и так до полного восстановления
Пересборка массива
Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:
mdadm —assemble —scan
- команда сама найдет необходимую конфигурацию и восстановит RAID.mdadm —assemble /dev/md0 /dev/sdb /dev/sdc
- с указанием из каких дисков пересобратьЗапасной диск (Hot Spare)
Если в массиве будет запасной диск для горячей замены, при выходе из строя одного из основных дисков, его место займет запасной.
mdadm /dev/md0 —add /dev/sdd
- Диском Hot Spare станет тот, который просто будет добавлен к массивуДобавить диск к массиву, расширить массив
Добавление активного диска к RAID, который будет использоваться для работы, а не в качестве запасного.
mdadm /dev/md0 —add /dev/sde
mdadm -G /dev/md0 —raid-devices=3
- расширяем RAID* в данном примере подразумевается, что у нас RAID 1 и мы добавили к нему 3-й диск.
Установка mdadm
Если каким-то образом в дистрибутиве нет этого пакета
apt-get install mdadm
Удаление массива
Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:
umount /mnt
* где
/mnt
— каталог монтирования нашего RAID.mdadm -S /dev/md0
Затем очищаем суперблоки на всех дисках, из которых он был собран:
mdadm —zero-superblock /dev/sdb
mdadm —zero-superblock /dev/sdc
mdadm —zero-superblock /dev/sdd
👉@linuxchmod
👍4🔥2🙏1
SFTPGo — это мощный и гибкий сервер SFTP с поддержкой FTPS, S3, WebDAV и HTTP. Он написан на Go и предоставляет широкий набор функций для безопасного управления файлами.
Основные возможности:
🔹 Многопротокольная поддержка – SFTP, FTP, WebDAV, HTTP/S
🔹 Хранение данных – локально, в S3 (AWS, MinIO и др.), Google Cloud Storage, Azure Blob
🔹 Поддержка пользователей и групп – управление через API, веб-интерфейс или конфигурационные файлы
🔹 Аутентификация – встроенная, через JWT, OAuth2, OpenID Connect, PAM, LDAP
🔹 Шифрование и защита – встроенная поддержка TLS, двухфакторная аутентификация
🔹 Гибкость – поддержка виртуальных каталогов, перехват событий вебхуками, API и скриптами
📌 Идеальный вариант для развёртывания безопасного сервера передачи файлов в компании или облачной среде.
https://github.com/drakkan/sftpgo
👉@linuxchmod
Основные возможности:
🔹 Многопротокольная поддержка – SFTP, FTP, WebDAV, HTTP/S
🔹 Хранение данных – локально, в S3 (AWS, MinIO и др.), Google Cloud Storage, Azure Blob
🔹 Поддержка пользователей и групп – управление через API, веб-интерфейс или конфигурационные файлы
🔹 Аутентификация – встроенная, через JWT, OAuth2, OpenID Connect, PAM, LDAP
🔹 Шифрование и защита – встроенная поддержка TLS, двухфакторная аутентификация
🔹 Гибкость – поддержка виртуальных каталогов, перехват событий вебхуками, API и скриптами
📌 Идеальный вариант для развёртывания безопасного сервера передачи файлов в компании или облачной среде.
https://github.com/drakkan/sftpgo
👉@linuxchmod
👍3
Как найти количество открытых файлов в Linux
Значение сохраняется в
Проверка Hard лимит в Linux
Проверка Soft лимит в Linux
Чтобы просмотреть значения Hard и Soft для разных пользователей, переключите пользователя с «su» на пользователя, ограничения которого вы хотите проверить.
Например:
Как проверить количество системных дескрипторов файлов в Linux
На серверах, некоторые из ваших приложений могут потребовать более высокий лимит для открытых дескрипторов файлов. Хорошим примером этого являются службы MySQL / MariaDB или веб-сервер Apache.
Вы можете увеличить лимит открытых файлов в Linux, отредактировав опцию ядра
Например, чтобы увеличить ограничение на количество открых файла до 500000, вы можете использовать следующую команду:
Вы можете проверить текущее значение для количества открытых файлов с помощью следующей команды:
С помощью указанной команды изменения, которые вы внесли, будут оставаться активными только до следующей перезагрузки. Если вы хотите применить их на постоянной основе, вам придется отредактировать следующий файл:
Добавьте следующую команду:
Конечно, вы можете изменить число в соответствии с вашими потребностями. Чтобы снова проверить изменения, используйте:
Чтобы изменения вступили в силу, пользователям необходимо будет выйти из системы и снова войти в систему. Если вы хотите немедленно применить ограничения, вы можете использовать следующую команду:
Установка количества открытых файлов для пользователя в Linux
Вышеприведенные примеры показали, как установить ограничения, но вы можете установить лимит для каждого пользователя. Для этой цели, с правами пользователя root, вам необходимо отредактировать следующий файл:
Если вы администратор Linux, предлагаем Вам ознакомиться с этим файлом. Прочитайте все комментарии в нем, поскольку он обеспечивает гибкость в плане управления системными ресурсами путем установки лимита пользователям на разных уровнях.
Команды, которые вы должны добавить, имеют следующие параметры:
<domain> <type> <item> <value>
Вот пример установки Soft и Hard лимитов для пользователя dimon:
👉@linuxchmod
Значение сохраняется в
# cat /proc/sys/fs/file-max
Проверка Hard лимит в Linux
# ulimit -Hn
Проверка Soft лимит в Linux
# ulimit -Sn
Чтобы просмотреть значения Hard и Soft для разных пользователей, переключите пользователя с «su» на пользователя, ограничения которого вы хотите проверить.
Например:
# su root
$ ulimit -Sn
$ ulimit -Hn
Как проверить количество системных дескрипторов файлов в Linux
На серверах, некоторые из ваших приложений могут потребовать более высокий лимит для открытых дескрипторов файлов. Хорошим примером этого являются службы MySQL / MariaDB или веб-сервер Apache.
Вы можете увеличить лимит открытых файлов в Linux, отредактировав опцию ядра
fs.file-max
. Для этого используйте утилиту sysctl
.Sysctl
используется для настройки параметров ядра.Например, чтобы увеличить ограничение на количество открых файла до 500000, вы можете использовать следующую команду:
# sysctl -w fs.file-max=500000
Вы можете проверить текущее значение для количества открытых файлов с помощью следующей команды:
$ cat /proc/sys/fs/file-max
С помощью указанной команды изменения, которые вы внесли, будут оставаться активными только до следующей перезагрузки. Если вы хотите применить их на постоянной основе, вам придется отредактировать следующий файл:
# vi /etc/sysctl.conf
Добавьте следующую команду:
fs.file-max=500000
Конечно, вы можете изменить число в соответствии с вашими потребностями. Чтобы снова проверить изменения, используйте:
# cat /proc/sys/fs/file-max
Чтобы изменения вступили в силу, пользователям необходимо будет выйти из системы и снова войти в систему. Если вы хотите немедленно применить ограничения, вы можете использовать следующую команду:
# sysctl -p
Установка количества открытых файлов для пользователя в Linux
Вышеприведенные примеры показали, как установить ограничения, но вы можете установить лимит для каждого пользователя. Для этой цели, с правами пользователя root, вам необходимо отредактировать следующий файл:
# vi /etc/security/limits.conf
Если вы администратор Linux, предлагаем Вам ознакомиться с этим файлом. Прочитайте все комментарии в нем, поскольку он обеспечивает гибкость в плане управления системными ресурсами путем установки лимита пользователям на разных уровнях.
Команды, которые вы должны добавить, имеют следующие параметры:
<domain> <type> <item> <value>
Вот пример установки Soft и Hard лимитов для пользователя dimon:
## Example hard limit for max opened files
dimon hard nofile 4096
## Example soft limit for max opened files
dimon soft nofile 1024
👉@linuxchmod
👍4
Linux: делаем скриншот и отправляем его на электронную почту 📭
Для успешной работы скрипта необходимо сначала установить:
👉@linuxchmod
Для успешной работы скрипта необходимо сначала установить:
ssmtp
(обязательно настроить), mpack
и scrot
#!/usr/bin/env bash
# Важно! Для работы скрипта необходимо установить и настроить ssmtp, mpack и scrot
# путь к директории со скриншотами
dirpath=/home/$USER/screenshots
# проверяем наличие директории (если нет, то создаем). Делаем скриншот с названием по маске: ДД-ММ-ГГ_ЧЧ-ММ-СС.jpg
if [[ -d $dirpath ]]; then
scrot '%d-%m-%Y_%H-%M-%S.jpg' -e "mv \$f $dirpath"
screenshot=$(find "$dirpath" -name "*.jpg")
else
mkdir -p "$dirpath"
scrot '%d-%m-%Y_%H-%M-%S.jpg' -e "mv \$f $dirpath"
screenshot=$(find "$dirpath" -name "*.jpg")
fi
# отправляем письмо на почту
echo "Скриншот с сервера: $HOSTNAME" > $dirpath/message_body.txt
mpack -s "Скриншот" -d $dirpath/message_body.txt $screenshot [email protected]
# удаляем скриншот
rm -f $screenshot
👉@linuxchmod
👍4
Batch-скрипт. Устаналивает портабельную программу с сетевого диска на локальный диск пользователя и выводит ярлык на рабочий стол.
Отредактированный под себя скрипт нужно прикрепить с помощью GPO в домене, как сценарий запуска при старте системы. Логи по установке пишутся на сетевой диск в отдельную папку.
👉@linuxchmod
Отредактированный под себя скрипт нужно прикрепить с помощью GPO в домене, как сценарий запуска при старте системы. Логи по установке пишутся на сетевой диск в отдельную папку.
@echo off
rem меняем кодировку чтобы использовать кириллицу
chcp 1251 >nul
rem указываем директорию с программой для копирования (в нашем случае на сетевом диске М)
set old_dir="M:\Programs\ExampleProgramPortable"
rem указываем директорию куда копировать программу (в нашем случае в корень диска С)
set new_dir="C:\ExampleProgramPortable"
rem если директория уже существует пишем запись в лог (дата, время, файл называется именем пользователя), в противном случае копируем программу в директорию new_dir
rem копируем ярлык программы в общую папку для всех пользователей, чтобы вывести на рабочий стол
rem переименовываем ярлык кириллицей (если нужно)
rem делаем запись в лог
If Exist "%new_dir%\*.*" (
echo %date% %time:~-11,8% DIR exist already >> M:\logs\%username%.txt
) Else (
xcopy %old_dir% %new_dir% /i /e /h /y
xcopy "C:\ExampleProgramPortable\example_program.lnk" C:\Users\Public\Desktop
rename "C:\Users\Public\Desktop\example_program.lnk" Программа.lnk
echo %date% %time:~-11,8% Example Program install successful >> M:\logs\%username%.txt
)
👉@linuxchmod
👍2
Mikrotik firewall
Цепочка Output в Mikrotik Firewall Filter
Основные цепочки IP Firewall Filter, используемые в MikroTik
Цепочка Input в Firewall Filter Mikrotik
Цепочка Forward в Firewall Mikrotik Filter
Action в Mikrotik ip firewall filter - accept, log, add to address list
Action Mikrotik ip firewall filter — drop, fasttrack connection, jump, passtrough, reject, tarpit
Address List в Mikrotik
Принцип «Если-То» в Firewall MikroTik, Вкладки «General», «Advanced», «Extra», «Action»
Ручная Настройка Default Firewall Filter Rules в MikroTik
Настройка Honeypot в Mikrotik
Port Knocking в Mikrotik Firewall Filter
Все видео на youtube
👉@linuxchmod
Цепочка Output в Mikrotik Firewall Filter
Основные цепочки IP Firewall Filter, используемые в MikroTik
Цепочка Input в Firewall Filter Mikrotik
Цепочка Forward в Firewall Mikrotik Filter
Action в Mikrotik ip firewall filter - accept, log, add to address list
Action Mikrotik ip firewall filter — drop, fasttrack connection, jump, passtrough, reject, tarpit
Address List в Mikrotik
Принцип «Если-То» в Firewall MikroTik, Вкладки «General», «Advanced», «Extra», «Action»
Ручная Настройка Default Firewall Filter Rules в MikroTik
Настройка Honeypot в Mikrotik
Port Knocking в Mikrotik Firewall Filter
Все видео на youtube
👉@linuxchmod
👍2