Tin tức và phân tích của tất cả các thiết bị di động

Linus Torvalds nói rằng, Don Don sử dụng ZFS, đó là dường như hiểu được nó

Phóng to / Linus Torvalds đủ điều kiện để thảo luận các vấn đề với khả năng tương thích giấy phép và chính sách hạt nhân. Tuy nhiên, điều này không có nghĩa là anh ta đủ điều kiện để thảo luận về các dự án riêng lẻ trong bối cảnh cụ thể của dự án.

Thứ hai tuần trước trong diễn đàn "Các cuộc thảo luận được kiểm duyệt" tại realworldtech.com, Linus Torvalds, nhà phát triển sáng lập và người duy trì tối cao hiện tại của hạt nhân Linux đã trả lời một câu hỏi của người dùng về tranh cãi bảo trì hạt nhân lâu năm đã ảnh hưởng nặng nề đến dự án ZFS trên Linux. Sau khi trả lời câu hỏi thực tế của người dùng, Torvalds tiếp tục đưa ra những tuyên bố không chính xác và gây tổn hại cho chính hệ thống tập tin ZFS.

Với trọng lượng khổng lồ tự động đưa ra những lời của Torvalds do vị trí là nhà phát triển sáng lập và người duy trì chính của hạt nhân Linux, chúng tôi cảm thấy nên giải thích cả về sự thay đổi hạt nhân gây tranh cãi và nhận xét của Torvalds về cả sự thay đổi trong câu hỏi và hệ thống tập tin ZFS.

Tranh cãi ban đầu vào tháng 1 năm 2019, giải thích

Vào tháng 1 năm 2019, nhà phát triển hạt nhân cao cấp Greg Kroah-Hartman đã bảo vệ quyết liệt một cam kết hạt nhân Linux đã vô hiệu hóa việc xuất một số ký hiệu nhân nhất định sang các mô-đun hạt nhân không tải được GPL.

Đối với những người có đầu quay, xuất biểu tượng hạt nhân sẽ hiển thị thông tin nội bộ về trạng thái hạt nhân cho các mô-đun hạt nhân có thể tải. Biểu tượng cụ thể đang được thảo luận ở đây, _kernel_fpu_, theo dõi trạng thái của Đơn vị dấu phẩy động của bộ xử lý. Không có quyền truy cập vào biểu tượng đó, các mô-đun hạt nhân bên ngoài truy cập trực tiếp vào FPU vì ZFS, nên phải thực hiện mã bảo quản trạng thái của riêng họ. Bảo toàn trạng thái, cho dù trong nhân hoặc nguyên gốc cho các mô-đun hạt nhân, đảm bảo rằng trạng thái ban đầu của FPU được khôi phục trước khi điều khiển được giải phóng sang mã hạt nhân khác có thể phụ thuộc vào các giá trị mà chúng nhìn thấy lần cuối trong các thanh ghi của FPU.

Tác động kỹ thuật của việc từ chối tiếp tục xuất biểu tượng _kernel_fpu_ không phải là để ngăn các mô-đun truy cập trực tiếp vào FPU, nó chỉ ngăn họ sử dụng các phương tiện quản lý nhà nước của hạt nhân để bảo tồn và khôi phục trạng thái. Do đó, việc xóa quyền truy cập vào biểu tượng đó đòi hỏi các nhà phát triển mô-đun phải phát minh lại mã bảo toàn trạng thái của riêng họ. Điều này làm tăng khả năng xảy ra lỗi thảm khốc trong chính hạt nhân, vì trạng thái được khôi phục không đúng cách có thể khiến hoạt động của hạt nhân sau đó bị sập.

Sự bảo vệ của Kroah-Hartman về quyết định ngừng xuất khẩu biểu tượng sang các mô-đun hạt nhân không phải GPL dường như được thúc đẩy bởi sự bất chấp, như được đưa ra bởi nhận xét của chính ông về sự thay đổi: "sự khoan dung của tôi đối với ZFS là không tồn tại." Thông thường, ZFS trên bất kỳ nền tảng nào, bao gồm cả BSDs sử dụng tối ưu hóa vectơ SSE / AVX SIMD để tăng tốc các hoạt động nhất định. Không có quyền truy cập vào biểu tượng _kernel_fpu_, các nhà phát triển ZFS ban đầu buộc phải vô hiệu hóa hoàn toàn tối ưu hóa SIMD, với sự suy giảm hiệu suất trong thế giới thực khá đáng kể.

Mặc dù sự thay đổi và cách Kroah-Hartmann bảo vệ nó ban đầu đã tạo ra rất nhiều kịch tính và sự không chắc chắn, nhưng tác động lâu dài đối với cộng đồng ZFS của Linux là khá nhỏ. Thay đổi đột phá chỉ ảnh hưởng đến các nhân cạnh chảy máu mà ít người dùng ZFS đang sử dụng trong sản xuất và vào tháng 7 năm 2019, mã quản lý trạng thái trong mô-đun mới đã được cam kết với ZFS trên cây nguồn Linux.

Chúng tôi không phá vỡ người dùng

Vị trí của Torvalds trong bài đăng trên diễn đàn vào thứ Hai tuần trước bắt đầu hợp lý và được nhiều người biết đến, sau tất cả, anh ta là Linus Torvalds, thảo luận về nhân Linux. Ông lưu ý rằng câu thần chú hạt nhân nổi tiếng "chúng tôi không phá vỡ người dùng" là "nghĩa đen về các ứng dụng trong không gian người dùng" vì vậy nó không áp dụng cho quyết định ngừng xuất các ký hiệu hạt nhân sang các mô-đun hạt nhân không GPL. Theo định nghĩa, nếu bạn đang tìm kiếm một biểu tượng hạt nhân, bạn không phải là một ứng dụng không gian người dùng. Dòng được vẽ ở đây là một dòng rất sáng và có chức năng: Torvalds đang nói rằng nếu bạn muốn chạy trong không gian kernel, bạn cần theo kịp sự phát triển của kernel.

Từ đó, Torvalds phân nhánh ra các vấn đề về giấy phép, một chủ đề khác mà anh ta chính xác và hợp lý. "Thành thật mà nói, không có cách nào tôi có thể hợp nhất bất kỳ nỗ lực nào của ZFS cho đến khi tôi nhận được thư chính thức từ Oracle," anh viết. "Những người khác nghĩ rằng có thể ổn khi hợp nhất mã ZFS vào kernel và giao diện mô-đun làm cho nó ổn, và đó là của chúng phán quyết. Nhưng xem xét bản chất tôn giáo của Oracle và các câu hỏi về cấp phép, không có cách nào tôi có thể cảm thấy an toàn khi làm như vậy. "

Ông tiếp tục thảo luận về bản chất mỏng manh về mặt pháp lý của mô-đun hạt nhân "shim" mà dự án ZFS trên Linux (cùng với các dự án không GPL và không cho phép yếu khác, như trình điều khiển đồ họa độc quyền của Nvidia) sử dụng. Có một số câu hỏi liệu họ có tạo thành một phòng thủ hợp lý hiện nay-vì không ai thách thức bất kỳ dự án nào về việc sử dụng shim LGPL trong 20 năm và chạy điều hành nhưng về mặt logic hoàn toàn hợp lý, không có nhiều câu hỏi rằng các miếng chêm không thực hiện được nhiều. Chức năng thực sự của mô-đun hạt nhân LGPL sẽ không xử phạt việc chạm vào hạt nhân bằng mã không phải GPL, đó là để bảo vệ mã độc quyền ở phía xa của shim khỏi bị công bố trong trường hợp thắng kiện kiện thi hành GPL.

Cho đến nay, rất tốt, nhưng sau đó Torvalds đi sâu vào ấn tượng của riêng mình về chính ZFS, cả dưới dạng dự án và hệ thống tập tin. Đây là nơi mọi thứ trở nên tồi tệ, như Torvalds nói, "Đừng sử dụng ZFS. Thật đơn giản. Nó luôn là một từ thông dụng hơn bất cứ điều gì khác, tôi cảm thấy … (các) điểm chuẩn tôi từng thấy không làm cho ZFS trông tuyệt vời đến thế. Và theo như tôi có thể nói, nó không còn bảo trì thực sự đằng sau nữa … "

Đây luôn là một từ thông dụng hơn bất cứ thứ gì khác.

Tuyên bố hàm này khiến tôi tự hỏi liệu Torvalds đã thực sự sử dụng hay điều tra nghiêm túc ZFS. Hãy nhớ rằng, anh ấy không chỉ đơn thuần đưa ra tuyên bố này về ZFS hiện nay, anh ấy đã tạo ra ZFS trong 15 năm qua và đang chuyển mọi thứ từ ảnh chụp nhanh nguyên tử sang sao chép nhanh chóng để nén trên đĩa để kiểm tra từng khối để sửa chữa dữ liệu tự động và hơn thế nữa đến trạng thái "chỉ buzzwords."

Chỉ có một hệ thống tập tin có sẵn rộng rãi khác thậm chí còn có một cú đâm đáng nể khi cung cấp hầu hết các tính năng đó, và đó là btrfs, không có sẵn trong vài năm đầu của ZFS. Trên thực tế, btrfs vẫn chưa thực sự đủ ổn định để sử dụng sản xuất, trừ khi bạn nerf tất cả các tính năng làm cho nó thú vị ngay từ đầu.

Kiểm tra theo từng khối của ZFS và sửa chữa dữ liệu tự động đã ngăn ngừa mất dữ liệu trong việc sử dụng trong thế giới thực của riêng tôi nhiều lần, bao gồm cả trường hợp đặc biệt nghiêm trọng này của bộ điều khiển SATA bị bệnh dại. Một máy nhân bản RAID1 tiêu chuẩn sẽ vui vẻ trả lại 119GB dữ liệu xấu mà không có cảnh báo nào, nhưng việc kiểm tra lỗi và phát hiện lỗi trực tiếp của ZFS đã giảm thiểu toàn bộ vấn đề đến mức không bao giờ phải chạm vào một bản sao lưu.

Trong khi đó, ảnh chụp nhanh nguyên tử giúp có thể giữ một bản sao lưu trữ giống hệt nhau theo từng khối với thời gian hiệu suất không đáng kể và chi phí lưu trữ tối thiểu trên mạng và sao chép các ảnh chụp nhanh đó thường nhanh hơn hàng trăm hoặc hàng nghìn lần (và hơn thế nữa đáng tin cậy) hơn các giải pháp không tích hợp hệ thống tập tin như rsync.

Có thể không có nhu cầu cá nhân đối với ZFS. Nhưng để viết nó ra là "nhiều từ thông dụng hơn bất cứ thứ gì khác" dường như phơi bày sự thiếu hiểu biết lớn về chủ đề này.

Đúng, đó là nhiều hơn một TRIỆU khối trả về dữ liệu xấu trên một đĩa trong gương Gương và 18 khối khác trên đĩa khác, chỉ là biện pháp tốt. "Không có lỗi dữ liệu đã biết." "Src =" https://cdn.arstechnica.net/wp-content/uploads/2020/01/many-many-cksum-640x480.jpg "width =" 640 "height =" 480 "srcset =" https://cdn.arstechnica.net/wp-content/uploads/2020/01/many-many-cksum.jpg 2xPhóng to / Đúng, đó là nhiều hơn một TRIỆU khối trả về dữ liệu xấu trên một đĩa trong gương Gương và 18 khối khác trên đĩa khác, chỉ là biện pháp tốt. "Không có lỗi dữ liệu đã biết."

Jim Salter