Trong thế giới POSIX, các tệp thường có ba dấu thời gian cơ bản:
Dấu thời gian | Bí danh | Sự miêu tả |
Truy cập | lúc nào đó | Truy cập dấu thời gian của lần đọc cuối cùng. |
Thay đổi | thời gian | Dấu thời gian thay đổi trạng thái của lần cập nhật cuối cùng vào siêu dữ liệu của tệp. |
Biến đổi | thời gian | Dấu thời gian sửa đổi của lần ghi cuối cùng. |
Những dấu thời gian này có thể dễ dàng được xem từ nhiều công cụ và tiện ích hệ thống tệp khác nhau. Ví dụ, trong trường hợp này, hãy chạy ‘stat’ từ OneFS CLI:
# stat -x tstr Tập tin: "tstr" Kích thước: 0 Loại tệp: Tệp thông thường Chế độ: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ wheel) Thiết bị: 18446744073709551611,18446744072690335895 Inode: 5103485107 Liên kết: 1 Truy cập: Thứ Hai 11 tháng 9 23:12:47 2023 Sửa đổi: Thứ Hai 11 tháng 9 23:12:47 2023 Thay đổi: Thứ Hai ngày 11 tháng 9 23:12:47 2023
Một trường hợp điển hình của sự thay đổi hoặc cập nhật dấu thời gian “ctime” xảy ra khi quyền truy cập của tệp bị thay đổi. Vì việc sửa đổi các quyền không mở tệp theo cách vật lý (tức là truy cập dữ liệu của tệp), nên trường “atime” của tệp không được cập nhật. Tương tự như vậy, vì không có sửa đổi nào được thực hiện đối với nội dung của tệp nên “mtime” cũng không thay đổi. Tuy nhiên, siêu dữ liệu của tệp đã bị thay đổi và trường ctime được sử dụng để ghi lại sự kiện này. Do đó, dấu “ctime” cho phép quy trình công việc như ứng dụng sao lưu biết để tạo một bản sao mới của tệp, bao gồm cả các giá trị quyền đã cập nhật của tệp. Tương tự như vậy, đổi tên tệp là một hoạt động khác sửa đổi mục nhập “ctime” của tệp mà không ảnh hưởng đến các dấu thời gian khác.
Một số hệ thống tệp khác cũng bao gồm dấu thời gian thứ tư: cụ thể là “thời gian sinh” khi tệp được tạo. Thời gian sinh (theo định nghĩa) không bao giờ được thay đổi. Đây cũng là một thuộc tính mà các tổ chức và quản trị viên lưu trữ của họ có thể hoặc không quan tâm.
Trong phạm vi hệ thống tệp Windows, dấu thời gian “thời gian sinh” này được gọi một cách trìu mến là “ngày tạo”. Ngày tạo của tệp về cơ bản là ngày và giờ khi inode của tệp được “sinh ra”.
Lưu ý: đây không phải là thuộc tính POSIX được công nhận, như ctime hoặc mtime, mà là thứ được giới thiệu như một phần của yêu cầu tương thích với Windows. Và, vì đây là birthtime, các hoạt động liên kết không nhất thiết ảnh hưởng đến nó trừ khi không tạo inode mới.
Như được hiển thị bên dưới, ngày tạo hoặc ngày sinh này có thể khác với ngày sửa đổi hoặc ngày truy cập của tệp vì ngày tạo là ngày phiên bản inode của tệp đó bắt đầu. Vì vậy, ví dụ, nếu một tệp được sao chép, ngày tạo tệp mới sẽ được đặt thành thời gian hiện tại vì tệp có inode mới. Điều này có thể thấy trong ví dụ sau, trong đó tệp được sao chép từ ổ đĩa flash được gắn trên hệ thống tệp của máy khách Windows dưới ổ đĩa “E:”, đến chia sẻ SMB của cụm được gắn tại ổ đĩa “Z:”.
Ngày “Ngày tạo” ở trên sớm hơn cả ngày “đã truy cập” và “đã sửa đổi”, vì hai ngày sau chỉ được thừa hưởng từ tệp nguồn, trong khi ngày tạo được đặt khi bản sao được tạo.
Đầu ra CLI “date”, “stat” và “isi get” tương ứng từ cụm xác nhận điều này:
# thống kê TEST.txt 18446744072690400151 5103485107 -rw------- 1 bánh xe gốc 18446744073709551615 0 "11 tháng 9 23:12:47 2023" "11 tháng 9 23:12:47 2023" "11 tháng 9 23:12:47 2023" "11 tháng 9 23:12:47 2023" 8192 48 0xe0 tstr # isi lấy -Dd TEST.txt CHÍNH SÁCH W CẤP ĐỘ HIỆU SUẤT THAN MÃ HÓA TỆP IADDRS mặc định 16+2/2 đồng thời trên UTF-8 tstr <34,12,58813849600:8192>, <35,3,58981457920:8192>, <69,12,57897025536:8192> ct: 1694473967 rt: 0 ************************************************* * IFS inode: [ 34,12,58813849600:8192, 35,3,58981457920:8192, 69,12,57897025536:8192 ] ************************************************* * * Phiên bản Inode: 8 * Phiên bản Dir: 2 * Phiên bản Inode: 1 * Số lượng gương Inode: 3 * Cờ đã phục hồi: 0 * Trạng thái sọc lại: 0 * Số lượng liên kết: 1 * Kích thước: 0 * Chế độ: 0100600 * Cờ: 0xe0 * SmartLinked: Sai * Khối vật lý: 0 * Khối dữ liệu vật lý: 0 * Khối bảo vệ: 0 * LẮP: 1:3031:00b3 * Kích thước logic: 0 * Tham chiếu bóng tối: 0 * Không loại bỏ trùng lặp: 0 * Trong số liệu thống kê CST: Sai * Lần sửa đổi cuối: 1694473967.071973000 * Lần thay đổi Inode cuối cùng: 1694473967.071973000 * Thời gian tạo: 1694473967.071973000 * Đổi tên thời gian: 0 <cắt>
Trong các bản phát hành trước OneFS 9.5, khi một tệp được sao chép, ngày tạo của tệp đó được đóng dấu thời gian khi tệp đó được sao chép từ cụm nguồn. Điều này có nghĩa là khi tác vụ sao chép chạy hoặc cụ thể hơn là khi luồng công việc riêng lẻ xử lý tệp cụ thể đó.
Ngược lại, OneFS 9.5 và các phiên bản sau đó đảm bảo rằng SyncIQ sao chép đầy đủ mảng siêu dữ liệu, bảo toàn mọi giá trị, bao gồm cả thời gian sinh/ngày tạo.
Cân nhắc chính cho chức năng tạo ngày mới là nó yêu cầu cả cụm nguồn và cụm đích trong bộ sao chép phải chạy OneFS 9.5 trở lên.
Nếu nguồn hoặc đích chạy mã trước phiên bản 9.5, trường thời gian này vẫn giữ nguyên hành vi cũ là được đặt thành thời điểm sao chép (tạo tệp thực tế) thay vì giá trị chính xác được liên kết với tệp nguồn.
Trong OneFS 9.5 và các phiên bản sau đó, việc tạo dấu thời gian ngày hoạt động theo cùng một cách chính xác như sao chép SyncIQ của siêu dữ liệu khác (chẳng hạn như “mtime”, v.v.), diễn ra tự động như một phần của mọi bản sao tệp. Thêm vào đó, không cần cấu hình bổ sung nào ngoài việc nâng cấp cả hai cụm lên OneFS 9.5 trở lên.
Một điều quan trọng khác cần lưu ý về tính năng này là SyncIQ dựa trên danh sách thay đổi, sử dụng ảnh chụp nhanh OneFS để kiểm tra điểm kiểm tra và so sánh delta. Điều này có nghĩa là nếu mối quan hệ sao chép đã được cấu hình trước khi nâng cấp lên OneFS 9.5 hoặc phiên bản mới hơn, thì cụm nguồn sẽ có dữ liệu thời gian sinh hợp lệ, nhưng dữ liệu thời gian sinh của cụm đích sẽ phản ánh thời gian tạo cục bộ của các tệp được sao chép.
Lưu ý: rằng, khi nâng cấp cả hai bên lên OneFS 9.5 trở lên và chạy tác vụ SyncIQ, sẽ không có gì thay đổi. Điều này là do SyncIQ sẽ thực hiện so sánh ảnh chụp nhanh, xác định rằng không có thay đổi nào được thực hiện đối với tập dữ liệu và do đó sẽ không thực hiện bất kỳ công việc sao chép nào. Tuy nhiên, nếu một tệp nguồn bị “chạm” khiến mtime của tệp đó bị thay đổi (hoặc bất kỳ hành động nào khác được thực hiện sẽ gây ra lệnh sao chép khi ghi hoặc CoW) thì tệp đó sẽ hiển thị trong snapshot diff và do đó sẽ được sao chép. Là một phần của việc sao chép tệp đó, thời gian sinh chính xác sẽ được ghi vào mục tiêu.
Lưu ý: rằng một bản sao (lại) đồng bộ hóa đầy đủ không được kích hoạt do việc nâng cấp một cặp cụm sao chép lên OneFS 9.5 trở lên và do đó kích hoạt chức năng này. Thay vào đó, bất kỳ giải pháp dấu thời gian ngày tạo nào cũng xảy ra một cách ngẫu nhiên và ở chế độ nền khi các tệp được chạm vào hoặc sửa đổi – và do đó được sao chép. Hãy lưu ý rằng ‘chạm vào’ một tệp sẽ thay đổi thời gian sửa đổi của tệp đó, ngoài việc cập nhật ngày tạo, điều này có thể không mong muốn.
Tác giả : Nick Trimbee
Bài viết mới cập nhật
Nhà cung cấp đám mây được CloudPools hỗ trợ
Tính năng Dell PowerScale CloudPools của OneFS cho phép phân tầng, ...
Hiểu về các tùy chọn triển khai InsightIQ 5.0.0: Đơn giản so với mở rộng quy mô
Tổng quan InsightIQ 5.0.0 giới thiệu hai tùy chọn triển khai ...
Làm chủ việc giám sát và báo cáo với InsightIQ 5.0.0
Tổng quan Trong bối cảnh phức tạp của quản lý dữ ...
Cảnh báo trong IIQ 5.0.0 – Phần II
Bài đăng trước của tôi đã giới thiệu một trong những ...