Решил я тут, что будет удобно иметь S3 бакет как диск в системе для всякого. Так как я плотно работаю с Yandex Cloud, то и использовать буду их бакет.
У них довольно щедрые тарифы и достаточно большие бесплатные лимиты. https://yandex.cloud/ru/docs/storage/pricing
Я сижу на Федоре. Для подключения бакета буду использовать GeeseFS - - высокопроизводительная файловая система S3 ( Яндекс , Amazon ), соответствующая стандарту POSIX и написанная на языке Go.
GeeseFS позволяет монтировать S3 бакет как файловую систему. Файловые системы FUSE на основе S3 обычно имеют проблемы с производительностью, особенно при работе с небольшими файлами и операциями с метаданными. GeeseFS пытается решить эти проблемы, используя агрессивный параллелизм и асинхронность.
Будет работать кстати и на винде.
Естественно нужно иметь аккаунт в яндекс облаке. У меня он есть. Создать новый не представляет сложности. Там ещё и грант 4000 рублей дадут. Поэтому переходим к делу.
В облаке нужно будет создать бакет. А так же статические ключи доступа.
Скачиваю бинарник https://github.com/yandex-cloud/geesefs/releases/latest/download/geesefs-linux-amd64. Кстати должна быть установлена ещё fuse, в федоре она предустановлена.
В профиль aws нужно добавить созданный ранее статический ключ доступа. Если вы не пользовались aws cli, то нужно создать файл ~/.aws/credentials, если пользовались то файл уже есть. В него нужно добавить профиль
[home-reserve]
aws_access_key_id = AKID1234567890
aws_secret_access_key = MY-SECRET-KEY
Cоздать каталог для монтирования бакета mkdir -p ~/mnt/yc-bucket/.
Далее создать юнит nano ~/.config/systemd/user/geesefs-home-reserve.service
[Unit]
Description=Mount Yandex Cloud bucket home-reserve via GeeseFS
After=network.target
[Service]
Type=simple
ExecStartPre=/bin/sh -c 'fusermount3 -u /home/your-user-name/mnt/yc-bucket 2>/dev/null || true'
ExecStart=/home/your-user-name/Scripts/geesefs-linux-amd64 \
-f \
--endpoint https://storage.yandexcloud.net \
--profile home-reserve \
--enable-perms \
--enable-mtime \
--enable-patch \
home-reserve \
/home/your-user-name/mnt/yc-bucket
ExecStop=fusermount3 -u /home/your-user-name/mnt/yc-bucket
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target
Пояснения:
After=network.target - запускать эту службу после того, как будут подняты сетевые интерфейсы
Type=simple - systemd считает службу запущенной сразу после запуска
ExecStart. Требуется так какgeesefsработает в foreground-режиме благодаря флагу-fExecStartPre - команда, выполняемая перед запуском основной службы. Принудительно отмонтируется бакет, если он остался висеть с прошлого запуска.
2>/dev/null || trueподавляет ошибки, если бакет не был смонтирован-
ExecStart - запускает
geesefs. Указан путь до ранее скачанного бинарника. Параметры:-f- запуск в foreground. Процесс не уходит в фон и контролируется systemd--endpoint- URL S3-совместимого API Yandex Cloud--profile home-reserve- профиль из~/.aws/credentials--enable-perms,--enable-mtime,--enable-patch- улучшают совместимость с POSIX (права, временные метки и частичное обновление файлов)home-reserve- название бакета в облаке/home/your-user-name/mnt/yc-bucket- локальная директория, куда монтируется бакет
ExecStop- команда для корректного отмонтирования при остановке службыRestart- если процесс упадёт, systemd перезапустит его через 5 секунд (RestartSec)
Обновляем внутреннюю конфигурацию демона systemd в памяти systemctl daemon-reload
Монтируем fusermount -u /home/your-user-name/mnt/yc-bucket
Перезагружаем systemctl --user restart geesefs-home-reserve.service
Готово. Теперь есть диск на 288,2 петабайта. Работает очень шустро.

Комментарии (22)

Alex-ZiX
18.12.2025 15:35Прежде чем делать такое, нужно учесть две вещи:
Тарифы на Яндекс.Диск намного дешевле, чем Яндекс S3.
GeeseFS начнет дико тупить при объёме около терабайта. Проверено с локальным S3. С удаленным будет ещё медленнее.

Jhon_Mosk Автор
18.12.2025 15:35Столько не собираюсь туда пихать. Планирую остаться в рамках бесплатных лимитов.

Alex-ZiX
18.12.2025 15:35Зачем тогда называть статью 288 ПБ да ещё и смонтированные через GeeseFS, если по факту сами ни разу больше 10 гигабайт и не пробовали записать?

tlittle
18.12.2025 15:35Т.е., в рамках 1Гб? Выглядит бесполезным на сегодняшний день...

Jhon_Mosk Автор
18.12.2025 15:35Смотря что хранить.

ITDiver77
18.12.2025 15:35Да у гугла 15ГБ бери не хочу. Только это не 288ПБ ни разу. Надежность всяко выше чем у корявой яши. А главное бесплатно, и если что, точно лишнего не приплюсуют и через суд не взыщут. Ибо там наши карточки не работают, и тарифы прозрачны. В отличии от яши.

kenomimi
18.12.2025 15:35Тарифы на Яндекс.Диск намного дешевле, чем Яндекс S3
Диск теперь не работает без мокрописечной утилиты с вагоном следилок. Webdav вроде монтируется, но при попытке записи ничего не происходит, запрос висит до таймаута. А через браузер он кидает капчу запросов через 20-30, чем наглухо блокирует залив множества файлов пачкой.

pinac
18.12.2025 15:35Пришел я вообщем в яндекс джуником, и естественно как и все получил задание написать хвалебно рекламную статью о замечательной компании и сервисе. Не долго думая вспомнил что есть хабра-помойка, и всякие ботхабы и бешеные нейпросети очень даже там спамят. Читайте и радуйтесь очередному высеру, ссылки есть, моя задача выполнена. Да и задача правительства выполнена, площадку специалистов окончательно втоптали в грязь, как опасного соперника распространяющего опасные знания. Удачи вам господа здесь барахтаться, и за что то держаться.

MEGA_Nexus
18.12.2025 15:35Я так понимаю, что через пару лет будет статья, как я потерял все данные, которые ранее записывал на смонтированный диск S3, так как yandex удалил мой аккаунт и закрыл по ошибке этот бесплатный инстанс. А на этом диске были семейные фотографии, курсовая работа, билеты в кино и прочие цифровые ценности.

Jhon_Mosk Автор
18.12.2025 15:35Надеюсь такого не будет. Это же репутация яндекса. Если он начнёт клиентов удалять, то ему конец. И этот бакет участвует в биллинге, на равне с другими используемыми мной сервисами. Видимо вы не доверяете облакам.
Семейные фотографии и прочие цифровые ценности у меня на домашнем компе. Хотя в облаке и надёжнее хранить. Но выйдет дороже.

SiberianMouse
18.12.2025 15:35"Локальный диск"."Локальный"... Зачем тебе это нужно, или кому либо? Использовать это в быту - дорого, бессмысленно, опасно, публично, медленно, ненадёжно, не автономно. Но звучит по айтишному, можно сойти за умного.

ITDiver77
18.12.2025 15:35Безлимит от яши? Почти так же смешно, как безлимит от мыйлру. Я так и не озаботился, ибо финал был предсказуем. С яшей, я не буду вангой, но что кинут, очевидно.

Alex-ZiX
18.12.2025 15:35Смысл тут в том, что человек написал статью ради статьи. Он сам этим не пользовался, не тестировал скорость, не сравнивал цены, не попробовал влить туда миллион файлов. Он просто взял GeeseFS, смонтировал банкет как диск, увидел красивую огромную цифру 288 ПБ и побежал быстрее клацать по клавишам. Ради чего только, не понятно? Автор явно же до сих пор так и не понял, что эта цифра эфи ерная и не отражает ни реального объёма, ни лимита - ничего.
Кроме того в заголовке написано "без боли", но что за боль имелась ввиду - не понятно, ибо нет никаких сравнений. Типа вот в прошлом году я пытался 300 ПБ смонтировать у Гугла и заполнить, а не вышло, а тут вот 288 с пол-пинка.

kovserg
Сколько требуется времени чтобы записать весь доступный объём?
catBasilio
Сколько требуется денег чтобы записать весь доступный объём?
Yami-no-Ryuu
Смотря сколько у вас денег на карточке.