Tạo file ảnh backup Raspbian

Chúng ta sẽ tạo file ảnh backup của Raspbian đang dùng bằng các lệnh có sẳn theo 2 cách.

Cách 1

Cách đơn giản nhất là update file ảnh cài đặt Raspbian của raspberry.org

Giả sử file ảnh được giải nén ở thư mục /tmplite.img

Có thể nhìn thấy các partition trong file lite.img qua câu lệnh

sudo fdisk -l /tmp/lite.img

  • B1. Chúng ta sẽ ghép các partition trong lite.img thành các thiết bị của RPi qua câu lệnh
sudo losetup -P --show -f /tmp/lite.img
/dev/loop0 

Câu lệnh trên trả lại tên đĩa ảo là loop0. Các partition tương ứng là loop0p1loop0p2.

Có thể xem tên các partition đĩa ảo qua câu lệnh

lsblk

Khi đó rootfs được gán tên thiết bị /dev/loop0p2.

  • B2. Có thể mount rootfs vào /media/rootfs
mkdir /media/rootfs
sudo mount /dev/loop0p2 /media/rootfs
  • B3. Sau đó sync nội dung của root hiện hành vào /media/rootfs
sudo rsync -avx --delete / /media/rootfs
  • B4. Cuối cùng umount /media/rootfs và tháo đĩa ảo ra. File ảnh đã được cập nhật.
sudo umount /media/rootfs
sudo losetup -d /dev/loop0

Tiếp tục tương tự từ bước B2 cho partition boot nếu cần.

Cách 2

Dùng file ảnh Raspbian có điểm bất tiện là nếu không dùng hết dung lượng đĩa ảo thì file img lớn không cần thiết hoặc nếu dung lượng đĩa ảo không đủ thì không thể sync rootfs.

  • B0.1. Tốt nhất là chúng ta tự tính toán để tạo file ảnh có dung lượng đủ dùng.
df -h

Lệnh này cho thấy dung lượng của /dev/root (8.4GB). Thêm boot partition và partition table nữa, ta làm tròn 9GB (Dùng –exclude/–exclude-from để chỉ định file/thư mục không cần backup)

  • B0.2. Tạo file ảnh rỗng dung lượng 9GB như sau
sudo dd if=/dev/zero of=/tmp/backup.img bs=9M count=1024
  • B0.3. Tiếp theo dùng fdisk để tạo 2 partition bootrootfs
sudo fdisk /tmp/backup.img

n để tạo partition mới, chấp nhận mặc đinh trừ size+200M. Gõ t để chọn kiểu partition là c. Partition thứ 2 chấp nhận mặc định tất cả. Xong gõ w để ghi vào file ảnh.

Sau đó, ghép thành thiết bị của RPi qua câu lệnh ở B1

sudo losetup -P --show -f /tmp/backup.img
  • B0.4. Và format các partition /dev/loop0p1 kiểu fat32/dev/loop0p2 kiểu ext4
sudo mkfs.fat -F32 /dev/loop0p1
sudo mkfs.ext4 /dev/loop0p2

Tiếp tục các bước từ B2 cho cả 2 partition

Chú thích

Khi tạo partition cho file ảnh thì PARTUUID cũng được tạo mới. Để backup toàn vẹn thì phải sửa UUID cho giống với đĩa rootfs (xem bài sau)

Comments Off on Tạo file ảnh backup Raspbian

Filed under Software

Comments are closed.