Дефрагментирование BTRFS со снапшотами

У меня был read only снапшот примерно 1.5 ТБ данных, на диске было свободно около 900 ГБ. Запeстил дефрагментацию (btrfs defrag). В итоге получил ошибку, что не осталось свободного места, а место реально закончилось. Это произошло потому, что снапшот был read only, то есть доступен только на чтение, при дефрагментации выполнялось копирование файлов в новое расположение, а из read only снапшота их удалить нельзя, поэтому место закончилось. Удалили снапшот, место освободилось.
Нагуглил по этому вопросу:
1) «Is it dangerous to defragment subvolume which has readonly snapshots?»
2) Обсуждение в рассылке «defragmenting best practice?»

Особенность чистки файлового хранилища на BTRFS

Решил почистить файловое хранилище на BTRFS. Чистка включает в себя:

  1. анализ, чем занято место на диске, через консольную утилиту ncdu, удаление ненужного
  2. удаление старых снапшотов (резервных копий)
  3. проведение btrfs balance /точка_монтирования

Выше написан правильный порядок действий. А я сначала удалил ненужные снапшоты, а потом начал пытаться запустить ncdu. В результате фоном работает процесс btrfs-cleaner, который создает большую нагрузку на ввод-вывод с небыстрого HDD диска, и все остальное работает очень медленно. Нужно было делать в той последовательности, которая описана выше, чтобы фоновые операции, создающие большую нагрузку на систему, выполнялись уже после завершения всех работ человеком.

Защита сетевой шары от шифровальщиков с помощью AUFS

Автор: Греб Куликов, источник

> 31.03.2019 15:02, Gleb Kulikov пишет:
> > overlayfs не держит нагрузку и имеет проблемы с EA/ACL.
> >
> > у меня там объединение томов с разных физических устройств с
> > распределением
> > файлов/слепков файлов на предмет отказоустойчивости и моментального
> > восстановления в случае нечисти по типу «шифровальщиков». Объединённый
> > ресурс отдаётся в самбу и нфс.
>
> Было бы очень интересно почитать, как такое сделано.
Читать далее Защита сетевой шары от шифровальщиков с помощью AUFS

Доработка вновь созданной базы данных MySQL 8.0 на Vesta

Использую панель управления Vesta вместе с MySQL 8.0 вместо 5.х. В Vesta создаю базу данных, но потом с ней не невозможно работать. Нужно:
Читать далее Доработка вновь созданной базы данных MySQL 8.0 на Vesta

Плюсы и минусы BTRFS

Напишу пришедшие в голову плюсы и минусы BTRFS после нескольких лет ее использования.

Плюсы BTRFS (сочиняю на ходу, может быть путано):
Читать далее Плюсы и минусы BTRFS

CGI-скрипты на Vesta

Скрипты в папке /cgi-bin/ должны иметь расширение *.fcgi

root@host:~# cat /etc/apache2/mods-enabled/mods-available/fcgid.conf
<IfModule mod_fcgid.c>
FcgidConnectTimeout 20

<IfModule mod_mime.c>
AddHandler fcgid-script .fcgi
</IfModule>
</IfModule>

ncdu на Android: с компьютера анализируем, чем забита память смартфона

— Ставим Termux (Android >= 5.0)
— Заходим в Termux и из репозитория ставим ncdu (ncurses disk usage analyzer):
pkg install ncdu Читать далее ncdu на Android: с компьютера анализируем, чем забита память смартфона

Копирование файлов BigBlueButton на другой сервер

for i in $(dpkg -l | grep -E 'bbb|bigbluebutton' | awk '{print $2}'); do dpkg -L "$i" ; done > bbb-files.list

while read line; do if ! file $line | grep -q directory; then echo $line >> bbb2.list ; fi; done < bbb-files.list

while read line; do scp -P 6905 "$line" "root@XXX.XXX.XXX.XXX:/var/lib/machines/bbb1/${line}" ; done < bbb2.list

IBM POWER9 со свободной фирмварью

IBM производит свои процессоры POWER (на них раньше были Mac-и). В последние годы они много вложили в поддержку этой архитектуры в GCC, clamg, FFmpeg и множестве других свобрдных программ, важных для применения их процессоров.

Недавно вышел сервер (а скоро будет и рабочая станция) на базе процессоров POWER с полностью открытым кодом всех фирмварей. Он показал очень хорошую производительность в сравнении с AMD и Intel:
http://www.phoronix.com/vr.php?view=27063

Узнать, сайт не открывается из-за блокировки Роскомнадзора или нет

Чтобы точно проверить, заблокирован ли Роскомнадзором какой-либо сайт, можно сделать так:
в одном терминале введите команду:
sudo tcpdump -nA -s1500 host 188.166.77.215
В другом:
wget -qO- https://nixtux.ru
Затем смотреть в первый терминал с tcpdump и искать надпись, похожую на «Unavailable For Legal Reasons».
Где 188.166.77.215 — это IP-адрес, к которому будет происходить обращение, зная домен, узнать IP легко:
host nixtux.ru