ECS: Як забезпечити обмеження версій для об'єктів buckets з підтримкою версій
Summary: Ця стаття з знаннями ілюструє, як змінити та забезпечити обмеження версій для об'єктів buckets з підтримкою версій.
Instructions
Важливі примітки:
Перед будь-якими змінами слід звернути увагу на наступне:
- Ця функція доступна на ECS 3.7 і далі.
- За замовчуванням ліміт версій для бакетів із підтримкою версій становить 50 000.
- Виконання обмежень версій за замовчуванням увімкнене для нових установок ECS на ECS 3.7 або вище.
- Обмеження версій не застосовується (вимкнено за замовчуванням) для систем ECS, оновлених до 3.7 або вище. Якщо клієнти не вирішують увімкнути їх вручну.
- Не рекомендується підвищувати ліміт версій вище 50 000, ми рекомендуємо лише знизити цей ліміт до рекомендованих 10K, що зазвичай відповідає вимогам стандартних заявок.
- Надмірне версування може призвести до великої кількості blobsvc пам'яті та суттєво впливати на виробництво. Тому ми не рекомендуємо підвищувати ліміт вище 50 000.
Якщо сумніваєтесь і потрібна будь-яка допомога чи відповіді на питання, відкрийте позов у службі підтримки клієнтів ECS.
1. Як змінити ліміт версій для бакетів із підтримкою версій:
-----------------------------------------------------------------------------------------
| ПОПЕРЕДЖЕННЯ |
Зменшення ліміту, коли він ще не застосовується, є безпечним. Зниження обмеження, коли ліміт вже застосовується, ризикує впливати на оновлення додатків об'єктів, які вже були близько до ліміту. Тому найкраще зменшувати ліміт лише тоді, коли ліміт не застосовується. Система сповіщує в інтерфейсі, коли будь-який об'єкт був активним і досяг рівнів WARNING або ERROR — 50% і 80% відповідно. |
Змініть наведений нижче параметр, щоб змінити межу:
com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold
Перевірте значення параметра, встановлене за замовчуванням 50 000:
admin@ecsnode1:~> svc_param info -n com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold svc_param v1.2.4 (svc_tools v2.17.0) Started 2024-05-26 09:22:03 Param: com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold Description Maximum number of versions for an object Default value (active) 50000 Configured Value < Never modified > Modification reason None Last modified None
Змініть параметр на межу 10 000, наприклад:
admin@ecsnode1:~> svc_param set -n com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold -v 10000 -r "Changing the versions limit for versioning enabled buckets" svc_param v1.2.4 (svc_tools v2.17.0) Started 2024-05-26 09:35:13 Param value changed. Param: com.emc.ecs.blobsvc.object.version.limit.create_forbidden_threshold Description Maximum number of versions for an object Default value 50000 Configured Value (active) 10000 Modification reason Changing the versions limit for versioning enabled buckets Last modified 2024-05-26 09:35:13 UTC (1716716113626)
Вищезазначене змінює лише ліміт сповіщень, якщо ми маємо заблокувати доступ до запису, потрібно виконати крок 2.
2. Як заблокувати доступ до запису після досягнення ліміту:
------------------------------------------------------------------------------
Змініть параметр на true для забезпечення обмеження версій, клієнт, який звертається до ECS, отримує 403 помилки, коли намагається створити більше версій для об'єктів, які вже досягли порогу.
| ПОПЕРЕДЖЕННЯ |
Дотримання обмеження не дозволяє клієнтам створювати нові версії, лише для об'єктів, які вже перевищують встановлений ліміт. Ці клієнти стикаються з помилками 403, доки їхні версії не будуть видалені та повернені нижче встановленого ліміту. Клієнтів слід поінформувати заздалегідь, щоб переконатися, що зміни не вплинуть на них. Слід звертатися до інтерфейсу ECS для отримання сповіщень про будь-які об'єкти, які нещодавно перевищують ліміт. |
| Рекомендація |
Якщо ви знизили ліміт на першому кроці. Краще почекати кілька днів і стежити за інтерфейсом на предмети зростання кількості сповіщень про об'єкти, що перевищують ліміт версій. Зв'яжіться з власниками цих об'єктів перед тим, як застосовувати обмеження. Порадьте власникам зменшити кількість версій для уражених об'єктів, щоб уникнути помилок 403 при ввімкненому контролі. |
com.emc.ecs.blobsvc.object.version.limit.enabled
Перевірте значення параметра:
admin@ecsnode1:~> svc_param info com.emc.ecs.blobsvc.object.version.limit.enabled svc_param v1.2.4 (svc_tools v2.17.0) Started 2024-05-26 09:26:07 Param: com.emc.ecs.blobsvc.object.version.limit.enabled Description Enable or disable max object version count enforcement Default value true Configured Value (active) false Modification reason CMF Changes for 3.7.0.4 Last modified 2023-07-13 07:53:12 UTC (1689234792375)
Змініть параметр, щоб блокувати доступ до об'єктів на основі поточного налаштованого ліміту:
admin@ecsnode1:~> svc_param set -n com.emc.ecs.blobsvc.object.version.limit.enabled -v true -r "Enforce limit" svc_param v1.2.3 (svc_tools v2.16.0) Started 2024-05-26 09:04:43 Param value changed. Param: com.emc.ecs.blobsvc.object.version.limit.enabled Description Enable or disable max object version count enforcement Default value true Configured Value (active) true Modification reason Block access to objects Last modified 2024-05-26 09:04:44 UTC (1716714284396)