Це команда swift-ring-builder, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
swift-ring-builder - Openstack-swift ring builder
СИНТАКСИС
swift-ring-builder <...>
ОПИС
Утиліта swift-ring-builder використовується для створення, пошуку та керування сховищем swift
каблучка. Кільцевий конструктор призначає розділи для пристроїв і пише оптимізований Python
структуру до gzip-архівованого файлу на диску для надсилання на сервери. Сервер
процеси лише час від часу перевіряють час модифікації файлу та перезавантажують
копії пам'яті кільцевої структури за потреби. Через те, як господарює ринг-білдер
зміни кільця, використання трохи старшого кільця зазвичай означає лише одне з трьох
репліки для підмножини розділів будуть неправильними, з чим можна легко працювати
навколо.
Конструктор кільця також зберігає власний файл конструктора з інформацією про кільце та додаткову інформацію
дані, необхідні для побудови майбутніх кілець. Дуже важливо зберігати кілька резервних копій
цих файлів конструктора. Одним із варіантів є копіювання файлів конструктора на кожен сервер
копіювання самих кільцевих файлів. Інший спосіб – завантажити файли конструктора в
сам кластер. Повна втрата файлу побудови означатиме створення нового кільця з
майже всі розділи будуть призначені різним пристроям, отже
майже всі збережені дані доведеться копіювати в нові місця. Отже, відновлення від a
можлива втрата файлу конструктора, але дані точно будуть недоступні для розширеного
часу.
У разі виклику як «swift-ring-builder-safe» надається каталог, що містить файл конструктора
буде заблоковано (через файл .lock у батьківському каталозі файлів). Це забезпечує осн
надійний захист від кількох екземплярів swift-ring-builder (або інших утиліт, які
дотримуйтеся цього блокування) від спроб запису або читання файлів builder/ring під час
операції тривають. Це може бути корисним у середовищах, де є керування кільцем
було автоматизовано, але оператор все ще повинен взаємодіяти з кільцями вручну.
ПОШУК
Може мати форму:
d з - : / _
Будь-яка частина необов’язкова, але ви повинні включити принаймні один приклад:
d74 Відповідає ідентифікатору пристрою 74
z1 Відповідає пристроям у зоні 1
z1-1.2.3.4 Співставляє пристрої в зоні 1 з ip 1.2.3.4
1.2.3.4 Співставляє пристрої в будь-якій зоні з ip 1.2.3.4
z1:5678 Відповідає пристроям у зоні 1, використовуючи порт 5678
:5678 Відповідає пристроям, які використовують порт 5678
/sdb1 Відповідає пристроям з іменем пристрою sdb1
_shiny Відповідає пристроям із shiny у метаданих
_'snet: 5.6.7.8' Збігає пристрої з snet: 5.6.7.8 у метаданих
[::1] Співставляє пристрої в будь-якій зоні з ip ::1
z1-[::1]:5678 Відповідає пристроям у зоні 1 з ip ::1 і портом 5678
Найбільш конкретний приклад:
d74z1-1.2.3.4:5678/sdb1_"snet: 5.6.7.8"
Пояснення ботаніка:
Усі елементи вимагають префікса з одним символом, крім ip, у цьому випадку -
є необов’язковим, якщо також не включено ідентифікатор пристрою або зону.
КОМАНДИ
Показує інформацію про кільце та пристрої в ньому.
пошук
Показує інформацію про відповідні пристрої.
додавати з - : / _
додавати r з - : / _
додавати -р -з -я -стор -д -м -ш
Додає пристрій до кільця з поданою інформацією. Розділи не призначатимуться
на новий пристрій, доки не буде запущено «rebalance». Це так, що ви можете зробити кілька
зміни пристрою та балансування їх усіх лише один раз.
створювати
Створює з 2^ перегородки і .
це кількість годин для обмеження переміщення розділу більше одного разу.
list_parts [ ] ..
Повертає список із 2 стовпцями всіх розділів, призначених будь-якому з пристроїв
відповідність наведеним значенням пошуку. Перший стовпець – це призначений номер розділу
а другий стовпець — кількість збігів пристроїв для цього розділу. Список є
упорядковано від найбільшої кількості збігів до найменшої. Якщо є багато пристроїв для відповідності
проти, виконання цієї команди може зайняти деякий час.
ребаланс
Спроби збалансувати кільце шляхом перепризначення розділів, які нещодавно не були
перепризначений.
видаляти
Видаляє пристрій (пристрої) з кільця. Зазвичай це слід використовувати лише для пристрою
що не вдалося. Для пристрою, який ви хочете вивести з експлуатації, найкраще встановити його вагу
до 0, зачекайте, поки він вичерпає всі свої дані, а потім скористайтеся цією командою видалення. Цього не буде
набуде чинності до моменту запуску 'rebalance'. Це так, що ви можете створити кілька пристроїв
зміни та перебалансуйте їх усі лише один раз.
set_info : / _
Скидання інформації пристрою. Ця інформація не використовується для призначення розділів, тому
ви можете використовувати 'write_ring' пізніше, щоб переписати поточний дзвінок на новішому пристрої
інформації. Будь-яка з частин є необов’язковою у фіналі
: / _ параметр; просто дайте те, що ви хочете змінити. для
екземпляр set_info d74 _"snet: 5.6.7.8" просто оновить метадані для ідентифікатора пристрою
74.
set_min_part_hours
Змінює до даного . Це має бути встановлено на скільки завгодно довго
потрібен повний цикл реплікації/оновлення. Ми працюємо над тим, щоб визначити це більше
легше, ніж сканування журналів.
set_weight
Скидає вагу пристрою. Жодні розділи не будуть перепризначені на або з пристрою
поки не буде запущено "rebalance". Таким чином, ви можете внести кілька змін у пристрій і
перебалансуйте їх усі лише один раз.
стверджувати
Просто запускає процедури перевірки на кільці.
write_ring
Просто перезаписує розповсюджуваний кільцевий файл. Це робиться автоматично після a
успішне перебалансування, тому насправді це корисно лише після одного або кількох 'set_info'
дзвінки, коли відновлення балансу не потрібне, але ви хочете надіслати новий пристрій
інформація.
Швидко список: додати створити list_parts rebalance видалити пошук set_info
set_min_part_hours set_weight перевірити write_ring
вихід коди: 0 = кільце змінено, 1 = кільце не змінено, 2 = помилка
ДОКУМЕНТАЦІЯ
Додаткова детальна документація про swift ring, а також Openstack-Swift в цілому може
можна знайти за адресою http://swift.openstack.org/overview_ring.html,
http://swift.openstack.org/admin_guide.html#managing-the-rings та
http://swift.openstack.org
Використовуйте swift-ring-builder онлайн за допомогою сервісів onworks.net
