| NBD-SERVER(1) | NBD-SERVER(1) |
نام (NAME)
nbd-server - ارائه یک فایل بهعنوان دستگاه بلوکی به دیگر رایانههای دارای سیستمعامل GNU/Linux یا GNU/Hurd
خلاصه دستور (SYNOPSIS)
nbd-server [ip@]port filename [ size ] [ -r ] [ -m ] [ -c ] [ -l host list filename ] [ -o section name ] [ -C config file ] [ -M max connections ] [ -V ] [ -n ] [ -d ]
توضیحات (DESCRIPTION)
برنامه nbd-server سرور مربوط به دستگاه بلوکی شبکه در لینوکس (Linux Network Block Device یا NBD) است. با NBD، کلاینت میتواند از فایلی که از طریق شبکه توسط سرور صادر (export) شده است، بهعنوان یک دستگاه بلوکی استفاده کند. سپس میتوان از آن برای هر هدفی که یک دستگاه بلوکی معمولی (دیسک سخت، CD-ROM و...) به کار میرود، استفاده کرد.
سامانه NBD میتواند برای کلاینتهای بدون دیسک که به فضای مبادله (swap) نیاز دارند مفید باشد، اما همچنین میتوانید یک سامانه فایل روی آن ایجاد کرده و مانند یک سامانه فایل محلی از آن استفاده کنید.
برنامه nbd-server برخی تدابیر امنیتی را از طریق فایلی به نام «/etc/nbd-server/allow» (بهطور پیشفرض؛ فایل دیگری را میتوان با گزینه -l یا از طریق فایل پیکربندی مشخص کرد) پیادهسازی میکند. این فایل باید آدرسهای IP یا ماسکهای شبکه کلاینتهایی که اجازه اتصال دارند را فهرست کند. اگر این فایل وجود نداشته باشد، همه کلاینتها قادر به اتصال خواهند بود. اگر فایل خالی باشد، هیچ کلاینتی نمیتواند متصل شود.
توجه داشته باشید که اگرچه خط فرمان امکان تعیین یک مورد اشتراکی را فراهم میکند، اما استفاده از این روش منسوخ شده است. ترجیح داده میشود که در عوض از یک فایل پیکربندی استفاده شود، که قالب آن در nbd-server(5) تعریف شده است.
در حین اجرای nbd-server، میتوان با بازنویسی فایلهای پیکربندی و سپس ارسال سیگنال SIGHUP به nbd-server، موارد اشتراکی جدیدی را اضافه کرد. سیگنال SIGHUP باعث میشود nbd-server فایلهای پیکربندی خود را دوباره بخواند و سرویسدهی به همه موارد جدیدی را که قبلاً سرویسدهی نمیشدند، آغاز کند. پیکربندی مجدد هیچ مورد اشتراکی موجودی را تغییر نمیدهد، بلکه صرفاً موارد جدید را اضافه میکند.
گزینهها (OPTIONS)
- ip
- آدرس IP که
سرور باید
روی آن گوش
فرا دهد.
این
میتواند
یک آدرس IPv4،
یک آدرس IPv6 یا
یک نام
میزبان (hostname)
باشد. در
حالت اخیر،
nbd-server نام
مشخصشده
را جستجو
کرده و روی
اولین آدرس
بازگردانده
شده گوش فرا
خواهد داد.
برای
سازگاری با
نسخههای
پیشین nbd-server،
در صورت
مشخص شدن یک
آدرس IPv4،
علامت @ که
بهعنوان
جداکننده
میان آدرس و
پورت عمل
میکند،
میتواند
با یک
دونقطه (:)
جایگزین
شود.
اگر این پارامتر مشخص نشود، nbd-server روی تمام آدرسهای محلی، هم در IPv4 و هم در IPv6 گوش فرا خواهد داد. برای محدود کردن به IPv4، آدرس را بهصورت 0.0.0.0 مشخص کنید؛ برای محدود کردن به IPv6، آن را بهصورت :: مشخص نمایید.
- port
- پورتی که سرور باید به آن گوش دهد. یک پورت معتبر هر عددی بین 1 تا 65536 است؛ اگر از 0 استفاده شود، nbd-server روی stdin گوش فرا خواهد داد (بهطوری که nbd-server بتواند از طریق inetd اجرا شود).
- filename
- نام فایلی که باید صادر (export) شود. این میتواند هر فایلی باشد، از جمله دستگاههای بلوکی «واقعی» (یعنی فایلی از مسیر /dev). اگر نام فایل شامل رشته متنی «%s» باشد، این %s با آدرس IP کلاینتی که قصد اتصال دارد جایگزین خواهد شد.
- size
- اندازه
دستگاه
بلوکی در
سمت کلاینت.
این گزینه
بهویژه
همراه با
گزینه -m
مفید است.
میتواند بهصورت اختیاری با یکی از پسوندهای K، k، M یا m همراه باشد، که در این صورت اندازه در 1024 (برای K یا k) یا 1048576 (برای M یا m) ضرب خواهد شد.
- -r
- صادر کردن فایل بهصورت فقطخواندنی. اگر کلاینتی سعی کند در یک فایل صادرشدهٔ فقطخواندنی بنویسد، با خطا مواجه خواهد شد، اما اتصال برقرار باقی خواهد ماند.
- -m
- کار با
چندین فایل.
این گزینه
میتواند
برای صادر
کردن
دستگاههای
بلوکی
بزرگتر از
حداکثر
اندازه
مجاز فایل
در یک
سامانه
فایل مشخص
استفاده
شود؛ برای
نمونه،
هنگامی که
سامانه
فایل اجازه
فایلهای
بزرگتر از
2 گیگابایت
را نمیدهد
(که در
لینوکس 2.2 و
قبل از آن
صادق بود)،
در صورت
نیاز
میتوانید
از این
گزینه برای
ذخیره
دادهها در
چندین فایل
و صادر کردن
یک سامانه
فایل
بزرگتر
استفاده
کنید.
برای استفاده از این گزینه، باید تعدادی فایل با نامهایی در قالب «name.X» بسازید، که در آن «name» به عنوان آرگومان filename به nbd-server داده میشود و «X» عددی است که از 0 آغاز شده و برای هر فایل یکی افزایش مییابد.
فراهم کردن انعطافپذیری بیشتر برای این گزینه در نسخههای آینده برنامهریزی شده است.
- -c
- رونوشت در زمان نوشتن (Copy on write). هنگامی که این گزینه ارائه شود، عملیات نوشتن روی فایل صادرشده انجام نمیگیرد، بلکه روی فایلی جداگانه انجام میشود. این فایل مجزا با بسته شدن اتصال حذف میشود؛ به این معنی که سرویسدهی از این طریق باعث کندی nbd-server خواهد شد (بهویژه در دستگاههای بلوکی بزرگ با عملیات نوشتن فراوان)، و پس از قطع و وصل مجدد اتصال کلاینت یا سرور، تمام تغییرات از بین میروند.
- -C
- تعیین فایل
پیکربندی.
در صورتی که
این
پارامتر
مشخص نشود،
فایل
پیکربندی
پیشفرض
/etc/nbd-server/config است.
توجه داشته باشید که فایل پیکربندی همواره تجزیه شده و ورودیهای درون آن استفاده میشوند، حتی اگر یک سرور اضافی در خط فرمان مشخص شده باشد. برای غیرفعال کردن کامل فایل پیکربندی، یا آن را جابهجا کنید یا با استفاده از گزینه -C برنامهٔ nbd-server(1) را به یک فایل پیکربندی ناموجود یا خالی ارجاع دهید.
همچنین توجه داشته باشید که اگر یک فایل پیکربندی خالی، ناقص یا نامعتبر مشخص شود، nbd-server هشداری مبنی بر ناتوانی در تجزیه فایل پیکربندی صادر خواهد کرد. اگر خط فرمان شامل یک پیکربندی کاملاً مشخص باشد، این هشدار بیخطر بوده و میتوان آن را نادیده گرفت.
- -M
- تعیین حداکثر تعداد اتصالات باز. در صورتی که این پارامتر مشخص نشود، هیچ محدودیتی اعمال نخواهد شد.
- -V
- نمایش نسخه nbd-server و خروج.
- -n
- فرایند اصلی را به دیمون تبدیل نکن (daemonize نکن). برخلاف -d، این گزینه همچنان امکان انشعاب (fork) فرایند سرویسدهی برای یک کلاینت از فرایند اصلی را فراهم میکند.
- -d
- انشعاب (fork) ایجاد نکن. برای اشکالزدایی مفید است. متضمن -n است.
- host list filename
- این آرگومان باید حاوی فهرستی از آدرسهای IP میزبانهایی باشد که مجاز به اتصال به سرور هستند. استفاده از نویسههای عامهنما (Wildcards) مجاز نیست. اگر فایل وجود نداشته باشد، نادیده گرفته میشود (و هر میزبانی میتواند متصل شود)؛ اگر فایل وجود داشته باشد ولی خالی باشد، هیچ میزبانی نمیتواند متصل شود. بهطور پیشفرض، نام «nbd_server.allow» استفاده شده و در دایرکتوری جاری جستجو میشود، مگر اینکه nbd-server بهصورت دیمون کامپایل شده باشد که در آن صورت در دایرکتوری ریشه جستجو میشود.
- section name
- اگر آرگومان -o در خط فرمان داده شود، nbd-server یک بخش از فایل پیکربندی را با این نام بهعنوان سرآیند تولید میکند که از نظر عملکردی معادل گزینههای دیگر مشخصشده در خط فرمان است، و سپس خارج میشود. این ویژگی برای مهاجرت فایلهای پیکربندی اسکریپت init مربوط به نسخههای پیش از 2.9 nbd-server به قالب جدید مفید است.
مثالها (EXAMPLES)
چند نمونه از کاربرد nbd-server:
- •
- برای صادر
کردن فایل
/export/nbd/exp-bl-dev روی
پورت 2000:
nbd-server 2000 /export/nbd/exp-bl-dev
- •
- برای صادر
کردن همان
فایل
بهصورت
فقطخواندنی:
nbd-server 2000 /export/nbd/exp-bl-dev -r
- •
- برای صادر
کردن همان
فایل
بهصورت
خواندنی-نوشتنی،
اما با
اطمینان از
اینکه پس از
راهاندازی
مجدد
کلاینت یا
سرور
تغییرات از
بین
میروند:
nbd-server 2000 /export/nbd/exp-bl-dev -c
همچنین ببینید (SEE ALSO)
nbd-client (8), nbd-server (5), nbd-trdump (8)
نویسندگان (AUTHORS)
ماژول هسته NBD و ابزارهای NBD در ابتدا توسط Pavel Machek (pavel@ucw.cz) نوشته شدند.
ماژول هسته لینوکس اکنون توسط Paul Clements (Paul.Clements@steeleye.com) نگهداری میشود، در حالی که ابزارهای فضای کاربری توسط Wouter Verhelst (<wouter@debian.org>) نگهداری میشوند.
در Hurd یک translator معمولی برای انجام بخش کلاینت پروتکل در دسترس است و استفاده از nbd-client الزامی نیست. لطفاً برای اطلاعات بیشتر به مستندات مربوطه مراجعه کنید.
این صفحه راهنما توسط Wouter Verhelst (<wouter@debian.org>) برای سیستم Debian GNU/Linux نوشته شده است (اما ممکن است توسط دیگران نیز استفاده شود). اجازه رونوشتبرداری، توزیع و/یا تغییر این سند تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License)، نسخه 2، منتشر شده توسط بنیاد نرمافزارهای آزاد (Free Software Foundation) اعطا میشود.
| $Date$ |