SYSTEMD-STORAGE-FS@.SERVICE(8) systemd-storage-fs@.service SYSTEMD-STORAGE-FS@.SERVICE(8)

systemd-storage-fs@.service, systemd-storage-fs.socket, systemd-storage-fs - سرویس مدیریت و سوار کردن سیستم‌های فایل ذخیره‌سازی

systemd-storage-fs@.service

systemd-storage-fs.socket

systemd-storage-fs@.service سرویسی است که رابط io.systemd.StorageProvider Varlink[1] را پیاده‌سازی می‌کند، و فایل‌ها و دایرکتوری‌های معمولی در /var/lib/storage/*.volume (در صورت استفاده در حالت سیستمی) یا $XDG_STATE_HOME/storage (در صورت استفاده در حالت کاربری) را به عنوان حجم‌های ذخیره‌سازی در دسترس قرار می‌دهد. حجم‌های دریافت‌شده به صورت توصیف‌کننده‌های فایل به فراخوان بازگردانده می‌شوند. برخلاف systemd-storage-block@.service(8)، این پیاده‌سازی از ایجاد حجم‌های جدید در صورت تقاضا از مجموعه‌ای کوچک از الگوهای درون‌ساخت نیز پشتیبانی می‌کند.

این سرویس از طریق systemd-storage-fs.socket به‌صورت سوکت‌محور فعال (socket-activated) می‌شود. در حالت سیستمی به سوکت AF_UNIX در مسیر /run/systemd/io.systemd.StorageProvider/fs و در حالت کاربری در مسیر $XDG_RUNTIME_DIR/systemd/io.systemd.StorageProvider/fs گوش می‌دهد. برای یک ابزار شمارش به storagectl(1) مراجعه کنید.

همچنین برای یک پیاده‌سازی مکمل که دستگاه‌های بلوکی محلی را به عنوان حجم‌های ذخیره‌سازی در دسترس قرار می‌دهد، به systemd-storage-block@.service(8) مراجعه کنید.

حجم‌ها در زیر دایرکتوری ذخیره‌سازی نگهداری می‌شوند:

•/var/lib/storage/ هنگام اجرا در حالت سیستمی.
•$XDG_STATE_HOME/storage/ (معمولاً ~/.local/state/storage/) هنگام اجرا در حالت کاربری.

هر حجم روی دیسک به عنوان یک مدخل دایرکتوری با پسوند .volume در دایرکتوری ذخیره‌سازی نگهداری می‌شود. مدخل‌هایی که فایل‌های معمولی هستند به عنوان حجم‌هایی از نوع reg در دسترس قرار می‌گیرند؛ مدخل‌هایی که دایرکتوری هستند به عنوان حجم‌هایی از نوع dir ارائه می‌شوند. علاوه بر این، گره‌های دستگاه بلوکی می‌توانند پیوند نمادین (یا bind mount) شوند درون دایرکتوری، که سپس به عنوان حجم‌هایی از نوع blk در دسترس قرار می‌گیرند.

برای حجم‌های دایرکتوری، ریشهٔ سیستم‌فایل ارسال‌شده به کلاینت‌ها در زیردایرکتوری root/ از دایرکتوری NAME.volume قرار می‌گیرد. مورد اول (و تمام inodeهای زیر آن) باید متعلق به محدودهٔ UID خارجی باشند، و مورد دوم متعلق به کاربر root میزبان باشد.

هنگام دریافت یک حجم، پیوندهای نمادین دنبال می‌شوند.

یک مدیر مجاز است سلسله‌مراتب حجم‌ها را مستقیماً دستکاری کند مادامی که قواعد شرح داده شده در بالا رعایت شوند. به‌ویژه، کپی کردن، سوار کردن (mount) یا پیوند نمادین منابع خارجی دلخواه (صرف‌نظر از اینکه دایرکتوری، فایل معمولی یا بلوکی باشند) به داخل دایرکتوری حجم‌ها مجاز است، تا به عنوان حجم‌های اضافی در دسترس قرار گیرند.

این ارائه‌دهنده از ایجاد خودکار حجم‌های جدید هنگام دریافت آنها پشتیبانی می‌کند. فراخوان می‌تواند یک الگو (template) انتخاب کند که جزئیات پیکربندی حجم ایجادشونده را تعیین می‌کند. الگوهای درون‌ساخت زیر در دسترس هستند:

sparse-file

حجمی ایجاد می‌کند که توسط یک فایل معمولی کم‌پشت (sparse file) پشتیبانی می‌شود. این الگوی پیش‌فرض هنگام ایجاد حجم فایل معمولی است. (نوع حجم "reg" است.)

اضافه‌شده در نگارش 261.

allocated-file

حجمی ایجاد می‌کند که توسط یک فایل معمولی کاملاً تخصیص‌یافته پشتیبانی می‌شود. (نوع حجم "reg" است.)

اضافه‌شده در نگارش 261.

directory

حجمی ایجاد می‌کند که توسط یک دایرکتوری معمولی پشتیبانی می‌شود. (نوع حجم "dir" است.)

اضافه‌شده در نگارش 261.

subvolume

یک زیرحجم (subvolume) سامانه btrfs را به عنوان inode پشتیبان ایجاد می‌کند (در صورتی که دایرکتوری ذخیره‌سازی روی btrfs نباشد، به یک دایرکتوری معمولی بازمی‌گردد). این الگوی پیش‌فرض هنگام ایجاد یک حجم دایرکتوری است. (نوع حجم "dir" است.)

اضافه‌شده در نگارش 261.

گزینه‌های خط فرمان زیر پشتیبانی می‌شوند:

--system

در حالت سیستمی کار می‌کند. حجم‌ها در زیر /var/lib/storage/ ذخیره می‌شوند. این مقدار پیش‌فرض هنگام فراخوانی از systemd-storage-fs@.service در مدیر سیستم است.

اضافه‌شده در نگارش 261.

--user

در حالت کاربری کار می‌کند. حجم‌ها در زیر $XDG_STATE_HOME/storage/ ذخیره می‌شوند. این مقدار پیش‌فرض هنگام فراخوانی از systemd-storage-fs@.service در مدیر کاربر است.

اضافه‌شده در نگارش 261.

-h, --help

یک متن راهنمای کوتاه را چاپ کرده و خارج می‌شود.

--version

یک رشته نسخه کوتاه را چاپ کرده و خارج می‌شود.

/var/lib/storage/, $XDG_STATE_HOME/storage/

دایرکتوری ذخیره‌سازی که به ترتیب برای پشتیبانی از نمونه‌های سرویس در حالت سیستمی و کاربری استفاده می‌شود. هر حجم به عنوان یک مدخل با پسوند .volume در زیر این دایرکتوری ذخیره می‌شود.

اضافه‌شده در نگارش 261.

/run/systemd/io.systemd.StorageProvider/fs, $XDG_RUNTIME_DIR/systemd/io.systemd.StorageProvider/fs

سوکت‌های AF_UNIX که سرویس به ترتیب در حالت سیستمی و کاربری به آنها گوش می‌دهد. اینها مکان‌های استاندارد برای ارائه‌دهنده ذخیره‌سازی "fs" هستند، و توسط storagectl providers شمارش می‌شوند.

اضافه‌شده در نگارش 261.

systemd(1), storagectl(1), systemd-storage-block@.service(8)

1.
Varlink
systemd 261.2