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

15. Перші файли у хмарі

Work in progress

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

Знайдіть свій диск або папку

Відкрийте підключений том у Провіднику Windows, Finder на macOS або файловому менеджері Linux. Якщо ви повторювали приклади попередньої глави, це Z:\ у Windows, /Volumes/Studiofs/myvolume у macOS або /mnt/StudioFS/myvolume у Linux. Якщо обрали інший шлях, користуйтеся ним.

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

Маленький файл для першої спроби

У звичайній локальній папці, поза StudioFS, створіть файл hello.txt у простому текстовому редакторі. Напишіть у ньому, наприклад: «Привіт із мого першого тому». Збережіть саме звичайний текст, а не документ із форматуванням.

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

Скопіюйте до неї hello.txt. Саме скопіюйте, щоб початковий файл залишився на локальному диску. Під час перетягування між вікнами файлові менеджери можуть по-різному обирати копіювання або переміщення; команди «Копіювати» та «Вставити» тут зрозуміліші.

Відкрийте скопійований файл із тому й прочитайте рядок. Потім закрийте його, знову відкрийте й переконайтеся, що це той самий текст. Це перша перевірка читання через підключення. Вона ще не доводить, що файл уже потрапив у S3: StudioFS може читати щойно записані дані з локального кешу.

Змінимо текст і назву

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

Закрийте файл і перейменуйте його у файловому менеджері на hello-again.txt. Переконайтеся, що стара назва зникла, а файл із новою назвою відкривається та містить обидва рядки.

Тепер створіть усередині first-test папку notes і перемістіть туди hello-again.txt. Відкрийте його вже з notes. Для програм це звичайні файлові дії; окремої команди StudioFS для кожного копіювання чи перейменування не потрібно.

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

Що вже збережено, а що ще передається?

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

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

Локальне збереження також не варто сприймати як обіцянку пережити будь-яке аварійне вимкнення. Результат залежить від того, як програма записує й синхронізує файл, та від режиму кешу StudioFS. Для першої перевірки залиште підключення працювати, дочекайтеся завершення синхронізації й не видаляйте кеш вручну: там можуть бути єдині копії ще не переданих змін.

Як подивитися стан

У другому терміналі виконайте:

studiofs status myvolume

Замість myvolume підставте ім’я свого тому. Команда показує відомості про том, локальний кеш і лічильники. Для докладніших доступних показників підключення є:

studiofs status myvolume --verbose

Це перегляд стану, а не команда «завантажити все негайно». Сам факт успішного виконання status або нуль в одному лічильнику не підтверджує, що всі зміни вже опубліковано. Якщо показники недоступні чи застарілі, з них теж не можна зробити такий висновок.

Якщо у вашому графічному середовищі відображається індикатор StudioFS у треї або рядку меню, червона пульсація означає, що локальні зміни ще потребують синхронізації. Анімований синьо-жовтий прапор з’являється після підтвердження завершення передавання прийнятих цим підключенням даних і метаданих. Відсутність індикатора не є підтвердженням завершення.

Програма може знову щось записати після такого підтвердження. Перед вимкненням комп’ютера закрийте програми, що працюють із томом, і відключіть його штатно; цей крок окремо розберемо у главі 17. Якщо синхронізація не завершується, залиште комп’ютер увімкненим і перевірте доступ до S3 та PostgreSQL, зокрема VPN, якщо він потрібний для бази.

Видалимо тільки тестове

Коли перевірили читання, редагування й перейменування, видаліть hello-again.txt із папки notes. Переконайтеся, що його більше немає, а потім видаліть порожні notes і first-test. Перед підтвердженням ще раз подивіться на назву й шлях.

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


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