Перейти до змісту

16. Підключаємо другий комп’ютер — studiofs discover

Work in progress

На першому комп’ютері вже є том і перші файли. Тепер хочемо відкрити їх на іншій машині: наприклад, перенести роботу зі студійної станції на домашній ноутбук або підключити колегу до матеріалів проєкту.

Для цього є studiofs discover. Команда знаходить наявний том у PostgreSQL і готує його локальні метадані на новому комп’ютері. Назва трохи пригодницька, але шукати загублений диск по всьому інтернету вона не буде: адресу сервера та ім’я тому потрібно знати.

Повторний studiofs init на другому комп’ютері не потрібен. Том уже створено. Ми приєднуємо ще одного клієнта до того самого простору.

Готуємо другий комп’ютер

Установіть StudioFS і засоби підключення для своєї системи: WinFSP у Windows, macFUSE у macOS або libfuse3 у Linux. Відповідні кроки є в главах 10, 11 і 12.

Підключіть комп’ютер до тієї самої приватної мережі Tailscale чи NetBird і перевірте доступ до PostgreSQL за главою 08.

На першому комп’ютері завершіть запис невеликого тестового файла й дайте StudioFS опублікувати зміни. Для нового клієнта в PostgreSQL має бути доступний коректний контрольний знімок метаданих. Самої наявності файлів у S3 для підключення недостатньо.

Отримуємо локальні метадані

На другому комп’ютері відкрийте термінал або PowerShell. Загальна форма команди:

studiofs discover <disk-name> --meta "<you-postgres-connection>"

Кутові дужки позначають місця для ваших значень; вводити їх буквально не потрібно. Наприклад, команда може мати такий вигляд:

studiofs discover myvolume --meta "postgres://studiofs:YOUR_PASSWORD@100.101.102.103:5432"

Замініть користувача, пароль, адресу й порт на свої. Адреса тут умовна: використовуйте VPN-адресу або приватне ім’я вашого сервера.

Під час discover StudioFS отримує опублікований контрольний знімок і налаштування тому з PostgreSQL та створює локальну базу метаданих. Усі відео, звук і зображення на диск одразу не завантажуються. Вміст потрібних файлів клієнт читатиме із S3 під час роботи, використовуючи власний локальний кеш.

Окремі --access-key і --secret-key у цієї команди відсутні. Налаштування S3, зокрема збережені ключі доступу, надходять у складі конфігурації наявного тому.

Підключаємо знайдений том

discover готує клієнт, але не створює підключений диск. Після успішного завершення виконайте mount, як у главі 14.

У Windows оберіть вільну літеру:

studiofs mount myvolume Z:

У macOS:

studiofs mount myvolume /Volumes/Studiofs

У Linux:

studiofs mount myvolume /mnt/StudioFS

У Windows відкривайте Z:\, у macOS — /Volumes/Studiofs/myvolume, а в Linux — /mnt/StudioFS/myvolume. StudioFS додає ім’я тому до переданої батьківської папки. Літера або шлях на другому комп’ютері можуть відрізнятися від першого — спільний том від цього не змінюється.

Виконуйте discover і mount від того самого користувача та з тим самим коренем клієнта. За замовчуванням локальний стан лежить у ~/.studiofs. Якщо ви встановили STUDIOFS_CLIENT_ROOT, обидві команди мають використовувати те саме значення. Після зміни користувача, запуску через sudo або зміни цієї змінної mount може шукати метадані зовсім в іншому місці.

За замовчуванням mount залишається працювати в терміналі. Залиште це вікно відкритим, а файли перевіряйте через файловий менеджер або друге вікно термінала.

Перевіряємо обмін в обидва боки

Новий клієнт починає з отриманого контрольного знімка. Після підключення він наздоганяє подальші зміни у фоні. Спочатку том може бути доступним лише для читання: запис відкривається після початкового наздоганяння та отримання потрібних повноважень. Це не привід повторювати init.

Для першої перевірки достатньо невеликого текстового файла:

  1. На першому комп’ютері створіть у підключеному томі файл hello-from-studio.txt, запишіть короткий рядок і закрийте редактор.
  2. Дайте першому клієнту опублікувати зміни. На другому оновіть перелік файлів, дочекайтеся появи файла й відкрийте його. Перевірте саме текст усередині: видиме ім’я ще не доводить, що вміст доступний із S3.
  3. Коли другий клієнт дозволяє запис, створіть на ньому інший файл — hello-from-home.txt. Закрийте редактор і перевірте появу та вміст цього файла на першому комп’ютері.

Під час цієї перевірки обидва комп’ютери мають залишатися підключеними до мережі, а процеси StudioFS — працювати. Не редагуйте одночасно один і той самий файл: зараз перевіряємо доставлення змін, а до конфліктів ще дійдемо.

Поява файлів не зобов’язана бути миттєвою, але, оскільки ми пробуємо на маленькому txt файлі, вона повинна бути майже миттєвой.

Якщо щось не вийшло

Том не знайдено. Перевірте точне ім’я, сервер PostgreSQL і готовність опублікованих метаданих на першому клієнті. Не створюйте однойменний том на другому комп’ютері, щоб «допомогти пошуку».

Локальні метадані вже існують. discover відмовляється перезаписувати наявну локальну базу. Якщо цей клієнт уже підключали, спробуйте звичайний mount із тим самим ім’ям і коренем клієнта. Не видаляйте локальні метадані навмання: там можуть бути ще не опубліковані зміни. Інше ім’я також не є способом обійти помилку — воно змінює ім’я тому, який шукають на сервері.

Є помилка з’єднання. Перевірте VPN, доступність порту PostgreSQL, облікові дані та правила доступу. Успішний мережевий тест не підтверджує правильність пароля.

Файли видно, але вони не відкриваються. Перевірте доступ другого комп’ютера до S3, чинність ключів і завершення публікації на першому. Успішне підключення до PostgreSQL не перевіряє весь цей шлях.

Нові зміни не з’являються. Переконайтеся, що обидва томи справді підключені й клієнти мають мережевий доступ. Перегляньте повідомлення в терміналі; подальші кроки є у главі про діагностику. Повторний discover не потрібен після кожного збереження чи звичайного перезапуску.

Після перевірки у вас є два окремі клієнти одного тому, кожен зі своїми метаданими й кешем. Наступний крок — навчитися завершувати їхню роботу без зайвих пригод.


Зміст · English · ← Попередня · Наступна →