Уменьшение объема хранилища путем удаления кэша Mastodon и разговор о MinIO и LocalStack

5 min

language: ja bn en es hi pt ru zh-cn zh-tw

Здравствуйте, это Муно.
Проблема, которая неизбежно возникает при создании экземпляра Mastodon, — это проблема хранения данных.
Поскольку он получает всю информацию с других серверов, его разрастание неизбежно.
Поэтому я нашел хороший скрипт.

Скриптирование на Bash

Похоже, что все можно удалить сразу с помощью tootctl, который стал доступен с Mastodon v4.1 и выше.
Improving Mastodon’s disk usage
Итак, я изменил его на 1 день и скопировал его целиком, как показано ниже.

#!/bin/bash

# Prune remote accounts that never interacted with a local user
RAILS_ENV=production /home/sns/mastodon/bin/tootctl accounts prune;

# Remove remote statuses that local users never interacted with older than 1 days
RAILS_ENV=production /home/sns/mastodon/bin/tootctl statuses remove --days 1;

# Remove media attachments older than 1 days
RAILS_ENV=production /home/sns/mastodon/bin/tootctl media remove --days 1;

# Remove all headers (including people I follow)
RAILS_ENV=production /home/sns/mastodon/bin/tootctl media remove --remove-headers --include-follows --days 0;

# Remove link previews older than 1 days
RAILS_ENV=production /home/sns/mastodon/bin/tootctl preview_cards remove --days 1;

# Remove files not linked to any post
RAILS_ENV=production /home/sns/mastodon/bin/tootctl media remove-orphans;

Поскольку это занимает слишком много времени, я пока не могу сказать, сколько места освободится ^^;

Идеальное домашнее объектное хранилище

В последнее время я подумываю о том, чтобы разместить отдельный сервер для хранения данных, помимо сервера, находящегося в эксплуатации.
Причины следующие:

  • Когда большие файлы хранятся на отдельном диске, система зависает из-за ошибок Disk I/O от ядра Linux при выходе диска из строя.
  • Избавление от зависимости от файловой системы
  • Четкое разделение с исполняемыми файлами

Есть и другие причины, но, если кратко, это то, что указано выше.
В частности, я узнал, что ошибки I/O, упомянутые в первом пункте, могут привести к зависанию даже при перезагрузке, и может потребоваться физическое отключение диска (хотя этого можно избежать, изменив параметры ядра и пересобрав его), поэтому, похоже, это необходимо сделать.

Что касается избавления от зависимости от файловой системы, я хотел бы использовать надежную ZFS, но ZFS, доступная в среде Linux, является псевдокопией и не является полноценной ZFS.
Если вы хотите использовать ZFS, вам необходимо настроить и использовать среду FreeBSD.
Что касается RAID, это еще сложнее, и я не буду его использовать, так как существует вероятность того, что восстановление будет невозможно, если RAID-карта выйдет из строя.
Поэтому я хочу использовать FreeBSD в качестве сервера объектного хранилища.

Что касается более четкого разделения с исполняемыми файлами, то это просто желание создать отдельную среду в качестве универсального хранилища, как в случае с Plan9 в прошлом, с учетом распределенной системы.
Для простого выполнения программ не требуется сотни гигабайт или терабайты.

MinIO и LocalStack

LocalStack может имитировать AWS S3, но бесплатная версия не является постоянной и имеет ограничения.
В качестве более открытого объектного хранилища, если вы собираетесь развернуть его на реальном сервере, MinIO кажется хорошим вариантом.
LocalStack: для временного использования имитированной среды AWS S3, например, в среде разработки.
MinIO: для создания сервера объектного хранилища.
Похоже, их следует использовать по-разному.
Поэтому я собираюсь настроить сервер MinIO.


До скорого. С наилучшими пожеланиями.

Related Posts