HƯỚNG DẪN Tạo disk image với dd trên Linux hoặc Unix

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 6/12/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    Làm thế nào để tạo ra disk image bằng lệnh dd? Làm thế nào thực hiện cloning đĩa từ một đĩa live CD Linux cho mục đích sao lưu hoặc phục hồi?

    Bạn có thể dễ dàng sử dụng lệnh dd để làm cho image của một phân vùng hoặc các ổ đĩa cứng đầy đủ.
    Một dd image là gì?
    Disk cloning chỉ là một quá trình đơn thuần tạo ra một image của toàn bộ đĩa. Điều này có thể hữu ích cho việc sao chép đĩa, sao lưu, phục hồi và nhiều hơn nữa. Lệnh dd rất dễ dàng để sử dụng.

    Cảnh báo: Bạn phải rất cẩn thận khi sử dụng lệnh dd; nó có thể phá hủy dữ liệu. Nhớ thứ tự các tập tin đầu vào (if=) và tập tin đầu ra (of =).

    Làm thế nào để clone toàn bộ đĩa cứng
    Cú pháp là:
    Mã:
    dd if=/dev/input/DEVICE-HERE of=/dev/OUTPUT/DEVICE-HERE bs=64K conv=noerror,sync
    
    Để clone /dev/sdc (250G) đến /dev/sdd (250G) trong Linux, hãy nhập:
    Mã:
     dd if=/dev/sdc of=/dev/sdd bs=64K conv=noerror,sync 
    Để clone /dev/ada0 (250G) đến /dev/adb0 (250G) trong FreeBSD, hãy nhập:
    Mã:
     dd if=/dev/ada0 of=/dev/adb0 bs=64K conv=noerror,sync 
    Giải thích
    • if = /dev/file: Đầu vào thiết bị/tập tin.
    • of = /dev/file: Đầu ra thiết bị/tập tin.
    • bs = 64k: Đặt kích thước khối tới 64k. Bạn có thể sử dụng 128k hoặc bất kỳ giá trị khác.
    • conv = noerror: Cho phép dd để tiếp tục hoạt động, bỏ qua tất cả các lỗi đọc dữ liệu.
    • sync: Thêm khối đầu vào với zero nếu có bất kỳ lỗi đọc dữ liệu, vì vậy hiệu số dữ liệu ở trong đồng bộ.
    Làm thế nào để clone một phân vùng
    Để clone /dev/sdc1 đến /dev/sdd1, hãy nhập:
    Mã:
     dd if=/dev/sdc1 of=/dev/sdd1 bs=128K conv=noerror,sync 
    Ví dụ kết quả đầu ra:
    Mã:
    15874+0 records in
    15873+0 records out
    1040252928 bytes transferred in 3.805977 secs (273320858 bytes/sec)
    
    dd make disk image
    Bạn có thể khởi động từ live cd. Khi khởi động, đảm bảo không phân vùng nào được gắn kết từ nguồn ổ đĩa cứng. Bạn có thể lưu trữ disk image trên một ổ đĩa USB bên ngoài. Cú pháp như sau:
    Mã:
    dd if=/dev/INPUT/DEVICE-NAME-HERE conv=sync,noerror bs=64K | gzip -c > /path/to/my-disk.image.gz
    
    Trong ví dụ này, tạo disk image cho /dev/da0 có nghĩa là cloning /dev/da0 và lưu trong thư mục hiện hành:
    Mã:
     dd if=/dev/da0 conv=sync,noerror bs=128K | gzip -c > centos-core-7.gz 
    Ví dụ kết quả đầu ra:
    Mã:
    29184+0 records in
    29184+0 records out
    30601641984 bytes transferred in 2149.222297 secs (14238472 bytes/sec)
    
    Lệnh trên sẽ clone toàn bộ đĩa cứng, bao gồm MBR, bootloader, tất cả các phân vùng, UUIDs, và dữ liệu.

    Làm thế nào để khôi phục hệ thống (dd image)
    Cú pháp là:
    Mã:
     gunzip -c IMAGE.HERE-GZ | dd of=/dev/OUTPUT/DEVICE-HERE 
    Ví dụ:
    Mã:
     gunzip -c centos-core-7.gz | dd of=/dev/da0 
     

Chia sẻ trang này

Đang tải...