Nếu bạn sẽ làm liên kết cứng, hãy chú ý đến quyền trên tệp đó. Thông báo, chủ sở hữu, nhóm, chế độ, thuộc tính mở rộng, thời gian và ACL (nếu bạn sử dụng) được lưu trữ trong INODE. Chỉ tên tệp là khác nhau vì điều này được lưu trữ trong cấu trúc thư mục và các điểm khác cho thuộc tính INODE. Nguyên nhân này, tất cả các tên tệp được liên kết với cùng một nút, có cùng quyền truy cập. Bạn nên ngăn chặn sửa đổi tập tin đó, bởi vì bất kỳ người dùng nào cũng có thể làm hỏng tập tin khác. Nó đơn giản. Nó là đủ, bất kỳ người dùng đặt tập tin khác trong cùng một tên. Số inode sau đó được lưu và nội dung tệp gốc bị hủy (thay thế) cho tất cả các tên liên kết cứng.
Cách tốt hơn là sự trùng lặp trên lớp hệ thống tập tin. Bạn có thể sử dụng BTRFS (rất phổ biến thời gian qua), OCFS hoặc như thế này. Nhìn vào trang: https://en.wikipedia.org/wiki/Comparison_of_file_systems , đặc biệt tại bảng Tính năng và sao chép dữ liệu cột. Bạn có thể nhấp vào nó và sắp xếp :)
Đặc biệt nhìn vào hệ thống tập tin ZFS. Cái này có sẵn dưới dạng FUSE, nhưng theo cách này thì nó rất chậm. Nếu bạn muốn hỗ trợ riêng, hãy xem trang http://zfsonlinux.org/ . Sau đó, bạn phải vá kernel và cài đặt công cụ zfs tiếp theo để quản lý. Tôi không hiểu, tại sao linux không hỗ trợ như trình điều khiển, đó là cách cho nhiều hệ điều hành / hạt nhân khác.
Hệ thống tệp hỗ trợ sao chép bằng 2 cách, sao chép tệp hoặc chặn. ZFS hỗ trợ khối. Điều này có nghĩa, cùng một nội dung lặp lại trong cùng một tệp có thể được lặp lại. Một cách khác là thời gian khi dữ liệu bị trùng lặp, điều này có thể là trực tuyến (zfs) hoặc ngoại tuyến (btrfs).
Lưu ý, sự trùng lặp tiêu tốn RAM. Đây là lý do tại sao việc ghi tệp vào khối lượng ZFS được gắn với FUSE, gây ra hiệu suất chậm đáng kể. Điều này được mô tả trong tài liệu. Nhưng bạn có thể trực tuyến thiết lập bật / tắt sự trùng lặp về âm lượng. Nếu bạn thấy bất kỳ dữ liệu nào cần được sao chép, bạn chỉ cần đặt sao chép vào, viết lại một số tệp thành bất kỳ tạm thời và cuối cùng thay thế. sau này, bạn có thể tắt sự trùng lặp và khôi phục hiệu suất đầy đủ. Tất nhiên, bạn có thể thêm vào lưu trữ bất kỳ đĩa bộ nhớ cache. Đây có thể là đĩa quay rất nhanh hoặc đĩa SSD. Tất nhiên đây có thể là đĩa rất nhỏ. Trong công việc thực tế, đây là sự thay thế cho RAM :)
Trong linux, bạn nên chăm sóc ZFS vì không phải tất cả đều hoạt động như bình thường, đặc biệt khi bạn quản lý hệ thống tập tin, tạo ảnh chụp nhanh, v.v. nhưng nếu bạn cấu hình và không thay đổi nó, tất cả đều hoạt động bình thường. Theo cách khác, bạn nên thay đổi linux thành opensolaris, nó thực sự hỗ trợ ZFS :) Điều rất hay với ZFS là, điều này hoạt động cả dưới dạng hệ thống tập tin và trình quản lý volum tương tự LVM. Bạn không cần nó khi bạn sử dụng ZFS. Xem tài liệu nếu bạn muốn biết thêm.
Lưu ý sự khác biệt giữa ZFS và BTRFS. ZFS già hơn và trưởng thành hơn, không may chỉ dưới Solaris và OpenSolaris (không may bị bóp nghẹt bởi nhà tiên tri). BTRFS trẻ hơn, nhưng thời gian qua được hỗ trợ rất tốt. Tôi khuyên bạn nên hạt nhân tươi. ZFS có sự trùng lặp trực tuyến, điều đó gây ra sự chậm viết, bởi vì tất cả được tính trực tuyến. BTRFS hỗ trợ khấu trừ ngoại tuyến. Sau đó, điều này tiết kiệm hiệu suất, nhưng khi máy chủ không có gì để làm, bạn chạy công cụ định kỳ để tạo sự trùng lặp. Và BTRFS vốn được tạo ra dưới linux. Có lẽ đây là FS tốt hơn cho bạn :)