Sao lưu piOS thành file ảnh nén (2)

Script sao lưu 2 partition boot rootfs thành file ảnh img. Các partition này được người dùng chỉ định riêng lẻ từ thẻ nhớ/HDD/SSD chưa mount hay từ hệ điều hành đang hoạt động.

Sử dụng:
  os.backup2 [-b boot_part][-r root_part]
             [-p out_dir][-t temp_dir][-x exclude]
             [-z xz|gz|zst]
  -b: boot partition, mặc định là partion được mount thành /boot
  -r: root partition, mặc định là partion được mount thành / 
  -p: tên thư mục chứa file img, mặc định /tmp
  -t: thư mục chứa các file tạm, mặc định /tmp
  -x: tên file liệt kê các file/thư mục không sao lưu
  -z: nén file bằng xz, pzstd hay pigz, mặc định không nén

Thí dụ:
  os.backup2 -z xz
  os.backup2 -b /dev/mmcblk0p1 -r /dev/sda2 -z zst

File ảnh có thể được nén bằng xz, pigz, pzstd hay không nén qua tham số dòng lệnh.

Mặc định thư mục /tmp sẽ được dùng. rsync sẽ dùng tạm 1 lần kích thước đĩa cần backup và 1 lần để chứa file img. Vậy /tmp cần trống 2 lần kích thước đĩa nguồn. Khi đó dùng các tham số -t -p để chia sẽ việc chiếm dụng đĩa sang các partition khác.

Việc nén file sẽ tốn thời gian hơn, nhưng nếu việc backup OS chỉ vài tháng một lần thì đánh đổi bằng việc giảm còn 20% kích thước file cũng xứng đáng. Ngoài ra cài đặt lại hệ thống có khi phải mất vài ngày mới có được hệ thống hoạt động như cũ. Backup là giải pháp an toàn.

File ảnh có thể lưu trữ hay ghi lên thẻ nhớ cấp cứu. Đĩa ghi từ file ảnh này có thể boot và hoạt động bình thường. Có thể dùng Raspberry Pi Imager ghi từ file img sang đĩa mới hay rsync boot, rootfs đĩa cấp cứu sang đĩa hỏng, khi đó chỉ cần chép đè các file cmdline.txt.orgfstab.org lên cmdline.txt và fstab là restore xong trong một phút.

Một cách dẽ dàng đễ làm việc với file img là dùng img.edit, không cần ghi file ảnh ra thẻ nhớ/HDD/SSD

Màn hình hoạt động của script

~# ./os.backup2 -p /media -t /media -z xz
Tính dung lượng file ảnh: 3679 MB
Tạo file ảnh /media/2022-07-07.538-DLNA.img: xong

Gắn đĩa ảo vào RPi: /dev/loop0

Phân vùng đĩa ảo: xong
Định dạng đĩa ảo: xong

Sao lưu phân vùng boot:
     31,470,457 100%   26.88MB/s    0:00:01 (xfr#289, to-chk=0/291)

Sao lưu phân vùng root:
  3,060,262,003  99%   19.56MB/s    0:02:29 (xfr#49199, to-chk=0/63291)

Kiểm tra đĩa ão:
*** /dev/loop0p1:fsck.fat 4.2 (2021-01-31)
/dev/loop0p1: 292 files, 61655/516188 clusters
*** /dev/loop0p2:e2fsck 1.46.2 (28-Feb-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
rootfs: 63301/219024 files (0.2% non-contiguous), 817536/876032 blocks

Nén file ảnh (.xz):
/media/2022-07-07.538-DLNA.img (1/1)
  100 %     747.6 MiB / 3,679.0 MiB = 0.203   2.9 MiB/s      21:18
Sao lưu vào /media/2022-07-07.538-DLNA.img, 3679 MB data, trong 2 phút và 43 giây!
Nén file trong 21 phút và 20 giây, dung lượng file nén 748M

# --> Nén bằng pzstd (level 10/19)
Nén file ảnh (.zst):
                                                                     /media/2022-07-11.538-DLNA.img : 26.34%   (3862953984 => 1017361536 bytes, /media/2022-07-11.538-DLNA.img.zst)

Sao lưu vào /media/2022-07-11.538-DLNA.img, 3684 MB data, trong 2 phút và 21 giây!
Nén file trong 4 phút và 30 giây, kích thước file nén 971M

# --> Nén bằng pigz
Nén file ảnh (.gz):
3.60GiB 0:04:54 [12.5MiB/s] [===============================================>] 100%

Sao lưu vào /media/2022-07-11.538-DLNA.img, 3684 MB data, trong 2 phút và 37 giây!
Nén file trong 4 phút và 55 giây, kích thước file nén 1.1G

os.backup2 khác os.backup ở các tham số -b -r và -t

Comments Off on Sao lưu piOS thành file ảnh nén (2)

Filed under Software

Comments are closed.