Este es el comando swift-ring-builder que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
constructor-de-anillos-rápido - Constructor de anillos Openstack-Swift
SINOPSIS
constructor-de-anillos-rápido <...>
DESCRIPCIÓN
La utilidad swift-ring-builder se utiliza para crear, buscar y manipular el almacenamiento rápido.
anillo. El generador de anillos asigna particiones a los dispositivos y escribe un Python optimizado
estructura a un archivo en escabeche comprimido con gzip en el disco para enviarlo a los servidores. El servidor
Los procesos simplemente verifican la hora de modificación del archivo de vez en cuando y recargan su
copias de memoria de la estructura del anillo según sea necesario. Por cómo maneja el constructor de anillos
cambios en el anillo, usar un anillo un poco más antiguo generalmente solo significa uno de los tres
Las réplicas para un subconjunto de las particiones serán incorrectas, lo que se puede trabajar fácilmente.
alrededor.
El constructor de anillos también mantiene su propio archivo de constructor con la información del anillo y
datos necesarios para construir anillos futuros. Es muy importante mantener varias copias de seguridad.
de estos archivos de constructor. Una opción es copiar los archivos del constructor en cada servidor mientras
copiando los propios archivos de anillo. Otra es cargar los archivos del constructor en el
clúster en sí. La pérdida completa de un archivo de constructor significará la creación de un nuevo anillo a partir de
cero, casi todas las particiones terminarán asignadas a diferentes dispositivos y, por lo tanto,
casi todos los datos almacenados deberán replicarse en nuevas ubicaciones. Entonces, la recuperación de un
La pérdida de archivos del constructor es posible, pero los datos definitivamente serán inalcanzables durante un período prolongado.
en las transacciones.
Si se invoca como 'swift-ring-builder-safe', el directorio que contiene el archivo del constructor proporcionado
se bloqueará (a través de un archivo .lock en el directorio principal de archivos). Esto proporciona una
protegerse contra múltiples instancias del constructor de anillos rápidos (u otras utilidades que
observe este bloqueo) de intentar escribir o leer los archivos del constructor / anillo mientras
las operaciones están en curso. Esto puede resultar útil en entornos donde la gestión de anillos
automatizado, pero el operador aún necesita interactuar con los anillos manualmente.
BUSCAR
Puede ser de la forma:
D z - : / _
Cualquier parte es opcional, pero debe incluir al menos uno, ejemplos:
d74 Coincide con la identificación del dispositivo 74
z1 Coincide con dispositivos en la zona 1
z1-1.2.3.4 Hace coincidir los dispositivos en la zona 1 con la ip 1.2.3.4
1.2.3.4 Empareja dispositivos en cualquier zona con la ip 1.2.3.4
z1: 5678 Coincide con dispositivos en la zona 1 usando el puerto 5678
: 5678 Coincide con dispositivos que usan el puerto 5678
/ sdb1 Coincide con dispositivos con el nombre de dispositivo sdb1
_shiny Coincide con dispositivos con brillo en los metadatos
_'snet: 5.6.7.8 'Coincide con dispositivos con snet: 5.6.7.8 en los metadatos
[:: 1] Coincide con los dispositivos en cualquier zona con la ip :: 1
z1 - [:: 1]: 5678 Coincide con dispositivos en la zona 1 con ip :: 1 y puerto 5678
Ejemplo más específico:
d74z1-1.2.3.4:5678/sdb1_"snet: 5.6.7.8"
Explicación nerd:
Todos los elementos requieren su prefijo de un solo carácter excepto la ip, en cuyo caso el -
es opcional a menos que también se incluya la identificación del dispositivo o la zona.
COMANDOS
Muestra información sobre el anillo y los dispositivos que contiene.
Buscar
Muestra información sobre dispositivos coincidentes.
add z - : / _
add r z - : / _
add -r -z -I -pag -D -metro -w
Agrega un dispositivo al anillo con la información proporcionada. No se asignarán particiones
al nuevo dispositivo hasta después de ejecutar 'reequilibrar'. Esto es para que pueda hacer varios
los cambios de dispositivo y reequilibrarlos todos solo una vez.
Para crear
Crea con 2 ^ particiones y .
es la cantidad de horas para restringir el movimiento de una partición más de una vez.
lista_partes [ ] ..
Devuelve una lista de 2 columnas de todas las particiones que están asignadas a cualquiera de los dispositivos.
coincidiendo con los valores de búsqueda dados. La primera columna es el número de partición asignado
y la segunda columna es el número de coincidencias de dispositivos para esa partición. La lista es
ordenados de mayor a menor cantidad de coincidencias. Si hay muchos dispositivos para combinar
contra, este comando puede tardar un poco en ejecutarse.
reequilibrar
Intenta reequilibrar el anillo reasignando particiones que no han sido recientemente
reasignado.
remove
Quita el (los) dispositivo (s) del anillo. Esto normalmente solo debería usarse para un dispositivo
eso ha fallado. Para un dispositivo que desea retirar, es mejor establecer su peso
a 0, espere a que agote todos sus datos, luego use este comando de eliminación. Esto no
surte efecto hasta después de ejecutar 'reequilibrio'. Esto es para que pueda hacer varios dispositivos
cambios y reequilibrarlos todos solo una vez.
establecer_info : / _
Restablece la información del dispositivo. Esta información no se utiliza para asignar particiones, por lo que
puede usar 'write_ring' después para reescribir el anillo actual con el dispositivo más nuevo
información. Cualquiera de las partes es opcional en la final
: / _ parámetro; solo da lo que quieras cambiar. Para
instancia set_info d74 _ "snet: 5.6.7.8" simplemente actualizaría los metadatos para la identificación del dispositivo
74.
set_min_part_hours
Cambia el a lo dado . Esto debe establecerse en el tiempo que sea
toma un ciclo completo de replicación / actualización. Estamos trabajando en una forma de determinar esto más
fácilmente que escanear registros.
establecer_peso
Restablece el peso del dispositivo. No se reasignarán particiones hacia o desde el dispositivo
hasta después de ejecutar 'reequilibrar'. Esto es para que pueda realizar varios cambios en el dispositivo y
reequilibrarlos todos solo una vez.
validar
Simplemente ejecuta las rutinas de validación en el anillo.
escribir_anillo
Simplemente reescribe el archivo de anillo distribuible. Esto se hace automáticamente después de un
reequilibrio exitoso, por lo que realmente esto solo es útil después de uno o más 'set_info'
llamadas cuando no se necesita reequilibrio pero desea enviar el nuevo dispositivo
Búsqueda lista: agregar crear list_parts reequilibrar eliminar buscar set_info
set_min_part_hours set_weight validar write_ring
Exit códigos: 0 = anillo cambiado, 1 = anillo no cambió, 2 = error
DOCUMENTACIÓN
Documentación más detallada sobre el anillo Swift y también Openstack-Swift en su conjunto.
ser encontrado en http://swift.openstack.org/overview_ring.html,
http://swift.openstack.org/admin_guide.html# manejando-los-anillos y
http://swift.openstack.org
Use swift-ring-builder en línea usando los servicios de onworks.net
