Видалення документів з S3 Ceph-бакетів і Redis
1. Огляд
Цей документ описує процедуру видалення документів, пов’язаних із завершеними бізнес-процесами, з S3 Ceph-бакетів і Redis. Процес включає генерацію списку активних бізнес-процесів, роботу з утилітою для видалення та налаштування параметрів для її запуску.
2. Кроки для видалення документів
-
Генерація CSV-файлу з активними бізнес-процесами.
У поді
operational-instance
реєстру увійдіть до бази данихcamunda
і виконайте SQL-скрипт, що згенерує CSV-файл з ID таstart-form-document-key
активних інстансів бізнес-процесів. Ці ключі НЕ повинні бути видалені.psql \c camunda COPY (select ae.id_ "process-instance-id", arv.text_ "start-form-document-key" from act_ru_execution ae left join act_ru_variable arv on ae.id_ = arv.proc_inst_id_ and arv.name_ in ('start_form_ceph_key', 'start_message_payload_storage_key') where ae.parent_id_ is null) TO '/var/tmp/process_instance_ids.csv' csv header;
-
Копіювання згенерованого CSV-файлу на локальну машину.
Після генерації файлу /tmp/process_instance_ids.csv, скопіюйте його на локальну машину за допомогою наступної команди:
oc cp --retries=-1 operational-instance-pod:/tmp/process_instance_ids.csv ./process_instance_ids.csv
-
(Опціонально) Встановлення OpenJDK.
Якщо у вас ще не встановлений OpenJDK, це можна зробити на цьому етапі.
-
Завантаження утиліти для очищення сховищ.
Завантажте останню версію утиліти:
storage-cleanup-cli-1.4.0-20240920.130342-1.jar
. -
Режими роботи утиліти.
Утиліта підтримує три основні режими роботи:
-
dry-run
: зчитує CSV-файл з активними екземплярами процесів та ідентифікує ключі, які потрібно видалити, але не здійснює фактичного видалення. Ідентифіковані ключі записуються у CSV-файли для Ceph і Redis. -
remove-only
: використовується для видалення ключів, які визначено на етапіdry-run
. Не потребує повторної ідентифікації ключів. -
full-run
: зчитує CSV-файл з активними екземплярами процесів, ідентифікує та видаляє непотрібні ключі. Результати записуються у ті ж CSV-файли, що й приdry-run
.
-
-
Запуск утиліти.
Запустіть утиліту з наступними параметрами:
java -jar storage-cleanup-cli.jar --execute-mode=<arg> --running-processes-csv-file=<arg> --s3-ceph-url=<arg> --lowcode-file-storage-secret-key=<arg> --lowcode-file-storage-access-key=<arg> --lowcode-form-data-storage-secret-key=<arg> --lowcode-form-data-storage-access-key=<arg> --ceph-removal-output-csv-file=<arg> --redis-url=<arg> --redis-secret=<arg> --redis-removal-output-csv-file=<arg> --removal-batch-size=<arg> --log-output=<arg>
3. Опис параметрів утиліти
Утиліта storage-cleanup-cli
підтримує наступні параметри конфігурації:
-
--execute-mode=<режим>
: виберіть режим роботи утиліти (dry-run
,remove-only
абоfull-run
). -
--running-processes-csv-file=<шлях>
: шлях до CSV-файлу з активними екземплярами процесів. -
--s3-ceph-url=<URL>
: URL для Ceph сховища. Якщо не вказано, документи з Ceph не будуть видалені.Необов’язково, якщо надано Redis URL. -
--lowcode-file-storage-secret-key=<ключ>
: секретний ключ для кошикаlowcode-file-storage
.Необов’язково. -
--lowcode-file-storage-access-key=<ключ>
: ключ доступу для кошикаlowcode-file-storage
.Необов’язково. -
--lowcode-form-data-storage-secret-key=<ключ>
: секретний ключ для кошикаlowcode-form-data-storage
.Необов’язково. -
--lowcode-form-data-storage-access-key=<ключ>
: ключ доступу для кошикаlowcode-form-data-storage
.Необов’язково. -
--ceph-removal-output-csv-file=<шлях>
: шлях до CSV-файлу для зберігання ключів Ceph, що підлягають видаленню. -
--redis-url=<URL>
: URL для Redis сховища. Якщо не вказано, документи з Redis не будуть видалені.Необов’язково, якщо надано Ceph URL. -
--redis-secret=<секрет>
: пароль для Redis. -
--redis-removal-output-csv-file=<шлях>
: шлях до CSV-файлу для зберігання ключів Redis, що підлягають видаленню. -
--removal-batch-size=<значення>
: розмір пакета для операцій видалення. За замовчуванням: 1000. -
--log-output=<шлях>
: шлях до файлу з логами, що створюється після виконання утиліти. За замовчуванням:s3-storage-cleanup-cli.log
.
4. Додаткові інструкції
-
Для переадресації портів для поду Redis виконайте кроки з інструкції Налаштування переадресації портів для доступу до Redis.
-
Для визначення розміру бакетів у Ceph використовуйте Ceph Dashboard: Визначення розміру бакетів бізнес-процесів.