Kopia dysku przy użyciu polecenia dd

Używając polecenia dd możemy zrzucić zawartość całego dysku (lub partycji) do np. pliku. Zrobimy kopię dysku /dev/sda, a następnie zapiszemy ja na drugim dysku zamontowanym w katalogu /mnt.

[root@itcore ~]# dd if=/dev/sda of=/mnt/sda-dump.img
19999490048 bytes (20 GB) copied, 2335.69 s, 8.6 MB/s

Taka kopię najlepiej wykonać na nie zabotowanym systemie, używając na przykład dystrybucji LiveCD (Knoppix). Warto ustawić też większą wartość dla opcji bs (ile bajtów jest odczytywanych/zapisywanych naraz) przez co zyskamy na czasie, przykładowo 15MB:

[root@itcore ~]# dd bs=15M if=/dev/sda of=/mnt/sda-dump.img
19999490048 bytes (20 GB) copied, 875.233 s, 22.9 MB/s

Różnica w szybkości jest znaczna, z 8.6MB/s dla domyślnych wartości do 22.9MB/s przy ustawieniu bs=15MB.

Zrzut dysku na zdalny serwer

Łącząc polecenie dd z ssh można w prosty sposób umieścić kopię dysku na zdalnym serwerze:

[root@itcore ~]# dd if=/dev/sda bs=15M conv=sync,noerror | ssh -o TCPKeepAlive=yes root@REMOTE_SERVER “dd of=/root/sda-dump.img”

Aby zaoszczędzić cenny transfer, można użyć polecenia gzip. Dodatkowo używając polecenia pv ograniczymy prędkość wysyłania do 1MB na sekundę:

[root@itcore ~]# dd if=/dev/sda bs=10M conv=sync,noerror | gzip -c | pv -L 1m -r | ssh -o TCPKeepAlive=yes root@REMOTE_SERVER "cat > root/sda-dump.img.gz"
  1. Paweł Macur

    Nie wiem z jakiej przyczyny, lecz jak chciałem napisać komentarz, to pokazała mi informacja, iż komentuję zbyt prędko. Nie masz czasami zainstalowanego jakiegoś dodatku do cacheowania witrynki www ? Gdyż może to być problemem. Natomiast ogólnie, to nadzwyczajny blog :) Szablog robiłeś samemu ? Napisał komentarz Paweł – Gość, jaki zarabia fajne pieniądze w internecie za sprawą Euryptona. Zawsze zdołasz zapisać się na prezentację oraz dodatkowo przekonać się że nie jest to zadanie zawiłe i każdy może podążyć moimi śladami.

    • Szablon to domyślna skórka + pare zmian, które wprowadziła nasza Pani Grafik. Stronka nie jest cachowana po naszej stronie. Dzięki za opnię, pozdrawiam!

  2. z czystej ciekawości w jaki sposób zamontować obraz dysku lub obraz partycji czyli plik img do katalogu (taki wirtualny dysk) po prostu chciałbym sprawdzić przed restorem na docelowy dysk czy kopia działa oraz np. skan AV lub usuwanie katalogów lub plików.

    • obraz partycji można zamontować w ten sposób (przykładowo dla /dev/sda1)

      dd if=/dev/sda1 of=/root/sda1.img
      mount -t auto -o loop /root/sda1.img /mnt/

      wszystko jest read-write, wiec ma się pełen dostęp:

      echo „test” > /mnt/test.txt
      umount /mnt
      mount -t auto -o loop /root/sda1.img /mnt/
      ls -l /mnt/test.txt
      -rw-r–r– 1 root root 5 Oct 17 16:29 /mnt/test.txt

      Jeśli chodzi o cały dysk to osobiście używam w tym przypadku VirtualBoxa. Obraz dysku należy przekonwertować korzystając z narzędzia VBoxManage:

      dd if=/dev/sda of=/root/sda.img
      VBoxManage convertfromraw /root/sda.img /home/user/sda.vdi

      następnie tworzysz wirtualną maszynę, wybierasz odpowiedni plik vdi jako dysk i już można botować. Sprawa świetna, bo po każdej zmianie/aktualizacji widzimy czy system działa jak należy.

Zostaw komentarz


Podpowiedź - możesz użyć tych HTML tagów i atrybutów:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Obraz CAPTCHY

*