Backups na fita HP Ultrium 460

1

Há uma unidade de fita subj (fitas LTO-2, conexão SCSI) conectada ao Debian 8. E não consigo entender se ela pode fazer gravações de "sessão"? E, se sim, como isso deve ser feito corretamente?

Quero dizer, eu preciso escrever somedir1 na fita uma vez, depois, depois da hora, escrever somedir2 na mesma fita e o dispositivo de fita precisa "anexar" somedir2 aos dados já gravados na fita. Algo como multisessions escreve em CD / DVD.

Porque agora não consigo encontrar uma maneira de criar "sessões".

Como estou escrevendo:

mt -f /dev/st0 eod - definindo a fita para o final dos dados

tar -czf /dev/st0 /somedir1 - escrevendo somedir1

mt -f /dev/st0 eod - define a fita para o final dos dados novamente (porque o dispositivo de fita rebobina a fita)

tar -czf /dev/st0 /somedir2 - escrevendo somedir2

mt -f /dev/st0 rewind - fita de retrocesso.

Então, ao ler dados com tar -tzf /dev/st0 , ele lista apenas somedir2 , mas não somedir1 .

    
por Someone 10.11.2016 / 19:51

2 respostas

1

Você precisa usar /dev/nst0 ; /dev/st0 retrocede quando o dispositivo é fechado, /dev/nst0 não. Com seu fluxo de trabalho atual, você está sempre escrevendo para o início da fita ...

Você também pode querer examinar os marcadores de fita (consulte a documentação mt ).

    
por 10.11.2016 / 19:53
0

Algumas notas sobre backup em fita. Talvez alguém ache útil ...

  1. Não voltar a fita após a escrita - use /dev/nst0 device (no caso do linux)
  2. Definir a variável do shell TAPE=/dev/nst0
  3. Defina a cabeça para o início da fita: mt rewind
  4. Defina a cabeça para o final da escrita nos blocos de dados da fita: mt eod
  5. Obtenha a posição atual da fita: mt status e consulte File number e block number values
  6. Configure a cabeça de fita para o início do bloco anterior: mt bsf 2; mt fsf . Não use para definir a cabeça para o início da fita - use rebobinar
  7. tar czv <dir_or_file> - escreve <dir_or_file> em fita
  8. tar tzv - obtém conteúdo do bloco atual de dados em fita (filelist).
  9. Às vezes ocorrem erros - use mt retension para redefinir erros de software

Algum rápido bash-script com operações básicas de fita:

#!/bin/bash

export TAPE="/dev/nst0"
############################################
function anykey {
      read -n 1 -p "Press any key to continue..."
}

while true; do
clear
cat <<EOF
Choose action:

1. Show tape status
2. Show list of files of current block
3. Write new data (append tape)
4. Rewind tape (Set to BOT)
5. Wind tape (Set to EOD)
6. Set head to N blocks before
7. Set head to N blocks after
8. Extract data from current block
9. Erase tape

0. Exit
-----

EOF
read -p "Select action: " ans

case $ans in
    1).
      echo "====="; mt status ; echo "====="; anykey ;;
    2)
      echo "====="; tar tzv; echo "====="
      echo "Rewinding to the beginning of current block..."
      mt bsf 2; mt fsf
      echo "Done"; anykey ;;
    3).
      read -p "Select file or directory: " path
      cd $(dirname $path)
      if [ $? -ne 0 ]; then
          anykey
          continue
      fi..
      echo "Positioning to the end of written data..."
      mt eod; tar czv $(basename $path) -C $(dirname $path)
      echo "Done"; anykey ;;
    4).
      echo "Rewinding tape..."; mt rewind; echo "Done"; anykey ;;
    5).
      echo "Winding tape..."; mt eod; echo "Done"; anykey ;;
    6)
      read -p "Enter number of blocks before to set to: " ans
      mt bsf $(($ans+1)); mt fsf
      echo "Done"; anykey ;;
    7)
      read -p "Enter number of blocks after to set to: " ans
      mt fsf $ans; echo "Done"; anykey ;;
    8)
      read -p "Enter folder where to extract: " path
      cd $path
      if [ $? -ne 0 ]; then
          anykey
          continue
      fi
      read -p "Extract all data from this block? [Y|n]: " ans
      if [ $ans == "n" ]; then
          read -p "Enter file or dir name: " ans
          tar zxpv $ans
      else
          tar zxpv
      fi
      echo "Done"; anykey ;;
    9)
      echo "WARNING! Erasing will destroy ALL data on tape! Continue? [y|n]"; read ans
      if [ $ans == "y" ]; then
          echo "Rewinding tape..."; mt rewind;.
          echo "Erasing tape. This is quite long operation..."; mt erase; echo "Done"
      fi
      anykey ;;
    0) exit 0 ;;
    *) continue ;;
esac
done

Dispositivos de unidades de fita

    
por 16.11.2016 / 18:09

Tags