Nesta descrição, vou me referir a duas máquinas como ``msdos'' e ``linux''. ``msdos'' é o nome da máquina que tem o dispositivo de fita e opera normalmente o MS-DOS (ou Windows).``linux'' é a máquina Linux de cujo disco se deseja efetuar cópias de segurança ou recuperar arquivos a partir do dispositivo de fita. Para simplificar, vou referir-me à primeira máquina como ``msdos'', mesmo quando esta seja inicializada e operando dentro de um Linux. A partir disto, todos os nomes dos caminhos neste documento devem ser considerados como sendo relativos à máquina Linux com os discos Pesquisa-e-Salvamento (BES) montados em algum lugar no sistema. Isto significa que o arquivo /etc/passwd é o arquivo de senhas no disco rígido da máquina Linux, enquanto, por exemplo /tape144/etc/passwd é o arquivo correspondente em disquete.
Estou usando os programas de geração de cópias de segurança de Karel Kubats, versão 1.03, disponíveis em
Neste documento, vou me referir a eles simplesmente como ``os programas de cópia de segurança''. Você não precisa usar estes programas para gravar suas próprias cópias de segurança. Particularmente prefiro estes programas porque eles usam o comando afio para gerar um arquivo descompactado de arquivos compactados, ao invés de um arquivo compactado de arquivos descompactados. O primeiro é mais seguro, caso haja um erro de leitura na mídia durante a restauração. Karel não está mais suportando estes programas, mas sim produziu agora o 'tob', ou cópias de segurança orientadas a fitas. Embora eu não tenha utilizado o novo pacote, isto não faz uma diferença significativa ao procedimento aqui descrito.
ftape!modulo@módulo
Primeiramente, obtenha o módulo ftape. Ele é parte de todos os kernels modernos. Porém, se você estiver usando um kernel antigo, poderá encontrar o módulo em:
A seguir, pegue um disco de inicialização Linux e crie uma imagem em um disquete de 3"1/2.
O módulo ftape somente funcionará se ele for instalado em um kernel que esteja sendo utilizado ao ser compilado. Então, tem-se que gerar um novo kernel com suporte à ftape e à rede. Neste estágio, leia as instruções que aparecem com o arquivo ftape para maiores informações. Lembre-se que o kernel gerado deve suportar placas Ethernet tanto na máquina Linux quanto na máquina MS-DOS.
Copie a nova imagem do kernel criada recentemente sobre uma do disco de inicialização da Rede. Use /bin/cp. Não crie um disco de inicialização com o comando ``dd'' como seria o usual para se criar uma imagem de kernel inicializável. Proteja o disco de inicialização contra gravação e etiquete-o: SAR#1.
Agora, monte o disco raiz tape144 da distribuição Slackware. Assumiremos que o ponto de montagem seja /tape144, para evitar confusão nos nomes dos arquivos. Precisamos liberar algum espaço nele, então devem ser apagados os seguintes arquivos:
Agora, deve ser criado um novo arquivo:
que contém a seguinte linha:
Aqui, ``msdos'' deve ser trocado com o nome ou endereço IP da máquina MS-DOS que tem o dispositivo de fita instalado.
Então, para que não se tenha que basear-se em nomes de servidor, devem ser acrescentadas linhas ao arquivo /tape144/etc/hosts com os nomes e números IP das máquinas Linux e MS-DOS. Por exemplo, o meu contém as duas linhas seguintes:
Agora, existe um problema com a configuração do inetd. Temos que informar o nome completo do caminho do servidor rsh. Substitua a linha 19 de para:
Acrescente informações de roteamento da rede local para /tape144/etc/rc.d/rc.inet1 para habilitar a máquina MS-DOS a usar a rede. O formato depende da configuração local de rede. Pode-se simplesmente copiar o formato apropriado do arquivo Linux /etc/rc.d/rc.inet1. Para a minha rede, as linhas que tiveram que ser acrescentadas foram:
O endereço IP na entrada ifconfig é o da máquina MS-DOS.
Agora, copie este arquivo dentro de /tape144/etc/rc.d/rc.inet1-l, e troque o endereço IP no novo arquivo para utilizar primeiramente os dados da máquina Linux ao invés da máquina MS-DOS.
Em seguida, corte as linhas 3 a 11 do /tape144/etc/rc.local. Trata-se de condição que executa os arquivos rc.inet*. No nosso caso não necessitamos desta execução durante a inicialização do sistema.
Crie um novo arquivo: /tape144/root/.rhosts que contenha a linha:
aqui, novamente, ``linux'' é substituído pelo nome completo da máquina (inclusive domínio) ou o endereço IP da máquina Linux.
Preencha o campo de senha no /tape144/etc/passwd do superusuário para evitar que as pessoas acessem a máquina MS-DOS enquanto se esteja executando cópias de segurança. Pode-se fazer isto copiando o campo correspondente da máquina Linux, do arquivo /etc/passwd.
Copie /usr/bin/rsh para /tape144/usr/bin.
Copie os seguintes arquivos a partir de /usr/etc para /tape144/usr/etc:
Crie um novo programa chamado /tape144/bin/tapesetup, que consista do seguinte: (troque ``linux'' para refletir o nome da sua máquina Linux ).
Note-se que os kernels mais novos não irão requerer a linha insmod.
Em seguida, crie outro programa novo chamado /tape144/bin/msdosset, como se segue: (Troque ``linux'' para refletir o nome da sua máquina).
Como acima, os kernels mais novos não irão requerer uma linha insmod.
Criar um arquivo texto chamado /tape144/root/notes, o qual deve conter as seguintes informações úteis sobre uma recuperação total:
Caso se esteja usando os programas de cópias de segurança, será necessário copiar o programa 'afio' para o subdiretório /tape144/local/bin. Não é necessário ter-se os demais arquivos de programas de cópias de segurança nos discos de recuperação. Um arquivo pode ser recuperado usando somente 'afio' e 'gzip'.
Não pude usar os programas de cópia de segurança do modo que eles foram gerados. O arquivo em fita parece ser construído de uma maneira correta, mas ele é irrecuperável. Descobri que removendo o tamanho do bloco e proposições de conversões permitem que ele funcione corretamente. Aqui está o ajuste para o programa ``netbackup''. Esta alteração deve ser aplicada à cópia em disco rígido da máquina Linux assim como à cópia nos discos SAR.
Bem, concluímos o disco SAR #2. Proteja o disquete contra gravação.
A seguir monte um disco vazio formatado (crie-o com fdformat e mkfs). Copie o arquivo ftape.o nele e etiquete-o como SAR#3. Por alguma razão, as coisas não funcionam bem caso se proteja este disco contra gravação, então deve-se deixar a gravação habilitada.
Na máquina Linux, crie um novo diretório para servidor de arquivos NFS. Sugiro a criação do diretório:
Copie o ftape.o (sem os simbólicos, cerca de 500 kB) dentro deste subdiretório.
Crie uma entrada no seu arquivo de exportação Linux /etc/exports:
Note que todos os arquivos no seu diretório NFS e seus subdiretórios não estão seguros. Alguém pode inicializar a máquina MS-DOS no modo Linux com estes discos de inicialização e montar este diretório. Então tenha a certeza de que não haja nada sensível no subdiretório NFS.
Reinicie seu servidor NFS, rpc.mountd e rpc.nfsd. Eles parecem não aceitar muito bem o comando SIGHUP. Então finalize-os e reinicialize os servidores. Caso eles não estejam sendo ativados no /etc/rc.d/rc.inet2, pode-se fazê-lo agora.
OK, agora nós estamos prontos para gerar as cópias de segurança e recuperação. Para fazer uma cópia total de segurança da máquina Linux, inicialize a máquina MS-DOS com SAR#1. Quando estiver pronto para o segundo disco, carregue SAR#2. Registre-se como superusuário e execute o programa: /bin/tapesetup. Saia do computador MS-DOS. Se você estiver usando programas de cópia de segurança, o comando netbackup funcionará agora. Pode-se usar também o parâmetro ``-f msdos:/dev/ftape'' com os utilitários GNU tar, cpio, ou mt, e gerar uma cópia de segurança desta forma. Caso se tenha um programa de cópia de segurança, que só é capaz de escrever em um arquivo local, deve-se adotar o seguinte procedimento:
Assuma que este programa de cópia de segurança seja chamado localbackup e escreva no arquivo representado pelos argumentos de linha de comando:
Após a conclusão o arquivo /tmp/tapepipe deve ser apagado.
Note-se que está sendo usado 'rsh' para o superusuário na máquina MS-DOS. Isso funcionará corretamente caso haja uma entrada adequada em .rhosts. A configuração no disco 'tape144' permite que seja executado o interpretador de comandos remotos rsh para o superusuário, porém não permite comando como telnet ou rlogin, e os acessos ao sistema estarão restritos à console. Este é um procedimento de segurança indicado.
Caso se esteja preocupado sobre o arquivo raiz .rhost, pode-se criar um novo usuário em SAR#2, ``usuariodefita'', com permissões para operar a unidade de fita mas não os discos (deve-se criar um grupo de usuários e colocar "usuariodefita" nele, e então adicionar os programas chown e chmod, /dev/rft* e /dev/nrft*). O programa de cópia de segurança deve então reconhecer o rsh para este usuário além do superusuário. Obviamente, agora deve-se ter no arquivo .rhosts o usuário ~usuariodefita em SAR#2. Optei por esta opção ao invés de usar o superusuário em .rhosts.
disco rigido danificado@disco rígido danificado
Finalmente, seguem as instruções para uma completa recuperação para um disco rígido danificado. Isto supõe que a partição Linux ficou completamente irrecuperável. Se necessário, reformate a partição conforme descrito no Como Fazer da Instalação Linux. Inicialize a máquina Linux do disco SAR #1. Após insira o disco #2. Agora, siga as instruções no arquivo /root/notes (ou seja /tape144/root/notes quando foi montado na máquina Linux). Assim que ambas as máquinas tenham sido iniciadas, execute a rotina de recuperação necessária. Caso se esteja utilizando os programas de cópia de segurança pode-se observar o seguinte:
ou
ou
Isso faz com que a fita seja lida da máquina remota, o resultado seja colocado na saída padrão de onde afio lê os resultados. O indicador '-i' indica que devem ser recuperados os arquivos relativos ao diretório de trabalho atual (o qual é o raiz da partição do disco rígido). '-v' indica a apresentação de mensagens, listando os arquivos à medida que eles são recuperados. '-Z' informa ao afio que este é um arquivo de arquivos compactados individualmente. '-c 1024' indica o uso de um buffer de leitura e gravação de 5 MB para evitar um excesso de rebobinamento de fita.