Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

General Filesystem Caching

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

Bộ nhớ đệm hệ thống tập tin chung

Tổng quan

Cơ sở này là một bộ nhớ đệm có mục đích chung cho các hệ thống tập tin mạng, mặc dù nó cũng có thể được sử dụng để lưu vào bộ nhớ đệm những thứ khác, chẳng hạn như hệ thống tệp ISO9660.

FS-Cache làm trung gian giữa các phần phụ trợ của bộ đệm (chẳng hạn như CacheFiles) và mạng hệ thống tập tin:

+----------+

ZZ0000ZZ +--------------+ ZZ0001ZZ--+ ZZ0002ZZ ZZ0003ZZ ZZ0004ZZ CacheFS | +----------+ ZZ0005ZZ ZZ0006ZZ

ZZ0007ZZ ZZ0008ZZ +--------------+

+----------+ +-------------->ZZ0009ZZ | ZZ0010ZZ +-------+ ZZ0011ZZ--+ ZZ0012ZZ---->ZZ0013ZZ ZZ0014ZZ ZZ0015ZZ ZZ0016ZZ->ZZ0017ZZ--+ +----------+ +-->ZZ0018ZZ ZZ0019ZZ |

ZZ0020ZZ ZZ0021ZZ ZZ0022ZZ +--------------+

+----------+ ZZ0023ZZ ZZ0024ZZ Tệp bộ đệm ZZ0025ZZ ZZ0026ZZ | ZZ0027ZZ--+ ZZ0028ZZ ZZ0029ZZ +--------------+ +----------+

Hoặc nhìn theo cách khác, FS-Cache là một mô-đun cung cấp bộ nhớ đệm tiện ích cho hệ thống tệp mạng sao cho bộ đệm trong suốt đối với người dùng:

+----------+

ZZ0000ZZ ZZ0001ZZ ZZ0002ZZ +----------+

NETWORK
~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+----------+

V ZZ0003ZZ

+----------+ ZZ0004ZZ ZZ0005ZZ ZZ0006ZZ ZZ0007ZZ---->ZZ0008ZZ ZZ0009ZZ ZZ0010ZZ--+ +----------+ ZZ0011ZZ | +--------------+ +--------------+

ZZ0012ZZ ZZ0013ZZ ZZ0014ZZ ZZ0015ZZ V +----------+ +-->ZZ0016ZZ-->ZZ0017ZZ

+----------+ ZZ0018ZZ ZZ0019ZZ ZZ0020ZZ +--------------+ +--------------+ ZZ0021ZZ ^ ^ ZZ0022ZZ ZZ0023ZZ +--------------+ +--------------+ |

ZZ0024ZZ |

~~~~~ZZ0025ZZ~~~~~~|~~~~

ZZ0026ZZ | V ZZ0027ZZ

+--------------+ +--------------+ ZZ0028ZZ ZZ0029ZZ ZZ0030ZZ ZZ0031ZZ ZZ0032ZZ ZZ0033ZZ +--------------+ +--------------+

FS-Cache không tuân theo ý tưởng tải hoàn toàn mọi tệp netfs được mở toàn bộ vào bộ đệm trước khi cho phép truy cập và sau đó phục vụ các trang từ bộ đệm đó thay vì inode netfs vì:

  1. Việc vận hành mà không cần bộ nhớ đệm phải thực tế.

  2. Kích thước của bất kỳ tệp có thể truy cập nào không được giới hạn ở kích thước của

    bộ đệm.

  3. Kích thước tổng hợp của tất cả các tệp đã mở (bao gồm các thư viện được ánh xạ)

    không được giới hạn kích thước của bộ đệm.

  4. Người dùng không nên bị buộc phải tải xuống toàn bộ tệp chỉ để thực hiện một thao tác

    quyền truy cập một lần vào một phần nhỏ của nó (chẳng hạn như có thể được thực hiện với chương trình “tập tin”).

Thay vào đó, nó phục vụ bộ đệm theo từng khối khi được netfs yêu cầu sử dụng nó.

FS-Cache cung cấp các tiện ích sau:

  • Có thể sử dụng nhiều bộ đệm cùng một lúc. Bộ nhớ đệm có thể được chọn

    rõ ràng bằng cách sử dụng các thẻ.

  • Bộ nhớ đệm có thể được thêm/xóa bất cứ lúc nào, ngay cả khi đang được truy cập.

  • Netfs được cung cấp một giao diện cho phép một trong hai bên

    rút các tiện ích bộ nhớ đệm khỏi một tệp (bắt buộc đối với (2)).

  • Giao diện của netfs trả về càng ít lỗi càng tốt, ưu tiên

    thay vì để netfs không biết gì.

  • Có ba loại cookie: cookie bộ đệm, khối lượng và tệp dữ liệu.

    Cookie bộ đệm đại diện cho toàn bộ bộ đệm và thường không hiển thị tới netfs; netfs nhận được một cookie khối lượng để thể hiện một bộ sưu tập các tập tin (thường là thứ mà netfs sẽ nhận được đối với siêu khối); và cookie tệp dữ liệu được sử dụng để lưu trữ dữ liệu vào bộ nhớ đệm (thứ gì đó có thể dành cho một nút).

  • Các tập được khớp bằng cách sử dụng một phím. Đây là một chuỗi có thể in được sử dụng

    để mã hóa tất cả thông tin có thể cần thiết để phân biệt một siêu khối, ví dụ, từ một người khác. Đây sẽ là sự kết hợp của những thứ như tên ô hoặc địa chỉ máy chủ, tên ổ đĩa hoặc đường dẫn chia sẻ. Nó phải là một tên đường dẫn hợp lệ.

  • Cookie được khớp bằng khóa. Đây là một đốm màu nhị phân và được sử dụng để

    đại diện cho đối tượng trong một tập (vì vậy phím âm lượng không cần phải tạo thành một phần của đốm màu). Điều này có thể bao gồm những thứ như số inode và bộ xác định hoặc một trình xử lý tập tin.

  • Tài nguyên cookie được thiết lập và ghim bằng cách đánh dấu cookie đang sử dụng.

    Điều này ngăn chặn các tài nguyên hỗ trợ bị loại bỏ. rác hẹn giờ bộ sưu tập được sử dụng để loại bỏ các cookie chưa được sử dụng cho một trong thời gian ngắn, do đó làm giảm tình trạng quá tải tài nguyên. Điều này dự định là được sử dụng khi một tập tin được mở hoặc đóng.

Một cookie có thể được đánh dấu đang sử dụng nhiều lần cùng một lúc; mỗi dấu hiệu

phải không được sử dụng.

  • Chức năng truy cập bắt đầu/kết thúc được cung cấp để trì hoãn việc rút bộ nhớ đệm cho

    thời gian hoạt động và ngăn không cho các cấu trúc được giải phóng trong khi chúng tôi đang nhìn vào họ.

  • Dữ liệu I/O được thực hiện bởi DIO không đồng bộ đến/từ bộ đệm được mô tả bởi

    netfs bằng cách sử dụng iov_iter.

  • Có sẵn cơ sở vô hiệu hóa để loại bỏ dữ liệu khỏi bộ đệm và

    để xử lý I/O đang được xử lý đang truy cập dữ liệu cũ.

  • Cookie có thể bị “ngừng hoạt động” khi được phát hành, do đó khiến đối tượng bị

    bị xóa khỏi bộ đệm.

Có thể tìm thấy netfs API tới FS-Cache trong:

Tài liệu/hệ thống tập tin/bộ nhớ đệm/netfs-api.rst

Có thể tìm thấy phần phụ trợ bộ đệm API cho FS-Cache trong:

Tài liệu/hệ thống tập tin/bộ nhớ đệm/backend-api.rst

Thông tin thống kê

Nếu FS-Cache được biên dịch với các tùy chọn sau được bật:

CONFIG_FSCACHE_STATS=y

sau đó nó sẽ thu thập số liệu thống kê nhất định và hiển thị chúng thông qua:

/proc/fs/fscache/số liệu thống kê

Phần này hiển thị số lượng sự kiện có thể xảy ra trong FS-Cache:

ZZ0000ZZEVENT ZZ0001ZZ +===============+========+===================================================================================================== |Cookies |n=N ZZ0003ZZ + +-------+---------------------------------------------------------- + | |v=N ZZ0005ZZ + +-------+---------------------------------------------------------- + | |vcol=N ZZ0007ZZ + +-------+---------------------------------------------------------- + | |voom=N ZZ0009ZZ +--------------+-------+-------------------------------------------------------+ |Acquire |n=N ZZ0011ZZ + +-------+---------------------------------------------------------- + | |ok=N ZZ0013ZZ + +-------+---------------------------------------------------------- + | |oom=N ZZ0015ZZ +--------------+-------+-------------------------------------------------------+ |LRU |n=N ZZ0017ZZ + +-------+---------------------------------------------------------- + | |exp=N ZZ0019ZZ + +-------+---------------------------------------------------------- + | |rmv=N ZZ0021ZZ + +-------+---------------------------------------------------------- + | |drp=N ZZ0023ZZ + +-------+---------------------------------------------------------- + | |at=N ZZ0025ZZ +--------------+-------+-------------------------------------------------------+ |Invals |n=N ZZ0027ZZ +--------------+-------+-------------------------------------------------------+ |Updates |n=N ZZ0029ZZ + +-------+---------------------------------------------------------- + | |rsz=N ZZ0031ZZ + +-------+---------------------------------------------------------- + | |rsn=N ZZ0033ZZ +--------------+-------+-------------------------------------------------------+ |Relinqs |n=N ZZ0035ZZ + +-------+---------------------------------------------------------- + | |rtr=N ZZ0037ZZ + +-------+---------------------------------------------------------- + | |drop=N ZZ0039ZZ +--------------+-------+-------------------------------------------------------+ |NoSpace |nwr=N ZZ0041ZZ + +-------+---------------------------------------------------------- + | |ncr=N ZZ0043ZZ + +-------+---------------------------------------------------------- + | |cull=N ZZ0045ZZ +--------------+-------+-------------------------------------------------------+ |IO |rd=N ZZ0047ZZ + +-------+---------------------------------------------------------- + | |wr=N ZZ0049ZZ +--------------+-------+-------------------------------------------------------+

Netfslib cũng sẽ thêm một số bộ đếm số liệu thống kê của riêng nó.

Danh sách bộ đệm

FS-Cache cung cấp danh sách cookie bộ đệm:

/proc/fs/fscache/cookie

Điều này sẽ trông giống như:

# cat /proc/fs/fscache/cache

CACHE REF VOLS OBJS ACCES S NAME ============= ===== ===== ====== ================= 00000001 2 1 2123 1 Mặc định

nơi các cột ở:

FS-Cache cung cấp danh sách các cookie khối lượng:

/proc/fs/fscache/tập

Điều này sẽ trông giống như:

VOLUME REF nCOOK ACC FL CACHE KEY

nơi các cột ở:

FS-Cache cung cấp danh sách cookie:

/proc/fs/fscache/cookie

Điều này sẽ trông giống như:

# head /proc/fs/fscache/cookies

COOKIE VOLUME REF ACT ACC S FL DEF ======== ======== === === === = == ================= 00000435 00000001 1 0 -1 - 08 0000000201d0800700000000000000000, 00000000000000000 00000436 00000001 1 0 -1 - 00 0000005601d0800800000000000000000, 0000000000000051 00000437 00000001 1 0 -1 - 08 00023b3001d0823f00000000000000000, 00000000000000000 00000438 00000001 1 0 -1 - 08 0000005801d0807b00000000000000000, 00000000000000000 00000439 00000001 1 0 -1 - 08 00023b3201d080a100000000000000000, 0000000000000000 0000043a 00000001 1 0 -1 - 08 00023b3401d080a300000000000000000, 0000000000000000 0000043b 00000001 1 0 -1 - 08 00023b3601d080b300000000000000000, 0000000000000000 0000043c 00000001 1 0 -1 - 08 00023b3801d080b400000000000000000, 0000000000000000

nơi các cột ở:

Nếu CONFIG_NETFS_DEBUG được bật, cơ sở FS-Cache và hỗ trợ NETFS có thể đã bật tính năng gỡ lỗi thời gian chạy bằng cách điều chỉnh giá trị trong:

/sys/mô-đun/netfs/tham số/gỡ lỗi

Đây là một bitmask của các luồng gỡ lỗi để kích hoạt: