¿Cómo puedo determinar cuánto espacio queda en una cinta LTO?
Si busco hasta el final y verifico el estado, puedo ver que estoy en el archivo número 17, pero lo que no sé es qué tan grande era cada archivo.
$ mt -f /dev/nst1 eod
$ mt -f /dev/nst1 status
SCSI 2 tape drive:
File number=17, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x44 (LTO-3).
Soft error count since last status=0
General status bits on (81010000):
EOF ONLINE IM_REP_EN
A falta de leer toda la tira, ¿cómo puedo determinar la capacidad usada / libre de la cinta?
Respuestas:
Si tiene una unidad compatible con HP * (mi referencia aquí es una unidad Tandberg Data HH LTO 4), entonces puede encontrar la capacidad de cinta restante en los registros SCSI, junto con muchos otros datos interesantes como relación de compresión, lectura / escritura fallas, historial de unidad / cinta, etc.
sg_logs -a /dev/nst1
Esta utilidad está disponible en paquetes de distribución comúnmente denominados
sg3-utils
osg3_utils
.Estás buscando líneas como:
Main partition remaining capacity (in MiB)
Megabytes written to tape
(restar de la capacidad sin comprimir)Data bytes written to media by WRITE commands
(restar de la capacidad sin comprimir)De lo contrario, puede probar herramientas específicas del proveedor. Por ejemplo, HP tiene HPE Library & Tape Tools , que funciona en todas las unidades compatibles con HP *. Enterrado en sus menús, puede encontrar la capacidad de crear y ver un informe de una unidad que ofrece toda la información que se encuentra en
sg_logs
y más.Y si falla todo eso, puede escribir datos incompresibles hasta el final de la cinta y hacer los cálculos en los bloques escritos para calcular lo que quedaba (no hace falta decir que esto es un poco desagradable):
dd if=/dev/urandom of=/dev/nst1 bs=1M status=progress iflag=fullblock
o
openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | dd of=/dev/nst1 bs=1M status=progress iflag=fullblock
* Que yo sepa, todas las unidades, excepto IBM y posiblemente Dell, provienen del mismo OEM y son compatibles con las herramientas HP / HPE.
He utilizado a lo
nst1
largo de esta respuesta, ya que ese es el dispositivo en la pregunta original, actualice según sea necesario.fuente
Primero que nada: esto no va a ser fácil.
Hay un chip en el cartucho de cinta que ofrece una amplia variedad de información. Ese chip se llama MAM (memoria auxiliar de medios). La información se puede leer utilizando el comando SCSI "LEER ATRIBUTO" en la unidad de cinta mientras se carga la cinta. Uno de los atributos es "CAPACIDAD RESTANTE EN LA PARTICIÓN". Contiene la cantidad de bytes que se pueden escribir en la partición de cinta actual. Lo que lleva a la pregunta: ¿qué es una partición de cinta? Las versiones recientes de las cintas LTO (LTO 5 y más recientes) se pueden particionar (LTFS usa dos particiones).
Si su cinta se particionó, cada una de sus particiones tendrá una cantidad de espacio libre y deberá recorrer todas las particiones para obtener información de cada espacio libre.
Si desea saber más sobre MAM, eche un vistazo a la referencia SCSI LTO-8 de IBM que explica esto en detalle (la sección 6.5 que comienza en la página 355 contiene las cosas interesantes). Si necesita un punto de partida sobre cómo implementar esto, tal vez debería echar un vistazo a maminfo o este problema en el rastreador de problemas sg3_utils .
No estoy seguro de que esta información se actualice inmediatamente después de una escritura en la cinta. Tal vez solo sea la actualización al desmontar lo que dificultaría aún más la recuperación de información precisa. Tampoco estoy seguro de cómo se comporta esto cuando sobrescribe la cinta. Probablemente tengas que resolver esto por tu cuenta.
fuente
No estoy seguro, pero tal vez pueda ofrecerle que use el software ITDT de ibm, tiene muchas habilidades para hacer en bibliotecas de cintas y cintas de lto, tal vez pueda echar un vistazo a ese software, tiene la capacidad de Recuperar y mostrar el cartucho información de uso y salud.
fuente