Dit is de opdracht swift-ring-builder die kan worden uitgevoerd in de gratis hostingprovider OnWorks met behulp van een van onze verschillende gratis online werkstations, zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
snelle-ring-bouwer - Openstack-snelle ringbouwer
KORTE INHOUD
snelle-ring-bouwer <...>
PRODUCTBESCHRIJVING
Het hulpprogramma swift-ring-builder wordt gebruikt om de swift-opslag te maken, te doorzoeken en te manipuleren
ring. De ring-builder wijst partities toe aan apparaten en schrijft een geoptimaliseerde Python
structuur naar een gecomprimeerd, ingelegd bestand op schijf voor verzending naar de servers. De server
processen controleren alleen af en toe de wijzigingstijd van het bestand en laden hun in-
geheugenkopieën van de ringstructuur indien nodig. Vanwege de manier waarop de ringbouwer
veranderingen aan de ring, waarbij een iets oudere ring meestal slechts een van de drie betekent
replica's voor een subset van de partities zullen onjuist zijn, wat gemakkelijk kan worden bewerkt
in de omgeving van.
De ringbouwer houdt ook een eigen bouwerbestand bij met de ringinformatie en aanvullende informatie.
gegevens die nodig zijn om toekomstige ringen te bouwen. Het is erg belangrijk om meerdere back-upkopieën te bewaren
van deze builder-bestanden. Een optie is om de builder-bestanden naar elke server te kopiëren terwijl
het kopiëren van de ringbestanden zelf. Een andere is het uploaden van de builderbestanden naar de
cluster zelf. Volledig verlies van een builderbestand betekent dat er een nieuwe ring wordt gemaakt van
vanaf nul zullen bijna alle partities aan verschillende apparaten worden toegewezen, en daarom
bijna alle opgeslagen data zal moeten worden gerepliceerd naar nieuwe locaties. Dus, herstel van een
Builder-bestandsverlies is mogelijk, maar gegevens zullen zeker onbereikbaar zijn voor een langere periode
tijd.
Als aangeroepen als 'swift-ring-builder-safe' wordt de directory met het builderbestand meegeleverd
wordt vergrendeld (via een .lock-bestand in de bovenliggende map van de bestanden). Dit biedt een basis
bescherming tegen meerdere instanties van de swift-ring-builder (of andere hulpprogramma's die
let op deze vergrendeling) om te proberen te schrijven naar of te lezen van de builder/ring-bestanden terwijl
bewerkingen zijn in uitvoering. Dit kan handig zijn in omgevingen waar ringbeheer
is geautomatiseerd, maar de operator moet nog steeds handmatig met de ringen omgaan.
ZOEKEN
Kan de vorm hebben:
D z - : / _
Elk onderdeel is optioneel, maar u moet er minstens één opnemen. Voorbeelden:
d74 Komt overeen met de apparaat-id 74
z1 Komt overeen met apparaten in zone 1
z1-1.2.3.4 Koppelt apparaten in zone 1 met het IP 1.2.3.4
1.2.3.4 Koppelt apparaten in elke zone met het IP 1.2.3.4
z1:5678 Komt overeen met apparaten in zone 1 met behulp van poort 5678
:5678 Komt overeen met apparaten die poort 5678 gebruiken
/sdb1 Komt overeen met apparaten met de apparaatnaam sdb1
_shiny Matcht apparaten met shiny in de metagegevens
_'snet: 5.6.7.8' Komt overeen met apparaten met snet: 5.6.7.8 in de metagegevens
[::1] Komt overeen met apparaten in elke zone met het ip ::1
z1-[::1]:5678 Komt overeen met apparaten in zone 1 met ip ::1 en poort 5678
Meest specifieke voorbeeld:
d74z1-1.2.3.4:5678/sdb1_"snet: 5.6.7.8"
Nerd-uitleg:
Alle items vereisen hun enkelvoudige voorvoegsel, behalve het IP-adres. In dat geval is de -
is optioneel, tenzij de apparaat-ID of zone ook is opgenomen.
COMMANDO'S
Geeft informatie weer over de ring en de apparaten erin.
search
Geeft informatie weer over overeenkomende apparaten.
toevoegen z - : / _
toevoegen R z - : / _
toevoegen -R -z -i -P -D -M -w
Voegt een apparaat toe aan de ring met de gegeven informatie. Er worden geen partities toegewezen
naar het nieuwe apparaat totdat u 'rebalance' hebt uitgevoerd. Dit is zodat u meerdere
apparaatwijzigingen en breng ze allemaal in één keer opnieuw in evenwicht.
en je merk te creëren
Creëert met 2^ partities en .
is het aantal uren dat nodig is om het verplaatsen van een partitie meer dan één keer te beperken.
lijst_onderdelen [ ] ..
Retourneert een lijst met 2 kolommen van alle partities die aan een van de apparaten zijn toegewezen
overeenkomend met de opgegeven zoekwaarden. De eerste kolom is het toegewezen partitienummer
en de tweede kolom is het aantal apparaatovereenkomsten voor die partitie. De lijst is
geordend van het grootste aantal matches naar het kleinste. Als er veel apparaten zijn om te matchen
Als u dit niet doet, kan het even duren voordat deze opdracht wordt uitgevoerd.
herbalanceren
Pogingen om de ring opnieuw in evenwicht te brengen door partities opnieuw toe te wijzen die recent niet zijn gewijzigd
opnieuw toegewezen.
verwijderen
Verwijdert het apparaat/de apparaten uit de ring. Dit zou normaal gesproken alleen gebruikt moeten worden voor een apparaat
dat is mislukt. Voor een apparaat dat u wilt decommissionen, is het het beste om het gewicht in te stellen
naar 0, wacht tot alle gegevens zijn weggepompt en gebruik dan deze verwijderopdracht. Dit zal niet
pas van kracht nadat u 'rebalance' hebt uitgevoerd. Dit is zodat u meerdere apparaten kunt maken
wijzigingen en breng ze allemaal één keer opnieuw in evenwicht.
set_info : / _
Reset de informatie van het apparaat. Deze informatie wordt niet gebruikt om partities toe te wijzen, dus
Je kunt 'write_ring' daarna gebruiken om de huidige ring opnieuw te schrijven met het nieuwere apparaat
informatie. Elk van de onderdelen is optioneel in de definitieve
: / _ parameter; geef gewoon aan wat u wilt wijzigen. Voor
instance set_info d74 _"snet: 5.6.7.8" zou alleen de metagegevens voor apparaat-id bijwerken
74.
set_min_part_uren
Verandert de naar het gegeven . Dit moet worden ingesteld op hoe lang
een volledige replicatie-/updatecyclus duurt. We werken aan een manier om dit meer te bepalen
gemakkelijker dan het scannen van logs.
set_gewicht
Reset het gewicht van het apparaat. Er worden geen partities opnieuw toegewezen aan of van het apparaat.
totdat u 'rebalance' hebt uitgevoerd. Dit is zodat u meerdere apparaatwijzigingen kunt maken en
breng ze allemaal één keer opnieuw in evenwicht.
bevestigen
Voert alleen de validatieroutines uit op de ring.
schrijf_ring
Herschrijft gewoon het distributiebare ringbestand. Dit gebeurt automatisch na een
succesvolle herbalancering, dus dit is eigenlijk alleen nuttig na een of meer 'set_info'
oproepen wanneer er geen herbalancering nodig is, maar u het nieuwe apparaat wilt verzenden
informatie.
Quick lijst: toevoegen maken list_parts herbalanceren verwijderen zoeken set_info
set_min_part_hours set_gewicht valideren schrijf_ring
afrit codes: 0 = ring gewijzigd, 1 = ring niet gewijzigd, 2 = fout
DOCUMENTATIE
Uitgebreidere documentatie over de Swift-ring en ook Openstack-Swift als geheel is beschikbaar
te vinden op http://swift.openstack.org/overview_ring.html,
http://swift.openstack.org/admin_guide.html#het-beheren-van-de-ringen en
http://swift.openstack.org
Gebruik swift-ring-builder online met behulp van onworks.net-services
