28/01/2025
Quản lý VPS Linux, việc tạo bản sao đĩa (disk cloning) là một nhiệm vụ cực kỳ quan trọng để bảo vệ dữ liệu. Nhờ tạo bản sao đĩa mà ta dễ dàng khôi phục lại hệ thống khi cần thiết. Một trong những công cụ mạnh mẽ và hiệu quả nhất để thực hiện việc này là lệnh dd. Vậy sử dụng lệnh dd trên VPS Linux để tạo bản sao đĩa như thế nào? Cùng Enode tìm hiểu qua bài viết sau.
Lệnh dd
là một công cụ dòng lệnh trong Linux/Unix. dd cho phép sao chép và chuyển đổi dữ liệu giữa các thiết bị hoặc tệp. Giúp bạn tạo bản sao chính xác của toàn bộ ổ đĩa hoặc phân vùng. Khác với các lệnh sao chép tệp thông thường như cp
, dd
sao chép dữ liệu ở mức độ thấp, byte-by-byte. Điều này giúp bạn sao chép hoàn hảo dữ liệu của một ổ đĩa sang một ổ đĩa khác, bao gồm cả các phân vùng, bootloader, và hệ thống tệp.
Có nhiều lệnh để tạo bản sao đĩa, tuy nhiên sử dụng lệnh dd trên VPS Linux dể tạo bản sao đĩa được lựa chọn phổ biến vì:
Lệnh dd
sao chép dữ liệu byte-by-byte, giúp tạo ra một bản sao chính xác của ổ đĩa, bao gồm cả các phân vùng ẩn và dữ liệu không thể nhìn thấy từ hệ thống tệp.
Khi gặp sự cố, bản sao đĩa được tạo ra bằng lệnh dd
có thể được sử dụng để khôi phục hệ thống một cách nhanh chóng, giảm thiểu thời gian gián đoạn.
Bạn có thể sao chép toàn bộ hệ thống, bao gồm các tệp hệ thống, cài đặt, và cấu hình của VPS mà không cần phải cài đặt lại từ đầu.
=> Xem thêm: Theo dõi CPU, RAM, Disk trên VPS Linux với lệnh Sar
Cú pháp cơ bản của lệnh dd
để sao chép dữ liệu từ một ổ đĩa sang ổ đĩa khác là:
dd if=<input_file_or_device> of=<output_file_or_device> bs=<block_size> conv=noerror,sync
Trong đó:
if=<input_file_or_device>
: Tệp hoặc thiết bị nguồn (input file/device).of=<output_file_or_device>
: Tệp hoặc thiết bị đích (output file/device).bs=<block_size>
: Kích thước khối dữ liệu, ảnh hưởng đến hiệu suất sao chép.conv=noerror,sync
: Tùy chọn này giúp lệnh bỏ qua lỗi khi gặp phải và đảm bảo sao chép dữ liệu đầy đủ (sync)./dev/sda
sang /dev/sdb
Nếu bạn muốn sao chép toàn bộ đĩa /dev/sda
vào đĩa /dev/sdb
, bạn có thể sử dụng lệnh sau:
dd if=/dev/sda of=/dev/sdb bs=64K status=progress
Trong đó:
/dev/sda
là đĩa nguồn./dev/sdb
là đĩa đích.64K
là kích thước khối dữ liệu trong một lần đọc/ghi.Nếu bạn muốn tạo một bản sao (image) của đĩa /dev/sda
và lưu nó thành tệp ảnh backup.img
, bạn có thể sử dụng lệnh sau:
dd if=/dev/sda of=/path/to/backup.img bs=64K status=progress
Lệnh này sẽ tạo một tệp ảnh có tên là backup.img
chứa bản sao của đĩa /dev/sda
.
Nếu bạn đã có một tệp ảnh (image) của đĩa. Ví dụ backup.img
, và muốn khôi phục nó vào đĩa /dev/sda
, bạn có thể sử dụng lệnh sau:
dd if=/path/to/backup.img of=/dev/sda bs=64K status=progress
Lệnh này sẽ ghi tệp ảnh backup.img
vào đĩa /dev/sda
, khôi phục lại tất cả dữ liệu, phân vùng, và cấu trúc của đĩa ban đầu.
Khi sao chép đĩa, việc lựa chọn kích thước khối (bs) phù hợp sẽ ảnh hưởng đáng kể đến hiệu suất của lệnh dd. Kích thước khối quá nhỏ có thể làm tăng số lần đọc/ghi, dẫn đến hiệu suất thấp. Ngược lại, kích thước khối quá lớn có thể gây tắc nghẽn và ảnh hưởng đến bộ nhớ. Thông thường, kích thước khối 64K đến 1M là lựa chọn hợp lý trong hầu hết các trường hợp.
sync
để đảm bảo sao chép chính xácNếu bạn muốn sao chép đĩa mà không bị mất bất kỳ byte nào, bạn có thể thêm tham số sync
vào lệnh dd
. Tham số này sẽ đảm bảo rằng mọi khối không đầy sẽ được điền bằng các byte null (0), giúp sao chép chính xác hơn.
dd if=/dev/sda of=/path/to/backup.img bs=64K status=progress conv=sync
noerror
để bỏ qua lỗi đọcKhi sao chép dữ liệu từ đĩa, đôi khi có thể gặp phải các lỗi đọc. Nếu bạn không muốn quá trình sao chép bị gián đoạn vì lỗi này, bạn có thể sử dụng tham số noerror
, cho phép lệnh dd
bỏ qua các lỗi đọc và tiếp tục sao chép.
dd if=/dev/sda of=/path/to/backup.img bs=64K status=progress conv=noerror
=> Xem thêm: Htop là gì? Giám sát tài nguyên VPS Linux với lệnh Htop
Sau khi mua VPS và sử dụng chắc hẳn bạn sẽ có nhiều dữ liêu vô cùng quan trọng trong VPS. Khi sử dụng lệnh dd
, nếu bạn không chú ý và chọn nhầm thiết bị đích, toàn bộ dữ liệu trên thiết bị đó sẽ bị ghi đè mà không có cảnh báo. Vậy nên bạn cần kiểm tra kỹ trước khi thực thi lệnh để tránh bị mất dữ liệu quan trọng trên VPS hoặc mất cấu trúc phân vùng và hệ thống tệp, hay khó khôi phục dữ liệu.
Hãy chắc chắn rằng thiết bị đích có đủ không gian để chứa toàn bộ dữ liệu từ thiết bị nguồn.
Vì lệnh dd
không hiển thị tiến trình sao chép theo mặc định, hãy sử dụng status=progress
để theo dõi quá trình sao chép.
Tùy thuộc vào dung lượng đĩa và tốc độ của VPS, quá trình sao chép có thể mất một khoảng thời gian khá dài.
Lệnh dd
là một công cụ rất mạnh mẽ để tạo bản sao đĩa trên VPS Linux. Với khả năng sao chép chính xác từng byte dữ liệu, lệnh này giúp bảo vệ dữ liệu và dễ dàng khôi phục lại hệ thống khi cần thiết. Tuy nhiên, bạn cần sử dụng lệnh này một cách cẩn thận, vì một sai sót nhỏ có thể dẫn đến việc mất dữ liệu. Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về cách sử dụng lệnh dd trên VPS Linux một cách hiệu quả.
Enode.vn là dịch vụ cung cấp máy chủ ảo VPS, Proxy datacener, Poxy dân cư, Social Growth.
© 2021 Bản quyền thuộc về ENODE.VN