Autor Wątek: Backup partycji root przy pomocy polecenia dd  (Przeczytany 5172 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

luksus

  • Gość
Backup partycji root przy pomocy polecenia dd
« dnia: Kwiecień 25, 2017, 09:13:52 am »
Witam,
zapragnąłem wykonać kopię zapasową partycji root w razie "W" by nie bawić się później w ponowne stawianie systemu, instalacje programów i konfigurację.
Za czasów windows używałem Acronis True Image, który wykonywał obraz partycji, ale rozmiar pliku wynikowego wynosił tyle ile miejsca faktycznie było zajętego.
Chciałem wykonać partycję backup do pliku na pendrive, jednak rozmiar partycji jest większy od rozmiaru pendrive. Czy jest jakaś opcja kompresująca to puste miejsce czy plik wynikowy zawsze musi ważyć tyle ile wynosi wielkość partycji ?

dd if=/dev/sda1 of=/dev/sdb1/backup.img
Dysk SSD, 120GB, partycja root = 24GB ext4, zajęte ok 6GB

Dysk /dev/sda: 119,2 GiB, bajtów: 128035676160, sektorów: 250069680
Jednostki: sektorów, czyli 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Typ etykiety dysku: dos
Identyfikator dysku: 0x28643cdf

Urządzenie Rozruch  Początek    Koniec   Sektory Rozmiar Id Typ
/dev/sda1  *            2048  50331647  50329600     24G 83 Linux
/dev/sda2           50331648 241682431 191350784   91,2G 83 Linux
/dev/sda3          241682432 250068991   8386560      4G 82 Linux swap / Solaris
« Ostatnia zmiana: Kwiecień 25, 2017, 09:17:29 am wysłana przez luksus »

zgrupowanie operacyjno-manewrowe obi

  • Geeko's friend
  • SUSE Root
  • *
  • Wiadomości: 1603
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #1 dnia: Kwiecień 25, 2017, 11:16:45 am »
Jak nie dasz of, to dd pisze do -, wiec "dd if=cos | gzip -c > backup.img.gz" zalatwi sprawe. dd kompuje 1:1, wiec nawet puste miejsce bedzie zapisywane.

Ewentualnie jak chcesz jakis interfejs, to uzyj clonezilli.
usb usb usb usb usb usb usb

Stefan

  • Moderator
  • Maniak SUSE
  • *
  • Wiadomości: 2947
  • Moderator kuwety
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #2 dnia: Kwiecień 25, 2017, 08:52:42 pm »
Tak samo w drugą stronę gunzip -c backup.img.gz > dd of=cos
Warto dodać conv=noerror,sync oraz bs - ja najczęściej używam 4096, lecz możesz się posiłkować rozmiarem pamięci podręcznej Twojego dysku . Ostatnio dostępne są również statsy - dopisać status=progress 

Następny hint: zapisywać sumy kontrolne utworzonych backupów.

Polecam:
https://wiki.archlinux.org/index.php/disk_cloning

Jak już korzystasz z dd, to warto tez mieć zrzut tablicy partycji.
T60: SXGA+ T5600 3GB DDR2 SSD:60GB OS:jessie || Pomiędzy prezentacją siebie, a reklamą istnieje zasadnicza różnica. Konta z linkami są usuwane.

gryzon96

  • SUSE Power User
  • **
  • Wiadomości: 184
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #3 dnia: Kwiecień 26, 2017, 06:54:40 pm »
A tak z ciekawości- puste miejsce w obrazie dysku dobrze się kompresuje? Czy może są jakieś metody żeby to poprawić?

unic0rn

  • SUSE Guru
  • ****
  • Wiadomości: 784
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #4 dnia: Kwiecień 26, 2017, 09:17:44 pm »
nie ma czegos takiego jak puste miejsce. stare (usuniete) dane zostaja na dysku, usuwane sa tylko wpisy z tablicy alokacji. mozna uzyc oprogramowania zapisujacego niezaalokowane obszary zerami bezposrednio przed kompresja partycji.
PGP:208DAF5448644C0B

gryzon96

  • SUSE Power User
  • **
  • Wiadomości: 184
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #5 dnia: Kwiecień 27, 2017, 04:25:45 pm »
Dzięki @unic0rn, o coś takiego mi chodziło

luksus

  • Gość
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #6 dnia: Kwiecień 29, 2017, 07:47:55 pm »
Jak już korzystasz z dd, to warto tez mieć zrzut tablicy partycji.
wykonałem sobie kopie całego mbr poleceniem dd if=/dev/sda of=mbr_backup.img bs=512 count=1

W każdym razie..
wykonałem sobie kopie partycji pod rescue system, ale bez kompresji, bo zapomniałem. Zajmowała 24G (ok 6G danych a reszta to puste miejsce). Po zalogowaniu się użyłem gzipa, który skompresował backup do ok 3,5G. Przez chwilę myślałem, że to jakiś błąd i gzip nie zakończył działania, ale patrzę, plik wejściowy usunięty, rozpakowuję i wyłazi mi moje 24G. Jestem bardzo zaskoczony taką kompresją, pozytywnie. Mam tylko nadzieję, że jak będę potrzebował ten backup, nie okaże się, że jest uszkodzony :)
« Ostatnia zmiana: Kwiecień 29, 2017, 07:51:09 pm wysłana przez luksus »

Stefan

  • Moderator
  • Maniak SUSE
  • *
  • Wiadomości: 2947
  • Moderator kuwety
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #7 dnia: Kwiecień 30, 2017, 09:22:01 am »
/usr/bin/md5sum
/usr/bin/sha1sum
/usr/bin/sha224sum
/usr/bin/sha256sum
/usr/bin/sha384sum
/usr/bin/sha512sum

I podnieść poziom paranoi do 3-2-1 backup strategy. W wypadku 3 i 2 jeszcze lepszym pomysłem, prócz różnych nosników, są dwa różne rodzaje backupu.
T60: SXGA+ T5600 3GB DDR2 SSD:60GB OS:jessie || Pomiędzy prezentacją siebie, a reklamą istnieje zasadnicza różnica. Konta z linkami są usuwane.

webguru

  • Początkujący
  • *
  • Wiadomości: 16
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #8 dnia: Sierpień 03, 2017, 08:37:55 am »
Cześć wszystkim, chciałbym zrobić tym poleceniem (dd) kopię systemu,
którą partycję muszę zrobić - umieszczam obrazek:
http://nimb.ws/zUreQi
-----
pozdrawiam
Witek

Stefan

  • Moderator
  • Maniak SUSE
  • *
  • Wiadomości: 2947
  • Moderator kuwety
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #9 dnia: Sierpień 04, 2017, 09:10:25 am »
A co to jest system? IMO, po przesiadce na *niksy lepiej zacząć myslec punktami mountowania.

df -h; fdisk -l; mount
T60: SXGA+ T5600 3GB DDR2 SSD:60GB OS:jessie || Pomiędzy prezentacją siebie, a reklamą istnieje zasadnicza różnica. Konta z linkami są usuwane.

webguru

  • Początkujący
  • *
  • Wiadomości: 16
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #10 dnia: Sierpień 05, 2017, 01:00:03 pm »
Cześć:
Jeszcze raz:
Taka kopia, abym nie musiał wszystkiego instalować od zera.
Partycje mam jak na obrazku.
-----
pozdrawiam
Witek

Stefan

  • Moderator
  • Maniak SUSE
  • *
  • Wiadomości: 2947
  • Moderator kuwety
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #11 dnia: Sierpień 06, 2017, 09:27:45 am »
Po drugie, jeszcze raz, proszę o:

df -h; fdisk -l; mount
Po pierwsze, a co z informacją o strukturze partycji w przypadku odtworzenia? Poradzisz sobie?

IMO w Twoim wypadku raczej sprawdzi się zrzut całego dysku, a nie partycji - jeżeli chcesz koniecznie to robić przez dd. Tym bardziej, że pracujesz na dyskach ssd.
T60: SXGA+ T5600 3GB DDR2 SSD:60GB OS:jessie || Pomiędzy prezentacją siebie, a reklamą istnieje zasadnicza różnica. Konta z linkami są usuwane.

webguru

  • Początkujący
  • *
  • Wiadomości: 16
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #12 dnia: Październik 15, 2017, 05:42:41 pm »
Po drugie, jeszcze raz, proszę o:

df -h; fdisk -l; mount
Po pierwsze, a co z informacją o strukturze partycji w przypadku odtworzenia? Poradzisz sobie?

IMO w Twoim wypadku raczej sprawdzi się zrzut całego dysku, a nie partycji - jeżeli chcesz koniecznie to robić przez dd. Tym bardziej, że pracujesz na dyskach ssd.

dopiero dziś, bo temat powrócił, po kolei (df -h; fdisk -l; mount):
linux:~ # df -h
Filesystem                   Size  Used Avail Use% Mounted on
devtmpfs                     3.9G     0  3.9G   0% /dev
tmpfs                        3.9G  369M  3.5G  10% /dev/shm
tmpfs                        3.9G  2.5M  3.9G   1% /run
tmpfs                        3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda3                     41G   13G   28G  31% /
/dev/sda1                    156M  4.6M  152M   3% /boot/efi
/dev/sda3                     41G   13G   28G  31% /var/lib/mysql
/dev/sda4                    424G  9.8G  414G   3% /home
/dev/sda3                     41G   13G   28G  31% /var/lib/pgsql
/dev/sda3                     41G   13G   28G  31% /usr/local
/dev/sda3                     41G   13G   28G  31% /boot/grub2/x86_64-efi
/dev/sda3                     41G   13G   28G  31% /var/crash
/dev/sda3                     41G   13G   28G  31% /var/opt
/dev/sda3                     41G   13G   28G  31% /var/log
/dev/sda3                     41G   13G   28G  31% /var/lib/mailman
/dev/sda3                     41G   13G   28G  31% /boot/grub2/i386-pc
/dev/sda3                     41G   13G   28G  31% /.snapshots
/dev/sda3                     41G   13G   28G  31% /tmp
/dev/sda3                     41G   13G   28G  31% /opt
/dev/sda3                     41G   13G   28G  31% /var/lib/mariadb
/dev/sda3                     41G   13G   28G  31% /var/lib/machines
/dev/sda3                     41G   13G   28G  31% /var/lib/libvirt/images
/dev/sda3                     41G   13G   28G  31% /var/lib/named
/dev/sda3                     41G   13G   28G  31% /var/spool
/dev/sda3                     41G   13G   28G  31% /srv
/dev/sda3                     41G   13G   28G  31% /var/cache
/dev/sda3                     41G   13G   28G  31% /var/tmp
tmpfs                        788M   28K  788M   1% /run/user/1000
/dev/sdb1                    699G  419G  281G  60% /run/media/webguru/Dane
//192.168.1.17/Backups       912G  762G  150G  84% /home/webguru/NAS1/Backups
//192.168.1.17/Movies        912G  762G  150G  84% /home/webguru/NAS1/Movies
//192.168.1.17/Music         912G  762G  150G  84% /home/webguru/NAS1/Music
//192.168.1.17/QuikTransfer  912G  762G  150G  84% /home/webguru/NAS1/QT
//192.168.1.17/Documents     912G  762G  150G  84% /home/webguru/NAS1/Documents
//192.168.1.17/Pictures      912G  762G  150G  84% /home/webguru/NAS1/Pictures
linux:~ #

linux:~ # fdisk -l
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 17BD3C38-4143-4E91-A68D-80122A994A97

Device        Start       End   Sectors   Size Type
/dev/sda1      2048    321535    319488   156M EFI System
/dev/sda2    321536   4530175   4208640     2G Microsoft basic data
/dev/sda3   4530176  88422399  83892224    40G Microsoft basic data
/dev/sda4  88422400 976773119 888350720 423.6G Microsoft basic data

Disk /dev/sdb: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0908e211

Device     Boot Start        End    Sectors   Size Id Type
/dev/sdb1        2048 1465145343 1465143296 698.7G  7 HPFS/NTFS/exFAT

linux:~ # mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=4022748k,nr_inodes=1005687,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
/dev/sda3 on / type btrfs (rw,relatime,ssd,space_cache,subvolid=259,subvol=/@/.snapshots/1/snapshot)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=24,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/sda3 on /var/lib/mysql type btrfs (rw,relatime,ssd,space_cache,subvolid=272,subvol=/@/var/lib/mysql)
/dev/sda4 on /home type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sda3 on /var/lib/pgsql type btrfs (rw,relatime,ssd,space_cache,subvolid=274,subvol=/@/var/lib/pgsql)
/dev/sda3 on /usr/local type btrfs (rw,relatime,ssd,space_cache,subvolid=265,subvol=/@/usr/local)
/dev/sda3 on /boot/grub2/x86_64-efi type btrfs (rw,relatime,ssd,space_cache,subvolid=261,subvol=/@/boot/grub2/x86_64-efi)
/dev/sda3 on /var/crash type btrfs (rw,relatime,ssd,space_cache,subvolid=267,subvol=/@/var/crash)
/dev/sda3 on /var/opt type btrfs (rw,relatime,ssd,space_cache,subvolid=276,subvol=/@/var/opt)
/dev/sda3 on /var/log type btrfs (rw,relatime,ssd,space_cache,subvolid=275,subvol=/@/var/log)
/dev/sda3 on /var/lib/mailman type btrfs (rw,relatime,ssd,space_cache,subvolid=270,subvol=/@/var/lib/mailman)
/dev/sda3 on /boot/grub2/i386-pc type btrfs (rw,relatime,ssd,space_cache,subvolid=260,subvol=/@/boot/grub2/i386-pc)
/dev/sda3 on /.snapshots type btrfs (rw,relatime,ssd,space_cache,subvolid=258,subvol=/@/.snapshots)
/dev/sda3 on /tmp type btrfs (rw,relatime,ssd,space_cache,subvolid=264,subvol=/@/tmp)
/dev/sda3 on /opt type btrfs (rw,relatime,ssd,space_cache,subvolid=262,subvol=/@/opt)
/dev/sda3 on /var/lib/mariadb type btrfs (rw,relatime,ssd,space_cache,subvolid=271,subvol=/@/var/lib/mariadb)
/dev/sda3 on /var/lib/machines type btrfs (rw,relatime,ssd,space_cache,subvolid=269,subvol=/@/var/lib/machines)
/dev/sda3 on /var/lib/libvirt/images type btrfs (rw,relatime,ssd,space_cache,subvolid=268,subvol=/@/var/lib/libvirt/images)
/dev/sda3 on /var/lib/named type btrfs (rw,relatime,ssd,space_cache,subvolid=273,subvol=/@/var/lib/named)
/dev/sda3 on /var/spool type btrfs (rw,relatime,ssd,space_cache,subvolid=277,subvol=/@/var/spool)
/dev/sda3 on /srv type btrfs (rw,relatime,ssd,space_cache,subvolid=263,subvol=/@/srv)
/dev/sda3 on /var/cache type btrfs (rw,relatime,ssd,space_cache,subvolid=266,subvol=/@/var/cache)
/dev/sda3 on /var/tmp type btrfs (rw,relatime,ssd,space_cache,subvolid=278,subvol=/@/var/tmp)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=806168k,mode=700,uid=1000,gid=100)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sdb1 on /run/media/webguru/Dane type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
tracefs on /sys/kernel/debug/tracing type tracefs (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)

-----
pozdrawiam
Witek

Zonk

  • SUSE Guru Apprentice
  • ***
  • Wiadomości: 432
Odp: Backup partycji root przy pomocy polecenia dd
« Odpowiedź #13 dnia: Październik 28, 2017, 10:29:59 pm »
Od początku założenie jest ... kiepskie. Jeżeli piszesz o "stawianie systemu, instalacje programów i konfigurację".
- stawianie systemu - 20-30min,
- instalacja programów - 5-10 min,
- konfiguracja programów - dni, miesiące, lata.
98% konfiguracji programów masz w /home. Gdybyś miał wydzielone /home to jeszcze dd miało by jakiś tam sens. Ja sobie zipuje raz na jakiś czas home (bez video czy muzy) i gdybym musiał polecieć z formatem/instalacją systemu, to wszystkie konfigi programów pozostają (nawet jak jakiegoś programu od razu nie zainstaluję to jego konfigi czekają).

Dd spisuje się świetnie w przypadku przenoszenia obrazów ale jak unic0rn wspomniał, na dyskach/partycjach nie ma pustych miejsc dlatego po dd obraz partycji jest wielkości partycji - niezależnie od ilości plików zajętego dysku. W zależności od sieczki sektorów może się 2-3 x spakować ale po co jak masz np.: 10-20% zajętego. Tak samo dd pod windowsem by się spisał/nie spisał.
« Ostatnia zmiana: Październik 28, 2017, 10:39:09 pm wysłana przez Zonk »
openSUSE 42.2 AMD 7700 series
P35-ICH9R, Intel Core 2 Quad Q6600-3GHz