| ISNSADM(8) | System Manager's Manual | ISNSADM(8) |
نام (NAME)
isnsadm - ابزار کلاینت iSNS
خلاصه دستور (SYNOPSIS)
isnsadm [options...] --register object...
isnsadm [...] --query attr[=value]
isnsadm [...] --deregister attr=value
isnsadm [...] --list type attr=value
isnsadm [...] --dd-register attr=value
isnsadm [...] --dd-deregister dd-id attr=value
isnsadm [...] --enroll client-name attr=value
isnsadm [...] --edit-policy attr=value
توضیحات (DESCRIPTION)
دستور isnsadm یک ابزار خط فرمان برای تعامل با سرور iSNS است. این ابزار در یکی از چندین حالت عمل میکند که نسبت به هم مانعةالجمع هستند. در حال حاضر، isnsadm از ثبت، پرسوجو و لغو ثبت پشتیبانی میکند.
گزینهها (OPTIONS)
بهطور پیشفرض، isnsadm بیشتر تنظیمات خود را از فایل پیکربندی /etc/isns/isnsadm.conf دریافت میکند، به استثنای گزینههای زیر:
- --config filename, -c filename
- این گزینه فایل پیکربندی پیشفرض را لغو میکند (نادیده میگیرد).
- --debug facility, -d facility
- اشکالزدایی را فعال میکند. بخشهای معتبر عبارتند از:
| socket | ارسال/دریافت شبکه |
| auth | اطلاعات مربوط به احراز هویت و امنیت |
| message | لایه پروتکل iSNS |
| state | وضعیت پایگاه داده |
| scn | پیامهای SCN (اعلان تغییر وضعیت) |
| esi | پیامهای ESI (استعلام وضعیت موجودیت) |
| all | تمام موارد بالا |
- --local
- باعث میشود isnsadm هنگام برقراری ارتباط با سرور iSNS از یک سوکت محلی (سوکت یونیکس) استفاده کند. این گزینه میتواند توسط مدیر سیستم برای انجام کارهای مدیریتی مانند ثبتنام کلاینتهای جدید، ویرایش کنترل دسترسی و موارد مشابه استفاده شود. حالت محلی تنها در دسترس کاربر ارشد (ریشه) است.
- --server servername, -s servername
- سرور مورد استفاده را مشخص میکند (اگر در فایل پیکربندی مشخص نشده باشد).
- --control
- باعث میشود isnsadm هویت یک گره کنترلی را به خود بگیرد. گرههای کنترلی از این جهت خاص هستند که نسبت به گرههای ذخیرهسازی عادی، از دسترسیها و اختیارات بیشتری در دسترسی و اصلاح پایگاه داده برخوردارند.
هنگام استفاده از این گزینه، isnsadm به ترتیب از نام مبدأ و کلید DSA مشخصشده توسط گزینههای پیکربندی Control.SourceName و Control.AuthKeyFile استفاده خواهد کرد.
- --key attr=value
- این گزینه تنها در حالت ثبت شناخته میشود و به شما امکان میدهد کلید یک شیء را مشخص کنید. برای توضیحات دقیقتر، به بخش حالت ثبت (Registration mode) مراجعه کنید.
- --keyfile=filename
- هنگام ایجاد یک خطمشی برای یک کلاینت جدید iSNS، isnsadm قادر به تولید یک کلید DSA برای آن کلاینت است. بخش عمومی کلید در یک شیء خطمشی در پایگاه داده سرور iSNS ذخیره میشود، در حالی که بخش خصوصی آن در فایل مشخصشده توسط گزینه keyfile ذخیره خواهد شد.
- --help
- پیام راهنما را نمایش داده و خارج میشود.
راهنمای داخلی (Built-in help)
دستور isnsadm دارای توابع راهنمای داخلی است. هنگامی که با گزینه --help فراخوانی شود، یک پیام راهنمای کلی شامل تمام حالتهای دستوری پشتیبانیشده را چاپ کرده و خارج میشود. راهنمای اختصاصی برای هر یک از حالتهای دستوری با فراخوانی آن حالت به همراه آرگومان تکی help در دسترس است، مانند این:
isnsadm --register help
این دستور یک پیام راهنما در توصیف نحوه استفاده از این حالت دستوری چاپ میکند، که به دنبال آن فهرستی از مشخصههای پشتیبانیشده توسط این دستور و متن راهنمای توصیفکننده هر مشخصه نمایش داده میشود.
مشخصههای پشتیبانیشده (Supported attributes)
بیشتر حالتهای دستوری فهرستی از مشخصهها را به عنوان آرگومان در خط فرمان دریافت میکنند. نامگذاری و نحو این مشخصهها برای تمام حالتهای دستوری یکسان است، با این حال برخی حالتها فقط از مجموعه محدودی از مشخصهها پشتیبانی میکنند.
مشخصهها معمولاً به صورت جفتهای name=value داده میشوند. در جاهایی که مشخصههای خالی (یا NIL) پشتیبانی میشوند، میتوان نام مشخصه را به تنهایی وارد کرد.
نحو مقدار مشخصه (value) به نوع مشخصه بستگی دارد. برای رشتهها و مقادیر عددی، قواعد خاصی اعمال نمیشود، اما فیلدهای بیتی دارای نحو خاصی هستند که در ادامه توضیح داده شده است.
نام مشخصه معمولاً با نوع شیئی که به آن اعمال میشود (مانند entity) همراه با یک خط تیره و سپس خود نام آغاز میشود. با این حال، در جاهایی که بستر به طور واضح نوع شیء خاصی را تعیین میکند، میتوان پیشوند را حذف کرد. برای مثال، هنگام ویرایش یک شیء خطمشی با استفاده از --edit-policy، استفاده از node-type به عنوان شکل کوتاه policy-node-type مجاز است.
به همین ترتیب، در یک دستور پرسوجو، ترکیب مشخصههای مربوط به انواع اشیاء مختلف مجاز نیست. بنابراین، اولین مشخصه در رشته پرسوجو، بستر نوع را مشخص میکند، به طوری که دو فراخوانی زیر معادل یکدیگر هستند:
isnsadm --query pg-name=iqn.com.foo pg-addr=10.1.1.1
pg-port=860/tcp
isnsadm --query pg-name=iqn.com.foo addr=10.1.1.1 port=860/tcp
در حال حاضر isnsadm از مشخصههای زیر پشتیبانی میکند:
| بستر (Context) | مشخصه (Attribute) | برچسب iSNS | نامهای مستعار (Aliases) |
| Network Entity | entity-id | 1 | eid |
| entity-prot | 2 | ||
| entity-index | 7 | ||
| iSCSI Storage Node | iscsi-name | 32 | |
| iscsi-node-type | 33 | ||
| iscsi-alias | 34 | ||
| iscsi-idx | 36 | ||
| iscsi-authmethod | 42 | ||
| Portal | portal-addr | 16 | |
| portal-port | 17 | ||
| portal-name | 18 | ||
| portal-esi-port | 20 | ||
| portal-esi-interval | 21 | ||
| portal-idx | 22 | ||
| portal-scn-port | 23 | ||
| Portal Group | portal-group-index | 52 | |
| pg-name | 48 | ||
| pg-addr | 49 | ||
| pg-port | 50 | ||
| pg-tag | 51 | pgt | |
| pg-idx | 52 | ||
| Discovery Domain | dd-id | 2065 | |
| dd-name | 2066 | ||
| dd-member-iscsi-idx | 2067 | ||
| dd-member-name | 2068 | ||
| dd-member-fc-name | 2069 | ||
| dd-member-portal-idx | 2070 | ||
| dd-member-addr | 2071 | ||
| dd-member-port | 2072 | ||
| dd-features | 2078 | ||
| Policy Object | policy-name | - | spi |
| policy-key | - | ||
| policy-entity | - | ||
| policy-node-type | - | ||
| policy-object-type | - | ||
| policy-functions | - |
مشخصههای درگاه (Portal attributes)
اطلاعات درگاه (Portal) در iSNS از طریق دو مشخصه جداگانه منتقل میشود؛ یک مشخصه نشانی که حاوی نشانی IP است، و یک مشخصه درگاه TCP/UDP که حاوی شماره درگاه و نشانه پروتکل مورد استفاده (TCP یا UDP) است.
هنگام تجزیه یک درگاه TCP/UDP، سامانه Open-iSNS انتظار یک شماره درگاه را دارد که به طور اختیاری یک اسلش و پروتکل به دنبال آن میآید. نامهای پورت مانند "iscsi-target" پشتیبانی نمیشوند.
برای سهولت، isnsadm از روش نگارشی پشتیبانی میکند که درگاه را به عنوان یک شبهمشخصه نمایش میدهد و نشانی و درگاه را با دونقطه از هم جدا میکند. بنابراین، دو مورد زیر معادل هستند که مورد دوم نمایش خلاصهشده مورد اول است:
addr=<address> port=<port>[/protocol]. portal=<address>:port[/protocol]
این روش نگارش میتواند در هر بستری که جفت مشخصه addr/port امکان حضور دارد به کار رود، و ممکن است با یک نام نوع پیشوندگذاری شود، مانند pg-portal=....
هنگام استفاده از نشانیهای صریح IPv6، نشانی باید درون براکت قرار گیرد، در غیر این صورت دونقطههای داخل نشانی باعث ایجاد ابهام میشوند: portal=[2001:5c0:0:2::24]:860/tcp
مشخصههای فیلد بیتی (Bitfield attributes)
برخی از مشخصههای iSNS کلماتی هستند که یک فیلد بیتی را نشان میدهند. isnsadm این مشخصهها را به جای مقدار عددی، به صورت قابل خواندن برای انسان نمایش داده و تجزیه میکند. نام مقادیر بیت توسط بخشهای راهنمای داخلی نمایش داده میشود. هنگام تعیین یک مشخصه فیلد بیتی در خط فرمان، میتوانید آنها را با استفاده از نویسه علامت مثبت (+) یا کاما (,) ترکیب کنید، مانند این:
node-type=control+initiator
حالت ثبت (Registration mode)
حالت ثبت با استفاده از گزینه --register انتخاب میشود، که به دنبال آن فهرستی از یک یا چند شیء برای ثبت در سرور iSNS قرار میگیرد. به طور پیشفرض، این کار یک موجودیت شبکه برای کلاینت ایجاد میکند (اگر وجود نداشته باشد)، و اشیاء جدید را درون آن قرار میدهد. معمولاً تمام اشیاء مربوط به یک موجودیت شبکه را در یک عملیات ثبت میکنید، نه هر یک را به صورت جداگانه.
هر شیء به صورت یک نوع مشخص میشود، که به طور اختیاری با فهرستی از مشخصههای جداشده با کاما دنبال میشود، مانند این:
target=iqn.2005-01.org.open-iscsi.foo:disk1,alias=disk1
انواع اشیاء زیر در حال حاضر پشتیبانی میشوند:
- entity=name
- به سرور اعلام میکند که تمام اشیاء را در شیء ظرف موجودیت شبکه (Network Entity) مشخصشده گروهبندی کند. معمولاً سرور iSNS به طور خودکار نام موجودیتی متناسب با خطمشیهای خود اختصاص میدهد و نیازی به مشخص کردن صریح آن نیست.
- initiator[=name]
- یک گره ذخیرهسازی iSCSI از نوع آغازگر (initiator) ثبت میکند. به طور پیشفرض، نام برابر با نام مبدأ iSNS تنظیم میشود.
- به دنبال این میتوان هر تعداد از مشخصههای گره ذخیرهسازی iSCSI را قرار داد.
- target[=name]
- یک گره ذخیرهسازی iSCSI از نوع هدف (target) ثبت میکند. به طور پیشفرض، نام برابر با نام مبدأ iSNS تنظیم میشود.
- این شیء همان مجموعه مشخصههای initiator را میپذیرد.
- control[=name]
- یک گره ذخیرهسازی iSCSI از نوع کنترلی (control) ثبت میکند. به طور پیشفرض، نام برابر با نام مبدأ iSNS تنظیم میشود. تنها گرههای مدیریتی باید به عنوان گرههای کنترلی ثبت شوند، زیرا این کار به گره کنترل کاملی روی پایگاه داده iSNS میدهد.
- این شیء همان مجموعه مشخصههای initiator را میپذیرد.
- portal=[address:port/proto]
- یک درگاه را با استفاده از سهتایی نشانی، درگاه و پروتکل دادهشده ثبت میکند. اگر این سهتایی حذف شود، isnsadm از نشانی IP میزبان کلاینت استفاده خواهد کرد. اگر درگاه پیش از ثبت یک initiator (در خط فرمان) بیاید، پورت پیشفرض 860/tcp خواهد بود؛ اگر پیش از ثبت یک target بیاید، پورت پیشفرض 3260/tcp خواهد بود. برای میزبانهای چنداتصالی (multi-homed)، انتخاب نشانی به پیادهسازی بستگی دارد.
- به دنبال این میتواند هر تعداد از مشخصههای درگاه قرار گیرد.
- pg
- یک گروه درگاه (portal group) ثبت میکند که درگاه و گره قبلی را به هم پیوند میدهد. گروههای درگاه میتوانند برای توصیف درگاههای ترجیحی برای یک گره دادهشده به کار روند؛ لطفاً برای جزئیات به RFC 4171 مراجعه کنید.
- به دنبال این میتواند هر تعداد از مشخصههای گروه درگاه قرار گیرد. فهرست مشخصهها باید برچسب گروه درگاه (PGT) را از طریق مشخصه pgt تعیین کند.
دو گزینه خط فرمان دیگر نیز وجود دارند که منحصراً در حالت ثبت استفاده میشوند. یکی از آنها --replace است. در حالت عادی، حالت ثبت اشیاء جدید را به موجودیت شبکه مرتبط با میزبان کلاینت اضافه میکند. اگر در خط فرمان --replace را مشخص کنید، سرور موجودیت شبکه را کاملاً پاک کرده و تمام درگاهها و گرههای ذخیرهسازی موجود در آن را حذف خواهد کرد. سپس یک موجودیت شبکه جدید ایجاد کرده و درگاهها و گرههای ذخیرهسازی ارائهشده توسط فراخوان را در آن قرار میدهد.
علاوه بر این، جایگزینی تنها بخشهایی از یک موجودیت شبکه نیز امکانپذیر است. این کار با استفاده از گزینه خط فرمان --key برای تعیین شیئی که باید جایگزین شود انجام میگیرد.
برای نمونه، فرض کنید یک موجودیت شبکه شامل درگاه 10.1.1.1:860 است، و نشانی شبکه کلاینت به 10.2.7.7 تغییر یافته است. در این صورت دستور زیر پایگاه داده را به صورت تجزیهناپذیر (اتومیک) بهروزرسانی کرده و فقط درگاه را بدون دستکاری گرههای ذخیرهسازی ثبتشده جایگزین میکند:
isnsadm --replace --key portal=10.1.1.1:860 portal=10.2.7.7:860
گزینه --key تنها زیرمجموعهای از مشخصههای معمول را میشناسد:
| نوع شیء (Object type) | نحو (Syntax) |
| Entity | eid=identifier |
| Portal | portal=address:port |
| iSCSI Node | iscsi-name=name |
برای دریافت فهرست مشخصههای پشتیبانیشده، دستور isnsadm --register help را فراخوانی کنید.
حالت پرسوجو (Query mode)
حالت پرسوجو با استفاده از گزینه --query انتخاب میشود. یک پرسوجو از فهرستی از جفتهای attr=value تشکیل میشود. تمام مشخصهها باید به یک نوع شیء تعلق داشته باشند، یعنی پرسوجوهایی که مشخصه موجودیت شبکه را مثلاً با مشخصه درگاه ترکیب کنند رد خواهند شد.
همچنین میتوان نام مشخصه را بدون مقدار (یعنی فقط attr) مشخص کرد، که با هر شیئی که دارای چنین مشخصهای باشد، صرفنظر از مقدار آن، مطابقت خواهد داشت. این ویژگی زمانی مفید است که بخواهید تمام اشیاء از یک نوع خاص را پرسوجو کنید.
برای دریافت فهرست مشخصههای پشتیبانیشده، دستور isnsadm --query help را فراخوانی کنید.
حالت فهرست (List Mode)
در این حالت، isnsadm تمام اشیاء یک نوع دادهشده را نمایش میدهد، که به صورت اختیاری میتواند به مواردی که با مقادیر مشخصه خاصی مطابقت دارند محدود شود.
آرگومانهای حالت فهرست شامل یک نام نوع است، که به طور اختیاری با یک یا چند جفت attr=value دنبال میشود. تنها مشخصههای مربوط به نوع دادهشده مجاز هستند؛ برای نمونه، اگر نام نوع را portals مشخص کنید، تنها مشخصههای درگاه مجاز خواهند بود.
نامهای نوع ممکن عبارتند از: entities، nodes، portals، dds، ddsets، portal-groups و policies.
اطلاعات بیشتر از طریق دستور زیر در دسترس است: isnsadm --list help.
حالت لغو ثبت (Deregistration mode)
در این حالت، میتوانید اشیائی را که قبلاً ثبت شدهاند لغو ثبت کنید. تنها گرهی که در وهله اول موجودیت را ثبت کرده است مجاز به حذف آن یا هر یک از اشیاء فرزند آن است (گرههای کنترلی به این محدودیت مقید نیستند).
در حالت لغو ثبت، فهرست آرگومانها شامل فهرستی از جفتهای attr=value است. لغو ثبت از همان مجموعه مشخصههای حالت پرسوجو پشتیبانی میکند.
ثبت دامنه کشف (Discovery Domain Registration)
این حالت امکان ثبت یک دامنه کشف یا افزودن اعضای جدید به یک دامنه کشف موجود را فراهم میکند. مجدداً، مشخصهها به صورت فهرستی از جفتهای attr=value تعیین میشوند. تنها مشخصههای دامنه کشف شناخته میشوند.
توجه داشته باشید که برای افزودن اعضا به یک دامنه موجود، باید شناسه عددی دامنه را مشخص کنید. نام نمادین دامنه هنگام ارجاع به یک دامنه کشف، شناسه معتبری نیست.
حالت لغو ثبت دامنه کشف (Discovery Domain Deregistration mode)
در این حالت، میتوانید یک دامنه کشف را که قبلاً ثبت شده است لغو ثبت کنید. تنها گرهی که در وهله اول یک دامنه کشف را ثبت کرده است مجاز به حذف آن یا هر یک از اعضای آن است (گرههای کنترلی به این محدودیت مقید نیستند).
در حالت لغو ثبت دامنه کشف، فهرست آرگومانها شامل شناسه دامنه کشف است که به دنبال آن فهرستی از جفتهای attr=value قرار میگیرد. لغو ثبت دامنه کشف از همان مجموعه مشخصههای حالت پرسوجو پشتیبانی میکند.
ثبتنام کلاینت (Client Enrollment)
این حالت تنها زمانی کار میکند که سرور کلاینت را دارای قابلیتهای گره کنترلی تشخیص دهد، که این امر به دو روش امکانپذیر است:
- فراخوانی
- isnsadm --local به عنوان کاربر ارشد روی میزبانی که isnsd روی آن در حال اجرا است. گزینه --local به آن دستور میدهد از طریق سوکت کنترلی محلی با سرور ارتباط برقرار کند.
- فراخوانی
- isnsadm --control، که به آن دستور میدهد هویت یک گره کنترلی را به خود بگیرد. هنگام ارائه این گزینه، isnsadm به ترتیب از نام مبدأ و کلید DSA مشخصشده توسط گزینههای پیکربندی Control.SourceName و Control.AuthKeyFile استفاده خواهد کرد. سرور باید طوری پیکربندی شده باشد که به این هویت وضعیت گره کنترلی اعطا کند.
برای ثبتنام یک کلاینت، از گزینه --enroll استفاده کنید، که به دنبال آن نام (مبدأ) کلاینت مورد نظر برای ثبتنام قرار میگیرد. این رشته به عنوان نام خطمشی امنیتی که کلاینت برای شناسایی خود استفاده میکند به کار خواهد رفت.
به دنبال این، فهرستی از جفتهای مشخصه/مقدار میآید، که در آن مجموعه مشخصههای زیر پشتیبانی میشوند:
| مشخصه (Attribute) | شرح (Description) | نامهای مستعار (Aliases) |
| name | نام خطمشی | spi |
| key | کلید عمومی DSA کلاینت | |
| entity | شناسه موجودیت تخصیصیافته | |
| node-type | نوع یا انواع گره مجاز | |
| node-name | نام یا نامهای گره مجاز | |
| functions | بیتمپ توابع مجاز | |
| object-type | ماسک دسترسی به شیء |
مشخصه key برای مشخص کردن کلید عمومی DSA استفاده میشود که سرور باید برای احراز هویت پیامهای ارسالی از این کلاینت استفاده کند. میتوانید یک نام فایل ارائه دهید؛ که در این صورت isnsadm تلاش خواهد کرد کلید عمومی با کدگذاری PEM را از آن فایل بخواند. اگر هیچ مشخصه key داده نشود، یا هنگام استفاده از key=gen، دستور isnsadm یک کلید DSA تولید خواهد کرد. بخش خصوصی کلید تازه تولیدشده در فایل مشخصشده توسط --keyfile=filename ذخیره خواهد شد.
مشخصه object-type برای تعیین انواع اشیائی که کلاینت مجاز به دسترسی به آنها است استفاده میشود. این یک فهرست جداشده با کاما از جفتهای type:perm است، که در آن type میتواند هر یک از entity، iscsi-node، portal، portal-group، dd، ddset و policy باشد. مجوزها میتوانند rw یا r باشند.
مشخصه functions میتواند برای محدود کردن توابعی که کلاینت مجاز به فراخوانی آنها است استفاده شود. این یک فیلد بیتی است که از نامهای استاندارد توابع از RFC 4171 استفاده میکند، مانند DevAttrReg، DevAttrQry و غیره.
برای توضیحات مربوط به مدل امنیتی و خطمشیهای open-isns، لطفاً به صفحه راهنمای isns_config(5) مراجعه کنید.
نکته مهم: برای تولید یک کلید DSA، باید مجموعهای از پارامترهای DSA نصب شده باشند. بهطور پیشفرض، isnsadm انتظار دارد آنها را در /etc/isns/dsa.params پیدا کند. این پارامترها با یک بار فراخوانی isnsd --init روی ماشین سرور ایجاد میشوند. متناوباً، میتوانید از دستور زیر استفاده کنید:
openssl dsaparam 1024 -out /etc/isns/dsa.params
که در آن 1024 اندازه انتخابشده برای کلید DSA به بیت است.
مثالها (EXAMPLES)
اگر میخواهید از Open-iSNS در حالت احراز هویتشده استفاده کنید، ابتدا باید کلید DSA و پارامترهای DSA سرور را مقداردهی اولیه کنید. این کار را میتوان به سادگی با استفاده از دستور زیر انجام داد:
isnsd --init
این دستور کلید خصوصی و عمومی سرور را ایجاد کرده و آنها را به ترتیب در /etc/isns/auth_key و auth_key.pub قرار میدهد.
دستور زیر یک شیء خطمشی برای گرهای به نام isns.control ایجاد کرده و امتیازات کنترلی را به آن اعطا میکند:
isnsadm --local --keyfile=control.key --enroll
isns.control \
node-type=ALL functions=ALL object-type=ALL
در فرآیند ثبتنام کلاینت، این دستور یک جفت کلید DSA تولید میکند و بخش کلید خصوصی را در فایل control.key قرار میدهد. این فایل باید به عنوان /etc/isns/control.key روی میزبانی که میخواهید به عنوان ایستگاه مدیریت iSNS استفاده کنید نصب شود.
در مرحله بعد، باید یک شیء گره ذخیرهسازی برای ایستگاه مدیریت ایجاد کنید:
isnsadm --local --register control
سپس روی ایستگاه مدیریت میتوانید میزبانهای دیگری را ثبتنام کنید:
isnsadm --control --keyfile=somehost.key --enroll
iqn.2005-01.org.open-iscsi.somehost \
node-type=target+initiator
مجدداً، این دستور یک جفت کلید DSA تولید کرده و بخش کلید خصوصی را در auth_key ذخیره میکند. توجه داشته باشید که استفاده از گزینه --control به isnsadm اعلام میکند به جای کلید و نام مبدأ پیشفرض، از هویت گره کنترلی استفاده کند.
سپس باید somehost.key را به میزبان کلاینت کپی کرده و آن را به عنوان /etc/isns/auth_key نصب کنید. به همین ترتیب، کلید عمومی سرور (که در /etc/isns/auth_key.pub روی سرور قرار دارد) باید به ماشین کلاینت کپی شده و در /etc/isns/server_key.pub قرار گیرد.
بهطور پیشفرض، هنگامی که یک کلاینت یک گره ذخیرهسازی (چه initiator و چه target) را در iSNS ثبت میکند، قادر به مشاهده هیچ گره ذخیرهسازی دیگری نخواهد بود. برای اینکه targetها برای یک initiator مشخص قابل مشاهده باشند، باید اصطلاحاً دامنههای کشف (یا به اختصار DD) ایجاد کنید.
در حال حاضر، عملیات عضویت در دامنه نیازمند امتیاز مدیر سیستم است. قابلیتهای الحاقی در آینده ممکن است به کلاینتهای iSNS اجازه دهند هنگام ثبت، خود را به یک یا چند DD اضافه کنند.
برای ایجاد یک دامنه کشف و افزودن گرهها به آن، میتوانید از دستور زیر استفاده کنید:
isnsadm --control --dd-register dd-name=mydomain \
member-name=iqn.org.bozo.client iqn.org.bozo.jbod ...
برای افزودن اعضا به یک DD موجود، باید شناسه عددی دامنه را مشخص کنید - متأسفانه استفاده از نام DD کافی نیست (این یکی از الزامات RFC است، نه نقص پیادهسازی):
isnsadm --control --dd-register dd-id=42 \
member-name=iqn.com.foo member-name=iqn.com.bar
شناسه DD را میتوان با انجام یک پرسوجو برای نام DD به دست آورد:
isnsadm --control --query dd-name=mydomain
در حالت مدیریت، میتوانید گرهها و درگاهها را به صورت دستی نیز ثبت و لغو ثبت کنید، در صورتی که بخواهید یک ناهماهنگی در پایگاه داده را برطرف کنید. برای نمونه، دستور زیر یک گره و درگاه را روی میزبانی به نام client.bozo.org ثبت میکند:
isnsadm --control --register entity=client.bozo.org \
initiator=iqn.org.bozo.client portal=191.168.7.1:860
توجه داشته باشید که این ثبت صراحتاً موجودیت شبکهای را که اشیاء جدید باید در آن قرار گیرند مشخص میکند. اگر این مورد را حذف کنید، اشیاء جدید در موجودیتی به نام CONTROL قرار میگیرند، که قطعاً چیزی نیست که شما میخواهید.
همچنین ببینید (SEE ALSO)
RFC 4171, isnsd(8), isns_config(5).
نویسندگان (AUTHORS)
Olaf Kirch <olaf.kirch@oracle.com>
| 11 May 2007 |