INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / RSS / GPG

Автомаунт smb шар через systemd

№ 11820 В разделе Sysadmin от September 22nd, 2022,
В подшивках: ,

Имя файлов юнитов должно совпадать с путем к директории куда должно произойти монтирование.

Юнит самого маунта /etc/systemd/system/mnt-backups-storage.mount

[Unit]
Description=backup storage

[Mount]
What=//backup-server/sql_backup
Where=/mnt/backups/storage
Options=credentials=/root/.smbclient,rw,file_mode=0700,dir_mode=0700,uid=1000
DirectoryMode=0700
Type=cifs

[Install]
WantedBy=multi-user.target

Файл с автомаунтом /etc/systemd/system/mnt-backups-storage.automount

[Unit]
Description=storage automount

[Install]
WantedBy=multi-user.target

[Automount]
Where=/mnt/backups/storage

Файл с авторизацией /root/.smbclient

username=myusername
pass=supapa$$w0rd

Активируем

systemctl enable mnt-backups-storage.mount
systemctl enable mnt-backups-storage.automount
systemctl start mnt-backups-storage.mount

Нет комментариев »

NFS сервер для Ubuntu и Centos

№ 11809 В разделе Sysadmin от August 19th, 2022,
В подшивках: ,

Ubuntu

apt install nfs-kernel-server nfs-common
systemctl enable nfs-server

Centos

yum install nfs-utils
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload
firewall-cmd --list-all
systemctl enable rpcbind nfs-server
systemctl start rpcbind nfs-server

Общее

mkdir /var/nfs
vi /etc/exports

Добавить в файл

/var/nfs 127.0.0.1(rw,sync,no_subtree_check)
/var/nfs 192.168.0.0/24(rw,sync,no_subtree_check)
/var/nfs 10.127.31.0/24(rw,no_root_squash,async,no_subtree_check)

Применить командой

exportfs -r

Опции NFS

  • rw – разрешить чтение и запись в этой папке;
  • ro – разрешить только чтение;
  • sync – отвечать на следующие запросы только тогда, когда данные будут сохранены на диск (по умолчанию);
  • async – не блокировать подключения пока данные записываются на диск;
  • secure – использовать для соединения только порты ниже 1024;
  • insecure – использовать любые порты;
  • nohide – не скрывать поддиректории при, открытии доступа к нескольким директориям;
  • root_squash – подменять запросы от root на анонимные, используется по умолчанию;
  • no_root_squash – не подменять запросы от root на анонимные;
  • all_squash – превращать все запросы в анонимные;
  • subtree_check – проверять не пытается ли пользователь выйти за пределы экспортированной папки;
  • no_subtree_check – отключить проверку обращения к экспортированной папке, улучшает производительность, но снижает безопасность, можно использовать когда экспортируется раздел диска;
  • anonuid и anongid – указывает uid и gid для анонимного пользователя.

Нет комментариев »

Репликация Master-Slave для MySQL (MariaDB), быстрый рецепт

№ 11806 В разделе Sysadmin от August 19th, 2022,
В подшивках: ,

  1. Включить на мастере логи, задать server_id, создать юзера для слейва (см. master/init.sql, master/mysql.cnf)
  2. На мастере (пока работающем) остановить запись
    FLUSH TABLES WITH READ LOCK;
    SET GLOBAL read_only = ON;

    Подождать несколько минут чтобы завершились фоновые операции.
  3. Сделать SHOW MASTER STATUS;, записать координаты лога в slave/init.sql
  4. Остановить мастер
  5. Скопировать файлы
    rsync -av /srv/mysql/mysql-data/ root@10.127.31.13:/srv/mysql/mysql-data/ --delete
  6. Можно запустить мастер
  7. Поднять реплику
  8. Проинициализировать слейв скриптом slave/init.sql
  9. Сделать start slave;
  10. Убедиться что все заработало show slave status;
  11. Если есть проблема с дублирующимися записями, то в конфиг слейва добавить slave-skip-errors = 1062

Репозиторий с конфигами и sql файлами https://git.blindage.org/21h/docker-mysql-replication

Нет комментариев »

Использование видеокарты Nvidia для кодировки видео

№ 11779 В разделе Sysadmin от July 6th, 2022,
В подшивках:

Первое что нужно сделать это поставить дрова nvidia. Разумеется, без них ничего работать не будет. Тажке нужно поставить дополнительные зависимости для сборки ffmpeg:

sudo apt-get install build-essential yasm cmake libtool libc6 libc6-dev unzip wget libnuma1 libnuma-dev nvidia-cuda-toolkit

Теперь можно смело идти сюда и выполнять сборку под вашу ОС https://docs.nvidia.com/video-technologies/video-codec-sdk/ffmpeg-with-nvidia-gpu/.

На всякий случай копипастну сюда:

FFmpeg with NVIDIA GPU acceleration is supported on all Linux platforms.

To compile FFmpeg on Linux, do the following:

  • Clone ffnvcodec
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
  • Install ffnvcodec
cd nv-codec-headers && sudo make install && cd –
  • Clone FFmpeg’s public GIT repository.
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg/
  • Install necessary packages.
sudo apt-get install build-essential yasm cmake libtool libc6 libc6-dev unzip wget libnuma1 libnuma-dev
  • Configure
./configure --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared
  • Compile
make -j 8
  • Install the libraries.
sudo make install

Вы можете собрать новый пакет с вкомпиленой поддержкой cuda, но я не стал заморачиваться, поставил ffmpeg из репозитория и поверх него через make install катанул мою сборку. Да, оно захерится при следующем обновлении ОС, собирайте пакет и не смотрите какой я ленивый.

По ссылке выше даны примеры использования. А от себя могу показать такой способ для сливания кучи записей с рега в одну ffmpeg -i concat:"$(ls -1 | tr '\n' '|')" -c:a aac -c:v h264_nvenc -b:v 5M output.mp4

Нет комментариев »

Облачная платформа
Яндекс.Метрика

Fortune cookie: Christians believe that the most wonderful thing that can happen to them is to go to Heaven, but few of them are in a hurry to make the trip.