Criação de uma imagem iso de um comando microsd dd. Backup do sistema

Como é sabido, "Os usuários de computador são divididos entre aqueles que fazem backups e aqueles que os farão"... Neste artigo, veremos várias maneiras de fazer backup (backup) de todo o sistema e, portanto, restaurar a partir de um backup.

Deve-se observar imediatamente que todas as operações não devem ser realizadas "ao vivo", ou seja, não em um sistema em execução, mas de um liveCD ou um sistema instalado em uma partição / unidade flash / usb-hdd adjacente. Nos casos em que um tempo de inatividade de vários minutos é crítico para o sistema, é possível copiar o sistema sozinho, mas é necessário levar em consideração algumas condições adicionais que ainda não são consideradas neste artigo.

Mais adiante no texto, para ações realizadas em nome do superusuário, será utilizado o comando sudo, que é o padrão do Ubuntu. Em outros sistemas, é possível obter privilégios de superusuário via su, alguns sistemas liveCD são executados em modo de superusuário por padrão

alcatrão

Uma das maneiras mais populares de criar o backup mais simples é usar o tar. As vantagens deste método são a possibilidade de um backup incremental (adicionar arquivos a um arquivo existente, excluí-los ou modificá-los), a capacidade de extrair arquivos individuais do arquivo, bem como a presença de tar em quase todos os sistemas Linux.

Criação de arquivo

Primeiro, crie pontos de montagem para a partição raiz e para a partição na qual você vai criar um backup, por exemplo

Monte ambas as partições. Para maior confiabilidade, você pode montar a partição raiz no modo somente leitura (somente leitura) para eliminar a possibilidade de alterações acidentais de dados

Sudo mount / dev / sdXY / mnt / root -o ro sudo mount / dev / sdXY / mnt / backup

(Em vez de "sdXY" use seus valores para as partições desejadas. Você pode determiná-los com sudo fdisk -l ou sudo blkid)

Caso você use partições separadas para / boot, / usr, / home, etc. e queira incluir seu conteúdo no backup, monte-as nas pastas apropriadas

Sudo mount / dev / sdXY / mnt / root / usr -o ro sudo mount / dev / sdXY / mnt / root / home -o ro

Se necessário, crie uma pasta na seção de backup onde deseja colocar o arquivo, por exemplo

Sudo mkdir -p / mnt / backup / ubuntu / root

Agora você pode começar a criar o arquivo. Para criar um arquivo compactado gzip, execute

Sudo tar -cvzpf -C / mnt / root /mnt/backup/ubuntu-sda1.tar.gz.

(A opção -p permite a preservação de proprietários e permissões para arquivos)

Para compressão bzip2, use

Sudo tar -cvjpf /mnt/backup/ubuntu-sda1.tar.bz2 / mnt / root

Para compressão lzma

Sudo tar --lzma -cvpf /mnt/backup/ubuntu-sda1.tar.lzma / mnt / root

Da mesma forma para compressão lzo - switch --lzop em vez de --lzma

Diferentes algoritmos de compressão fornecem tamanhos de arquivo diferentes e também diferem no desempenho

Quando o processo estiver concluído, desmonte todas as partições montadas

Sudo umount / mnt / root (/ boot, / var, / home,) / mnt / backup

Recuperação de arquivo

Crie pontos de montagem para a partição raiz e a partição que armazena seu arquivo

Sudo mkdir / mnt / (root, backup)

Monte a partição com o arquivo de backup

Sudo mount / dev / sdXY / mnt / backup -o ro

Formate a partição raiz para o mesmo (ou diferente) sistema de arquivos. Se você tiver partições separadas para / usr, / boot, etc. e as arquivou, formate-as também

(se você estiver restaurando o sistema em um novo disco rígido, particione-o com fdisk / gparted e formate as partições)

Alguns sistemas de arquivos suportam a especificação do UUID durante a formatação. Isso torna possível criar um sistema de arquivos com o mesmo UUID do antigo, evitando assim a necessidade de editar o fstab.

Para ext2 / 3/4, o UUID é definido usando a opção -U, e você pode simplificar a tarefa ainda mais com um comando como

Sudo mkfs.ext4 -L "rótulo" -U "$ (sudo blkid -o valor -s UUID / dev / sda1)" / dev / sda1

Se você usou o arquivamento ao criar o arquivo de imagem, primeiro descompacte-o usando o mesmo arquivador, por exemplo

Bzip2 -dv /media/backup/sda5.dd.bz

Agora você pode montar a imagem

Sudo mount /media/backup/sda5.dd -o loop / mnt

(Com a opção de loop, o programa de montagem conectará automaticamente o arquivo de imagem em um dispositivo de loop livre e, em seguida, montará o sistema de arquivos)

Agora você pode trabalhar com o conteúdo da imagem como em um sistema de arquivos normal, todas as suas alterações serão gravadas na imagem. No final do trabalho, desmonte a imagem como um sistema de arquivos normal

Sudo umount / mnt

dd - copia todo o disco rígido

Neste caso, usaremos o dd novamente, só que desta vez salvaremos todo o conteúdo do disco rígido - com a tabela de partição, as próprias partições e todos os dados. A vantagem deste método é que você pode salvar todos os sistemas instalados no disco rígido em uma única etapa, sem ter que fazer backup de cada partição separadamente. Além disso, com tal backup, todos os dados relacionados ao bootloader serão salvos - portanto, após restaurar do backup, você não precisará de manipulações adicionais, você pode inicializar imediatamente a partir deste disco rígido.

Crie uma imagem

Em geral, o procedimento é semelhante ao descrito acima para fazer backup de partições individuais. Nesse caso, o conselho sobre como limpar o espaço livre com "zeros" também se aplica - se você tiver tempo livre, faça isso com todas as partições.

Antes de iniciar a operação, certifique-se de que nenhuma das partições deste disco rígido esteja montada. Isso pode ser feito executando o comando mount sem parâmetros.

Selecione a seção onde colocará o arquivo obarz. Claro, esta deve ser uma partição em outro disco rígido. Além disso, certifique-se de que haja espaço livre suficiente nesta partição (por exemplo, usando o utilitário df) - a quantidade de espaço livre deve corresponder ao tamanho do disco rígido copiado (a imagem será menor quando compactada, mas depende de o tipo de dados armazenados).

Monte a partição de backup

Sudo mount / dev / sdXY / mnt

Agora você pode começar

Sudo dd if = / dev / sdX bs = 1M conv = noerror, sincronizar | lzma -cv> /mnt/hdd.dd.lzma

(aqui "sdX" é um disco, não uma partição! para copiar sem compressão, o comando é semelhante ao dado acima para backup de uma partição)

Dependendo do tamanho do disco rígido e do desempenho do computador, o procedimento pode levar muito tempo (até várias horas). Quando terminar, desmonte a partição de backup

Sudo umount / mnt

Recuperação da imagem

Atenção! Este método assume uma reversão completa para o estado no momento da criação do arquivo com a substituição de todos os dados!

Certifique-se de que a fonte de alimentação esteja segura antes de iniciar o trabalho. Conecte o adaptador CA se você tiver um laptop e, se possível, use um no-break ou estabilizador. A alta intensidade de gravação aumenta o risco de danos ao disco em caso de falha de energia

Certifique-se de que nenhuma partição do disco recuperado esteja em uso. Monte a partição de backup

Sudo mount / dev / sdXY / mnt

Você pode iniciar o procedimento

Bzip2 -dc /mnt/hdd.dd.bz | sudo dd de = / dev / sdX bs = 1M conv = sync, noerror

Ou para uma imagem não comprimida

Sudo dd if = / mnt / hdd.dd.bz de = / dev / sdX bs = 1M conv = sync, noerror

Quando terminar, desmonte a partição de backup

Sudo umount / mnt

Se você deseja descompactar a imagem em outro disco rígido, ela deve ser pelo menos tão grande quanto o original. Caso o novo disco seja maior, você pode expandir as partições ou criar uma nova partição no espaço livre usando parted / fdisk / gparted / etc

Não use os dois discos rígidos ("duplicado" e "original") ao mesmo tempo! Quando os dois discos estiverem conectados, o sistema terá duas partições para cada UUID, o que levará a problemas de operação ou impossibilidade de inicializar

Montagem de uma imagem

Por analogia com uma imagem de partição, você pode trabalhar com uma imagem de disco rígido como com um disco rígido normal. Nesse caso, o procedimento é um pouco mais complicado, pois a imagem contém vários trechos.

Se a imagem estiver compactada, descompacte-a. Agora conecte a imagem ao dispositivo de loop

Sudo losetup -fv /media/backup/sda.dd

(Com a opção -f, o programa encontrará automaticamente um dispositivo de loop livre, caso contrário, você deve especificá-lo explicitamente)

losetup exibirá o nome do dispositivo usado - se você não estiver trabalhando com outros arquivos de imagem (iso, contêineres criptografados, etc.), provavelmente será / dev / loop0

Agora temos um dispositivo que é um disco rígido do sistema, mas não temos acesso às suas partições. O programa kpartx irá ajudá-lo a obter as partições (pode ser necessário instalar o pacote com o mesmo nome)

Sudo kpartx -av / dev / loop0

(Alternar -a - adiciona partições para o dispositivo especificado; -v - saída informativa)

O programa exibirá os nomes dos dispositivos criados para as partições do disco: loop0p1 para a primeira partição, loop0p2 para a segunda, por analogia com partições em um disco normal. Os arquivos do dispositivo estarão localizados na pasta / dev / mapper

Agora você pode trabalhar com partições e sistemas de arquivos neles. Por exemplo, monte o antigo sda5 e grave arquivos nele

Sudo mount / dev / mapper / loop0p5 / mnt

Quando terminar, desmonte a partição

Sudo umount / mnt

Remover dispositivos particionados com kpartx

Sudo kpartx -dv / dev / loop0

e libere o dispositivo de loop

Sudo losetup -v -d / dev / loop0

Tudo! As alterações foram gravadas e sua imagem voltou a ser um arquivo normal

cp

Aqui, veremos um backup usando o utilitário cp, ou seja, usando uma cópia simples. Na verdade, esta não é a maneira mais ideal e é mais adequada para copiar o sistema para outro disco rígido / partição / computador, em vez de criar uma cópia de backup.

Por outro lado, este método tem várias vantagens:

    Versatilidade - o cp pode ser encontrado em qualquer sistema Linux

    Baixa necessidade de recursos (devido à falta de compressão e simplicidade do mecanismo)

    Simplicidade de trabalho posterior com o backup (adicionar / alterar / excluir arquivos, extrair os dados necessários, etc.)

Fazendo uma cópia

Crie pontos de montagem para partições raiz e de backup

Sudo mkdir / mnt / (root, backup)

Monte ambas as partições

Sudo mount / dev / sdXY -o ro / mnt / root sudo mount / dev / sdXY / mnt / backup

Monte partições para / usr, / boot, etc., se houver

Sudo mount / dev / sdXY -o ro / mnt / root / home

Crie uma pasta na partição de backup para o seu backup

Sudo mkdir / mnt / backup / ubuntu

Você pode começar

Sudo cp -av / mnt / root / * / mnt / backup / ubuntu

(a opção -a permite copiar links "como estão", salvando todos os atributos de arquivo possíveis e o modo recursivo. opção -v - exibe informações sobre o que está acontecendo)

Quando o processo estiver concluído, desmonte todas as partições

No futuro, você pode arquivar seus dados de qualquer maneira conveniente.

Recuperando de uma cópia

Atenção! Este método assume uma reversão completa para o estado no momento da criação do arquivo com a substituição de todos os dados!

Crie pontos de montagem para partições

Sudo mkdir / mnt / (root, backup)

Monte a partição de backup

Sudo mount / dev / sdXY -o ro / mnt / backup

Formate a partição raiz e / usr, / boot, etc., se houver. (Para formatar partições mantendo UUIDs, consulte a seção sobre)

Sudo mkfs.reiserfs -l "root" / dev / sdXY sudo mkfs.ext2 -L "boot" / dev / sdXY sudo mkfs.ext4 -L "home" / dev / sdXY

Monte sistemas de arquivos recém-criados

O processo de cópia é semelhante, mas na direção oposta.

Sudo cp / mnt / backup / ubuntu / * -av / mnt / root

Após a conclusão da cópia, edite o fstab para corrigir os UUIDs das partições

Desmontar partições

Sudo umount / mnt / backup / mnt / root / (usr, home,)

Squashfs

sudo mkfs.reiserfs -l "root" / dev / sdXY sudo mkfs.ext2 -L "boot" / dev / sdXY sudo mkfs.ext4 -L "home" / dev / sdXY

Monte sistemas de arquivos recém-criados

Sudo mount / dev / sdXY / mnt / root sudo mount / dev / sdXY / mnt / root / usr sudo mount / dev / sdXY / mnt / root / var

Você pode começar! O utilitário unsquashfs é usado para descompactar a imagem.

Sudo unsquashfs -d / mnt / root -f /mnt/backup/ubuntu-root.sqfs

(A opção -d define o caminho para descompactar, com a opção -f o programa usará as pastas existentes em vez de tentar criar novas)

Assim como na criação da imagem, você verá uma barra de progresso e muitas outras informações úteis.

Quando terminar, edite o fstab, substituindo os UUIDs das partições por novos (se você formatou partições com o mesmo UUID, pule esta etapa)

Sudo nano / mnt / root / etc / fstab

Salve o arquivo e desmonte todas as partições

Sudo umount / mnt / backup / mnt / root (/ usr, / var,)

Montagem de uma imagem

O squashfs é montado como qualquer outra imagem - por meio de um dispositivo de loop. O suporte ao kernel squashfs está incluído em muitas distribuições, incluindo Ubuntu, então apenas use o comando mount com a opção loop.

Sudo mount /media/backup/ubuntu-root.sqfs -o ro, loop / mnt

(A opção ro é opcional, já que você não será capaz de escrever lá de qualquer maneira)

Agora você pode copiar todos os arquivos de que precisar da imagem. Você não será capaz de adicionar nada desta forma, para isso você precisará usar o mksquashfs novamente

Quando terminar, desmonte a imagem como um sistema de arquivos normal

Sudo umount / mnt

rsync

Como o cp, o rsync funciona em arquivos, não em dispositivos de bloco. A peculiaridade do rsync é que ele não copia arquivos que já estão no destino. Por padrão, ele verifica o tamanho e a hora de modificação dos arquivos, mas você também pode verificar o hash (isso geralmente é feito quando é necessário aumentar a segurança).

Uso simples

A sintaxe rsync é como cp:

Rsync -a / mnt / root / mnt / backup

A opção -a é frequentemente suficiente, fornece o essencial: copiar diretórios recursivamente, informações do proprietário da loja e do grupo, etc. Para exibir informações detalhadas sobre a cópia, use a opção -v, tenha cuidado com isso, você pode pular a mensagem de erro no fluxo de dados. A opção -x garante que o rsync não vá além do sistema de arquivos especificado.

A documentação do rsync tem várias opções. Por exemplo, existem alguns que permitem que você copie por SSH ou exclua um arquivo do destino, caso tenha sido excluído do diretório de origem.

A cópia inteligente ajuda a reduzir o tempo de inatividade do sistema. Executamos o rsync diretamente em um sistema em execução, onde os dados mudam constantemente, o rsync copia os dados, digamos, por várias horas. Em seguida, traduzimos o sistema para somente leitura, executamos rsync novamente, agora ele copia apenas os arquivos que foram alterados nessas poucas horas. Em poucos minutos teremos uma cópia completa do FS original. Ao mesmo tempo, o tempo de inatividade foi reduzido em uma ordem de magnitude em comparação com a cópia offline. E em alguns casos, uma cópia online será suficiente sem transferir o sistema para somente leitura.

Manter cópias anteriores

A rigor, o rsync não é uma ferramenta de backup - é uma ferramenta de sincronização. Isso é importante ao fazer backups regulares, porque se algum arquivo importante for excluído do diretório de trabalho de origem, o rsync também o excluirá do backup. Para aumentar a segurança dos dados, é aconselhável manter backups antigos. No entanto, o simples armazenamento de várias cópias exigirá muito espaço no disco rígido. Se as cópias tiverem muitos dos mesmos arquivos, isso resultará em redundância desnecessária. Esse problema pode ser resolvido usando links físicos.

O resultado final é que em sistemas de arquivos modernos (incluindo Ext4), o endereçamento de arquivo é feito em dois estágios: o nome do arquivo indica um número de arquivo exclusivo (inode ou i-node) e os próprios dados são associados a esse número. Qualquer nome de arquivo é, na verdade, um link físico para esse número. Consequentemente, um arquivo (dataset) pode ter vários nomes e estar em diretórios diferentes, o que permite eliminar a redundância em caso de duplicação de arquivos (afinal, um hard link ocupa pouca memória). Os próprios dados não são excluídos até que a exclusão do último link físico seja solicitada.

Uma limitação significativa é que os links físicos só são possíveis dentro do mesmo sistema de arquivos.

Sincronizando o conteúdo do diretório do backup atual com o diretório de origem:

Rsync \ --archive \ --delete --delete-excluded \ # excluir dos arquivos de backup que não existem na fonte e foram excluídos--progresso \ # exibir informações sobre o andamento da transferência"/ home / usuário / Arquivos /" \ # fonte do diretório"/ backup / mais recente /" \ # diretório para o backup atual--exclude = "/ Público /" # excluir diretórios desnecessários

No diretório "/ backup / mais recente /", uma cópia de todos os arquivos e diretórios necessários da fonte será criada e todos os desnecessários serão removidos.

Crie outro backup atual sem redundância:

cp \ --archive \ # salvar todas as informações adicionais sobre os arquivos--ligação \ # use links físicos para arquivos - elimine redundância"/ backup / mais recente /" \ # fonte é o backup atual obtido acima "/ backup / $ (data +% Y-% m-% d_% H-% M-% S) /" # destino - diretório com data no nome por conveniência (ver data do manual)

Na próxima vez que você criar um backup, o rsync excluirá os arquivos no diretório "/ backup / mais recente /" que foram excluídos / excluídos / modificados no diretório de origem (os arquivos alterados são removidos primeiro e, em seguida, a nova versão é gravada) . No entanto, apenas os nomes dos arquivos (os mesmos links físicos) serão excluídos, os próprios arquivos (dados) serão salvos, uma vez que os links físicos foram criados para eles no diretório vizinho com o comando "cp".

Outras ferramentas

Existem toneladas de aplicativos de backup do Linux. Você pode pesquisar por “backup” no Ubuntu Application Center para encontrar o software de backup disponível no Ubuntu.

Para um ambiente corporativo e apenas para tarefas de backup críticas e em grande escala, podemos recomendar a compreensão de um dos sistemas de backup mais populares e poderosos para Linux, que é chamado Bacula.

A propósito, você também pode encontrar guias em russo na rede.

Magia despedaçada

Parted Magic é outro ótimo, mas pago um kit de distribuição contendo todo um conjunto de ferramentas para fazer backup e restaurar informações, trabalhar com discos e partições, bem como recuperar dados perdidos. Ele suporta muitos sistemas de arquivos, LVM2 e RAID (hardware e software) e contém ferramentas como fsarchiver, GParted, o já mencionado Clonezilla e tudo o que é necessário para os métodos descritos neste artigo. Além disso, a distribuição inclui um navegador da web e algum outro software adicional. O kit de distribuição é traduzido para vários idiomas, incluindo russo, e possui uma interface gráfica completa.

LParted

LParted é um LiveCD completo projetado principalmente para trabalhar com partições de unidade de disco rígido (HDD), excluir ou recuperar dados permanentemente e testar hardware. LiveCD baseado em Lubuntu Linux. LParted é um análogo funcional do Parted Magic.

Aqui, eu acrescentaria sobre SystemRescueCD e outros

Um pouco mais sobre como salvar dados

    Para dados importantes, você pode fazer uma partição espelhada em dois discos. Para fazer isso, não é necessário ter um controlador RAID e discos do mesmo tamanho - você pode, por exemplo, montar um espelho de um parafuso antigo de 80 GB e uma partição de 80 GB em um novo. O espelhamento pode ser feito usando LVM ou RAID por software. No entanto, este método é inútil se, por exemplo, uma tensão de ~ 220 V atingir o barramento de + 5 V ou um meteorito cair na unidade de sistema do computador.

    Os geeks de TI com um servidor em casa podem estender a ideia de espelhamento e usar o DRBD. O mesmo RAID-1, mas os discos rígidos estão localizados em computadores diferentes, o que aumenta a confiabilidade.

    Uma solução moderna e conveniente é fazer backup dos dados na "nuvem", por exemplo, usando Ubuntu One, Dropbox, http://www.adrive.com/ e outros.

    Nem o espelhamento nem a replicação no Ubuntu One irão salvá-lo de clicar acidentalmente em Excluir, então faça backups "clássicos" de qualquer maneira. E um belo dia terrível, todos os seus esforços e esforços serão recompensados.

Esta é uma definição configurável que determina o tipo e o uso do disco inicializável USB a ser criado.

Existem quatro métodos de inicialização disponíveis no Rufus, um dos quais deve ser selecionado na lista suspensa. Eles estão listados como MS-DOS, FreeDOS, imagem ISO, imagem DD. Os dois primeiros estão disponíveis apenas para computadores e dispositivos com BIOS - eles devem ser selecionados na lista suspensa na linha "Esquema de partição e tipo de interface do sistema".

Este método de inicialização no Rufus cria uma unidade flash USB inicializável com um sistema operacional MS-DOS. É um sistema operacional de disco e pode ser necessário nos seguintes casos:

  • para atualizar e fazer o flash do BIOS, este procedimento é mais seguro de ser executado no DOS;
  • para diagnóstico e teste de um computador ou laptop, já que a maioria dos utilitários para diagnósticos aprofundados de RAM ou disco rígido funcionam apenas no DOS;
  • se você precisar acessar arquivos no disco rígido com um sistema operacional ausente ou danificado;
  • ao usar programas de console antigos (por exemplo, para programar dispositivos periféricos), que podem não funcionar corretamente no Windows;
  • se você precisar acessar o sistema de arquivos dos discos rígidos de um computador ou laptop em um nível inferior.

O FreeDOS é um sistema operacional semelhante ao MS-DOS, distribuído gratuitamente sob uma licença gratuita e disponível na Rufus. Ele também permite que você atualize o BIOS, conserte o disco rígido usando programas especiais, teste a memória de acesso aleatório (RAM) e muito mais. As ações são realizadas por comandos especiais da linha de comando.

O método de inicialização de imagem ISO deve ser selecionado para transferir a imagem ISO inicializável finalizada para um pendrive USB. A imagem ISO deve ser criada previamente usando os programas destinados a isso. Este método pode ser usado em Windows, Linux e outros sistemas operacionais. O disco de inicialização resultante pode então ser usado para recuperação de desastres do sistema operacional e diagnósticos do disco rígido.

Método para carregar imagem DD no Rufus

Usado para criar discos inicializáveis ​​a partir de imagens criadas no sistema operacional Linux pelo programa DD. A diferença fundamental entre esse método de inicialização é que o programa DD não cria realmente uma imagem, mas faz uma cópia bit a bit do diretório especificado.

Rufus não é o único no campo da criação de mídia inicializável, sua principal vantagem é a facilidade de uso.

Então, suponha que você tenha baixado o arquivo ISO com a imagem de distribuição e preparado uma unidade flash USB.

O comando do terminal para escrever a imagem iso da distribuição é o seguinte:

sudo dd if = caminho para .iso de = / dev / sdb

Onde em vez de caminho para .iso você precisa especificar o caminho para o arquivo iso da sua pasta Transferências.
sdb no final do comando, este é o pen drive no qual a imagem será gravada. Para identificar sua unidade flash USB, execute no terminal:



E se a sua unidade flash estiver definida de forma diferente, altere-a no comando.

Para inserir corretamente o caminho para o arquivo no comando, abra a pasta com o arquivo, abra um terminal ao lado dele e arraste o arquivo para ele:


O terminal exibirá o caminho para o arquivo e o próprio arquivo .iso. Copie sem aspas e cole no comando, e no terminal pressione o atalho de teclado Ctrl + C para redefinir e exibir uma nova linha de prompt.

A maneira mais fácil de criar um comando é em um editor de texto.
Recebi o seguinte comando:


Agora insira a unidade flash USB na porta do computador, copie o comando recebido do editor de texto, entre no terminal e execute (pressione Enter):


O cursor do terminal piscará e parece que nada está acontecendo, mas na verdade, a gravação está em andamento. Espere até o final da gravação da imagem e no final você verá algo como o seguinte no terminal:


Isso é tudo. Sua unidade flash tornou-se inicializável e agora você pode instalar o kit de distribuição em qualquer computador.

Para criar uma imagem de um disco rígido, não é necessário usar utilitários como Acronis True Image ou Norton Ghost, um simples utilitário dd é suficiente, que está incluído na maioria dos sistemas operacionais do tipo Unix (Linux, FreeBSD, Solaris, etc. ) fazendo backup da imagem do disco rígido usando dd. A primeira etapa é preparar o backup. Neste artigo, apresentaremos a seguinte notação:

  • / dev / sda - o disco a ser criado;
  • / dev / sdb - o disco no qual a imagem será gravada.

Se necessário, você precisa substituir seus próprios valores.

Preparando para criar uma imagem de disco rígido

A primeira etapa é inicializar a partir de qualquer Live-CD disponível que tenha o utilitário dd e inserir a linha de comando como superusuário. Crie um ponto de montagem para backup.

mkdir / mnt / backup

Monte o disco rígido no qual deseja salvar a imagem.

Criação de uma imagem de disco rígido

dd if = / dev / sda de = / mnt / backup / sda.img bs = 8M conv = sync, noerror

  • if = / dev / sda - copia todo o disco rígido sda;
  • de = / mnt / backup / sda.img - copiar para /mnt/backup/sda.img;
  • bs = 8M - defina o tamanho do cache do disco rígido para acelerar o procedimento de cópia (caso contrário, os dados serão despejados em pequenas porções de 512 bytes);
  • conv = sync, noerror - diz ao dd para copiar bit a bit, ignorando erros de leitura.

Para reduzir o tamanho de uma imagem de disco rígido, você pode compactá-la com qualquer arquivador.

dd if = / dev / sda bs = 8M conv = sync, noerror | gzip -c> /mnt/backup/sda.img

Recuperando uma imagem do disco rígido

Para restaurar uma imagem de um disco rígido, você deve fazer o oposto do procedimento para criar essa imagem.

dd if = / mnt / backup / sda.img de = / dev / sda bs = 8M conv = sync, noerror

Ao usar a compactação em paralelo, você precisa descompactar a imagem.

gunzip -c /mnt/backup/sda.img | dd de = / dev / sda conv = sync, noerror bs = 8M

Migrando o sistema para outro disco rígido

Para migrar todo o sistema para outro disco rígido, você deve especificar a localização do novo disco como destino.

dd if = / dev / sda de = / dev / sdb bs = 8M conv = sync, noerror

Em seguida, se necessário, instale o boot deste disco rígido. Desde que o novo disco rígido seja maior do que o antigo, haverá uma área não alocada nele. Deve ser marcado e formatado conforme necessário.

Copiar estatísticas para dd

A principal desvantagem do dd é a falta de uma representação visual das estatísticas do procedimento de cópia. No entanto, essa desvantagem pode ser facilmente contornada. Basta conectar a outro terminal.

Determine o número do processo sob o qual o dd está sendo executado.

Envie periodicamente o comando kill -USR1 process_number dd para este processo.

watch -n 5 kill -USR1 dd process_number

  • watch -n 5 - executa o comando a cada 5 segundos;
  • kill -USR1 dd_process_number - mostra estatísticas de cópia.

Usando o utilitário dd, crie uma imagem de uma unidade flash com espaço livre para arquivamento. A imagem de backup será útil se o original parar de funcionar repentinamente com informações importantes. Por exemplo, um pen drive com chaves privadas de assinaturas eletrônicas de gestão da organização. Portanto, temos uma unidade flash de 4 GB / dev / sdd, cujas informações ocupam cerca de 90 MB.
du - sh / run / media / aleksey / Transcend

89M / run / media / aleksey / Transcend

Todos os comandos são executados em nome do usuário raiz... Ou, nas distribuições correspondentes, antes dos comandos, adicione sudo.
fdisk - l / dev / sdd

Disco / dev / sdd: 3,7 GiB, 3904897024 bytes, 7626752 setores Unidades: setores de 1 * 512 = 512 bytes Tamanho do setor (lógico / físico): 512 bytes / 512 bytes Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes Tipo de Disklabel: dos Identificador de disco: 0xc653eaa4 Dispositivo Boot Iniciar Fim Setores Tamanho Id Tipo / dev / sdd1 2048 7628543 7626496 3,7G b W95 FAT32

Disco / dev / sdd: 3,7 GiB, 3904897024 bytes, 7626752 setores

Unidades: setores de 1 * 512 = 512 bytes

Tamanho do setor (lógico / físico): 512 bytes / 512 bytes

Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes

Tipo de Disklabel: dos

Identificador de disco: 0xc653eaa4

Tipo de Id do tamanho dos setores de inicialização da inicialização do dispositivo

/ dev / sdd1 2048 7628543 7626496 3,7G b W95 FAT32

Tendo criado uma imagem simples com o comando
dd se = / dev / sdd de = sdd. iso bs = 4M conv = noerror,
nos condenamos a armazenar um arquivo de 4 GB. E se a unidade flash tivesse capacidade de 64 GB? E não está sozinho? Um arquivador regular nos ajudará a resolver este problema, vamos pegar o padrão gzip.
dd if = / dev / sdd bs = 4M conv = noerror | gzip - c> sdd. iso. fecho eclair
Onde está a chave -c permite que você trabalhe com saída padrão.
Depois de concluir o trabalho, vamos dar uma olhada no arquivo resultante. ls - al sdd *

O arquivo resultante tem aproximadamente 25 MB de tamanho. Economia real de espaço em disco, mesmo em comparação com um arquivo de 4 GB!
Para restaurar uma unidade flash a partir de uma imagem, use a ordem inversa dos comandos.
gunzip - c sdd. iso. zip | dd de = / dev / sdd conv = noerror bs = 4M

Você também pode fazer backup de imagens de discos rígidos, onde os volumes são uma ordem de magnitude maiores.

A propósito! Para maior clareza do processo, visto que o dd não tem sua própria barra de progresso, sugiro o uso de um pequeno utilitário progresso- Visualizador de progresso Coreutils. Instalá-lo no Fedora é simples.
progresso da instalação dnf
Para outras distribuições, o repositório necessário pode ser encontrado em https://pkgs.org/download/progress.
Instalando e executando o utilitário com o comando assistir o progresso no segundo terminal (no primeiro temos o arquivador e o dd rodando) em nome do mesmo usuário, veremos algo assim.

progresso do homem irá mostrar várias opções úteis para este utilitário.