Giới thiệu
Trong lab này, chúng ta sẽ khám phá lệnh sync
của Linux và các ứng dụng thực tế của nó để quản lý dữ liệu hệ thống tệp. Lệnh sync
được sử dụng để đồng bộ hóa dữ liệu giữa bộ nhớ và các thiết bị lưu trữ, đảm bảo rằng tất cả các sửa đổi được lưu trong bộ đệm được ghi vào phương tiện lưu trữ cơ bản. Chúng ta sẽ học cách sử dụng lệnh sync
để đồng bộ hóa dữ liệu hệ thống tệp và xác minh tính hiệu quả của nó. Lab này được thiết kế để giúp bạn hiểu tầm quan trọng của lệnh sync
trong việc duy trì tính toàn vẹn và độ tin cậy của dữ liệu hệ thống tệp của bạn.
Tìm hiểu Mục đích của Lệnh sync
Trong bước này, chúng ta sẽ khám phá mục đích của lệnh sync
trong Linux. Lệnh sync
được sử dụng để đồng bộ hóa dữ liệu giữa bộ nhớ và các thiết bị lưu trữ, đảm bảo rằng tất cả các sửa đổi được lưu trong bộ đệm được ghi vào phương tiện lưu trữ cơ bản.
Khi bạn thực hiện thay đổi đối với các tệp hoặc thư mục, hệ điều hành thường lưu trữ các thay đổi này trong bộ nhớ trước khi ghi chúng vào đĩa. Điều này có thể cải thiện hiệu suất, nhưng nó cũng có nghĩa là dữ liệu trong bộ nhớ có thể không phản ánh ngay lập tức trạng thái thực tế của thiết bị lưu trữ. Lệnh sync
buộc hệ điều hành ghi tất cả các sửa đổi được lưu trong bộ đệm vào đĩa, đảm bảo rằng dữ liệu trên đĩa được cập nhật.
Hãy bắt đầu bằng cách chạy lệnh sync
trong terminal:
sudo sync
Ví dụ đầu ra:
No output
Như bạn có thể thấy, lệnh sync
không tạo ra bất kỳ đầu ra nào khi được thực thi thành công. Điều này là do nó chỉ đơn giản thực hiện thao tác đồng bộ hóa mà không hiển thị bất kỳ thông báo nào.
Lệnh sync
thường được sử dụng trong nhiều tình huống khác nhau, chẳng hạn như:
- Trước khi tắt hoặc khởi động lại hệ thống, để đảm bảo rằng tất cả dữ liệu được ghi an toàn vào đĩa.
- Trước khi hủy gắn kết một hệ thống tệp, để ngăn ngừa mất dữ liệu.
- Trước khi thực hiện thao tác sao lưu hoặc snapshot, để nắm bắt trạng thái hiện tại của hệ thống tệp.
- Khi xử lý dữ liệu quan trọng cần được ghi ngay lập tức vào đĩa, thay vì dựa vào bộ đệm của hệ điều hành.
Bằng cách hiểu mục đích của lệnh sync
, bạn có thể đảm bảo tính toàn vẹn và độ tin cậy của dữ liệu hệ thống tệp của bạn trong nhiều tình huống khác nhau.
Đồng bộ hóa Dữ liệu Hệ thống Tệp bằng Lệnh sync
Trong bước này, chúng ta sẽ học cách sử dụng lệnh sync
để đồng bộ hóa dữ liệu hệ thống tệp.
Đầu tiên, hãy tạo một tệp mới trong thư mục ~/project
:
touch ~/project/test_file.txt
Bây giờ, hãy thực hiện một số thay đổi đối với tệp:
echo "This is a test file." > ~/project/test_file.txt
Để xác minh rằng các thay đổi chỉ ở trong bộ nhớ và chưa được ghi vào đĩa, chúng ta có thể sử dụng lệnh ls -l
để kiểm tra thời gian sửa đổi của tệp:
ls -l ~/project/test_file.txt
Ví dụ đầu ra:
-rw-r--r-- 1 labex labex 20 Apr 24 12:34 ~/project/test_file.txt
Lưu ý thời gian sửa đổi, có thể không phản ánh những thay đổi gần đây mà chúng ta đã thực hiện.
Bây giờ, hãy sử dụng lệnh sync
để đồng bộ hóa dữ liệu hệ thống tệp:
sudo sync
Sau khi chạy lệnh sync
, hãy kiểm tra lại thời gian sửa đổi của tệp:
ls -l ~/project/test_file.txt
Ví dụ đầu ra:
-rw-r--r-- 1 labex labex 20 Apr 24 12:35 ~/project/test_file.txt
Bạn có thể thấy rằng thời gian sửa đổi đã được cập nhật, cho biết rằng các thay đổi đã được ghi vào đĩa.
Lệnh sync
đảm bảo rằng tất cả các sửa đổi được lưu trong bộ đệm được đẩy xuống phương tiện lưu trữ cơ bản, làm cho dữ liệu hệ thống tệp nhất quán với trạng thái trong bộ nhớ.
Xác minh Tính hiệu quả của Lệnh sync
Trong bước cuối cùng này, chúng ta sẽ xác minh tính hiệu quả của lệnh sync
bằng cách mô phỏng sự cố hệ thống và quan sát hành vi của hệ thống tệp.
Đầu tiên, hãy tạo một tệp mới trong thư mục ~/project
:
touch ~/project/important_data.txt
Bây giờ, hãy thêm một số nội dung vào tệp:
echo "This is important data that needs to be preserved." > ~/project/important_data.txt
Để mô phỏng sự cố hệ thống, chúng ta có thể sử dụng lệnh echo
để kích hoạt kernel panic, điều này sẽ buộc hệ thống khởi động lại:
sudo sh -c "echo c > /proc/sysrq-trigger"
Sau khi hệ thống khởi động lại, hãy kiểm tra nội dung của tệp important_data.txt
:
cat ~/project/important_data.txt
Ví dụ đầu ra:
This is important data that needs to be preserved.
Như bạn có thể thấy, nội dung của tệp đã được giữ nguyên, ngay cả sau khi sự cố hệ thống được mô phỏng. Điều này là do lệnh sync
mà chúng ta đã thực thi trong bước trước đảm bảo rằng dữ liệu hệ thống tệp đã được đồng bộ hóa với phương tiện lưu trữ cơ bản trước khi hệ thống ngừng hoạt động.
Nếu chúng ta không sử dụng lệnh sync
, sẽ có nguy cơ mất dữ liệu hoặc hỏng dữ liệu, vì những thay đổi trong bộ nhớ có thể chưa được ghi vào đĩa trước khi hệ thống gặp sự cố.
Bằng cách xác minh tính hiệu quả của lệnh sync
, bạn có thể đảm bảo rằng dữ liệu hệ thống tệp của bạn được đồng bộ hóa đúng cách và được bảo vệ khỏi các lỗi hệ thống bất ngờ.
Tóm tắt
Trong lab này, trước tiên chúng ta đã khám phá mục đích của lệnh sync
trong Linux, lệnh này được sử dụng để đồng bộ hóa dữ liệu giữa bộ nhớ và các thiết bị lưu trữ. Chúng ta đã học được rằng lệnh sync
buộc hệ điều hành ghi tất cả các sửa đổi được lưu trong bộ đệm vào đĩa, đảm bảo rằng dữ liệu trên đĩa được cập nhật. Điều này rất quan trọng trong nhiều tình huống khác nhau, chẳng hạn như trước khi tắt hoặc khởi động lại hệ thống, hủy gắn kết một hệ thống tệp hoặc thực hiện thao tác sao lưu hoặc snapshot.
Tiếp theo, chúng ta đã trình bày cách sử dụng lệnh sync
để đồng bộ hóa dữ liệu hệ thống tệp. Chúng ta đã tạo một tệp mới, thực hiện các thay đổi đối với nó, và sau đó sử dụng lệnh sync
để đảm bảo rằng các thay đổi đã được ghi vào đĩa. Điều này giúp duy trì tính toàn vẹn và độ tin cậy của dữ liệu hệ thống tệp.