.\" -*- nroff -*- .\" -*- nroff -*- .\" ovs.tmac .\" .\" Open vSwitch troff macro library . . .\" Continuation line for .IP. .de IQ . br . ns . IP "\\$1" .. . .\" Introduces a sub-subsection .de ST . PP . RS -0.15in . I "\\$1" . RE .. . .\" The content between the lines below is from an-ext.tmac in groff .\" 1.21, with some modifications. .\" ---------------------------------------------------------------------- .\" an-ext.tmac .\" .\" Written by Eric S. Raymond .\" Werner Lemberg .\" .\" Version 2007-Feb-02 .\" .\" Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc. .\" You may freely use, modify and/or distribute this file. .\" .\" .\" The code below provides extension macros for the `man' macro package. .\" Care has been taken to make the code portable; groff extensions are .\" properly hidden so that all troff implementations can use it without .\" changes. .\" .\" With groff, this file is sourced by the `man' macro package itself. .\" Man page authors who are concerned about portability might add the .\" used macros directly to the prologue of the man page(s). . . .\" Convention: Auxiliary macros and registers start with `m' followed .\" by an uppercase letter or digit. . . .\" Declare start of command synopsis. Sets up hanging indentation. .de SY . ie !\\n(mS \{\ . nh . nr mS 1 . nr mA \\n(.j . ad l . nr mI \\n(.i . \} . el \{\ . br . ns . \} . . HP \w'\fB\\$1\fP\ 'u . B "\\$1" .. . . .\" End of command synopsis. Restores adjustment. .de YS . in \\n(mIu . ad \\n(mA . hy \\n(HY . nr mS 0 .. . . .\" Declare optional option. .de OP . ie \\n(.$-1 \ . RI "[\fB\\$1\fP" "\ \\$2" "]" . el \ . RB "[" "\\$1" "]" .. . . .\" Start URL. .de UR . ds m1 \\$1\" . nh . if \\n(mH \{\ . \" Start diversion in a new environment. . do ev URL-div . do di URL-div . \} .. . . .\" End URL. .de UE . ie \\n(mH \{\ . br . di . ev . . \" Has there been one or more input lines for the link text? . ie \\n(dn \{\ . do HTML-NS "" . \" Yes, strip off final newline of diversion and emit it. . do chop URL-div . do URL-div \c . do HTML-NS . \} . el \ . do HTML-NS "\\*(m1" \&\\$*\" . \} . el \ \\*(la\\*(m1\\*(ra\\$*\" . . hy \\n(HY .. . . .\" Start email address. .de MT . ds m1 \\$1\" . nh . if \\n(mH \{\ . \" Start diversion in a new environment. . do ev URL-div . do di URL-div . \} .. . . .\" End email address. .de ME . ie \\n(mH \{\ . br . di . ev . . \" Has there been one or more input lines for the link text? . ie \\n(dn \{\ . do HTML-NS "" . \" Yes, strip off final newline of diversion and emit it. . do chop URL-div . do URL-div \c . do HTML-NS . \} . el \ . do HTML-NS "\\*(m1" \&\\$*\" . \} . el \ \\*(la\\*(m1\\*(ra\\$*\" . . hy \\n(HY .. . . .\" Continuation line for .TP header. .de TQ . br . ns . TP \\$1\" no doublequotes around argument! .. . . .\" Start example. .de EX . nr mE \\n(.f . nf . nh . ft CR .. . . .\" End example. .de EE . ft \\n(mE . fi . hy \\n(HY .. . .\" EOF .\" ---------------------------------------------------------------------- .TH ovsdb\-tool 1 "4.0.0" "Open vSwitch" "Open vSwitch Manual" .ds PN ovsdb\-tool . .SH "نام (NAME)" ovsdb\-tool \- ابزار مدیریت پایگاه داده Open vSwitch . .SH "خلاصه دستور (SYNOPSIS)" .IP "دستورهای ایجاد پایگاه داده:" \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBcreate \fR[\fIdb\fR [\fIschema\fR]] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] [\fB\-\-election\-timer=\fIms\fR] \fBcreate\-cluster \fIdb contents address\fR .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] [\fB\-\-cid=\fIuuid\fR] \fBjoin\-cluster\fI db name local remote\fR... .IP "دستورهای مدیریت نسخه:" \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBconvert \fR[\fIdb\fR [\fIschema \fR[\fItarget\fR]]] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBneeds\-conversion \fR[\fIdb\fR [\fIschema\fR]] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBdb\-version \fR[\fIdb\fR] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBschema\-version \fR[\fIschema\fR] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBdb\-cksum \fR[\fIdb\fR] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBschema\-cksum \fR[\fIschema\fR] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBcompare-versions\fI a op b\fR .IP "سایر دستورها:" \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBcompact \fR[\fIdb\fR [\fItarget\fR]] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] [\fB\-\-rbac\-role=\fIrole\fR] \fBquery \fR[\fIdb\fR] \fItransaction\fR .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] [\fB\-\-rbac\-role=\fIrole\fR] \fBtransact \fR[\fIdb\fR] \fItransaction\fR .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] [\fB\-m\fR | \fB\-\-more\fR]... \fBshow\-log \fR[\fIdb\fR] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBcheck\-cluster \fIdb\fR... .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBdb\-name \fR[\fIdb\fR] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBschema\-name \fR[\fIschema\fR] .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBdb\-cid\fI db\fR .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBdb\-sid\fI db\fR .br \fBovsdb\-tool \fR[\fIگزینه‌ها\fR] \fBdb\-local\-address db\fR .br \fBovsdb\-tool help\fR .IP "گزینه‌های گزارش‌گیری:" [\fB\-v\fR[\fImodule\fR[\fB:\fIdestination\fR[\fB:\fIlevel\fR]]]]\&... .br [\fB\-\-verbose[=\fImodule\fR[\fB:\fIdestination\fR[\fB:\fIlevel\fR]]]]\&... .br [\fB\-\-log\-file\fR[\fB=\fIfile\fR]] .IP "گزینه‌های عمومی:" [\fB\-h\fR | \fB\-\-help\fR] [\fB\-V\fR | \fB\-\-version\fR] . .SH "توضیحات (DESCRIPTION)" برنامه \fBovsdb\-tool\fR ابزاری خط فرمانی برای مدیریت فایل‌های پایگاه داده Open vSwitch (کوته‌نوشت OVSDB) است. این ابزار به طور مستقیم با کارسازهای پایگاه داده در حال اجرای Open vSwitch تعامل برقرار نمی‌کند (به جای آن از \fBovsdb\-client\fR استفاده کنید). برای آشنایی با OVSDB و پیاده‌سازی آن در Open vSwitch، به \fBovsdb\fR(7) مراجعه کنید. .PP هر دستوری که آرگومان اختیاری \fIdb\fR یا \fIschema\fR را دریافت می‌کند، در صورت مشخص نشدن دارای یک مسیر پیش‌فرض است. مسیر پیش‌فرض \fIdb\fR برابر با \fB/etc/openvswitch/conf.db\fR است. مسیر پیش‌فرض \fIschema\fR برابر با \fB/usr/share/openvswitch/vswitch.ovsschema\fR است. .PP این پیاده‌سازی OVSDB از مدل‌های سرویس پایگاه داده مستقل (standalone) و فعال-پشتیبان (active-backup) با یک فرمت روی دیسک، و از مدل سرویس خوشه‌ای (clustered) با فرمتی متفاوت پشتیبانی می‌کند. \fBovsdb\-tool\fR از هر دو فرمت پشتیبانی می‌کند، اما برخی دستورها تنها برای یکی از این فرمت‌ها مناسب هستند، همان‌طور که در توضیحات هر دستور در ادامه آمده است. برای مشخصات این فرمت‌ها، به \fBovsdb\fR(5) مراجعه کنید. برای اطلاعات بیشتر درباره مدل‌های سرویس OVSDB، بخش \fBService Models\fR در \fBovsdb\fR(7) را ببینید. . .SS "دستورهای ایجاد پایگاه داده" این دستورها یک فایل پایگاه داده جدید OVSDB ایجاد می‌کنند. آن‌ها روی فایل‌های پایگاه داده موجود بازنویسی نخواهند کرد. برای جایگزینی یک پایگاه داده موجود با پایگاه داده‌ای جدید، ابتدا نسخه قدیمی را حذف کنید. . .IP "\fBcreate \fR[\fIdb\fR [\fIschema\fR]]" از این دستور برای ایجاد پایگاه داده جهت کنترل \fBovs\-vswitchd\fR یا یک پایگاه داده مستقل یا فعال-پشتیبان دیگر استفاده کنید. این دستور فایل پایگاه داده \fIdb\fR را با طرحواره (\fIschema\fR) داده‌شده ایجاد می‌کند؛ این طرحواره باید نام فایلی حاوی یک طرحواره OVSDB در قالب JSON باشد، همان‌طور که در مشخصات OVSDB تعیین شده است. پایگاه داده جدید در ابتدا خالی است. (می‌توانید از \fBcp\fR برای رونوشت‌برداری از یک پایگاه داده شامل طرحواره و داده‌های آن استفاده کنید.) . .IP "[\fB\-\-election\-timer=\fIms\fR] \fBcreate\-cluster\fI db contents local" از این دستور برای راه‌اندازی اولیه نخستین کارساز در یک خوشه با دسترس‌پذیری بالا (HA) شامل ۳ (یا بیشتر) کارساز پایگاه داده استفاده کنید؛ برای نمونه برای پایگاه داده‌ای در محیطی که تحمل نقطه تکی خرابی را ندارد. این دستور فایل پایگاه داده خوشه‌ای \fIdb\fR را ایجاد کرده و کارساز را برای گوش فرا دادن روی \fIlocal\fR پیکربندی می‌کند؛ این نشانی باید به قالب \fIprotocol\fB:\fIip\fB:\fIport\fR باشد، که در آن \fIprotocol\fR برابر با \fBtcp\fR یا \fBssl\fR است، \fIip\fR نشانی IP کارساز (یا نشانی IPv4 یا نشانی IPv6 محصور در قلاب‌ها) است، و \fIport\fR شماره پورت TCP است. تنها یک نشانی برای نخستین کارساز در خوشه مشخص می‌شود، که معمولاً مربوط به کارسازی است که \fBcreate\-cluster\fR را اجرا می‌کند. این نشانی برای ارتباطات درون خوشه استفاده می‌شود نه برای ارتباط با کلاینت‌های OVSDB، و نباید از همان پورتی که برای پروتکل OVSDB استفاده می‌شود بهره ببرد. .IP پایگاه داده جدید با \fIcontents\fR مقداردهی اولیه می‌شود، که باید نام فایلی حاوی یک طرحواره OVSDB در قالب JSON یا یک پایگاه داده مستقل OVSDB باشد. اگر یک فایل طرحواره باشد، پایگاه داده جدید در ابتدا خالی و دارای طرحواره داده‌شده خواهد بود. اگر یک فایل پایگاه داده باشد، پایگاه داده جدید دارای همان طرحواره و محتویات خواهد بود. .IP اگر در مدت زمان تایمر انتخابات مشخص‌شده هیچ پیام ضربان قلبی (Heartbeat) از رهبر خوشه دریافت نشود، انتخاب رهبر توسط یک پیرو آغاز خواهد شد. زمان پیش‌فرض تایمر انتخابات رهبر ۱۰۰۰ میلی‌ثانیه است. برای استفاده از مقداری دیگر هنگام ایجاد پایگاه داده، گزینه \fB\-\-election\-timer=\fIms\fR را مشخص کنید که در آن \fIms\fR مقداری بر حسب میلی‌ثانیه بین ۱۰۰ تا ۶۰۰۰۰۰ (شامل خود آن‌ها) است. . .IP "[\fB\-\-cid=\fIuuid\fR] \fBjoin\-cluster\fI db name local remote\fR..." از این دستور برای راه‌اندازی اولیه هر کارساز پس از کارساز اول در یک خوشه با دسترس‌پذیری بالای OVSDB استفاده کنید. این دستور فایل پایگاه داده خوشه‌ای \fIdb\fR را برای پایگاه داده‌ای با نام \fIname\fR ایجاد کرده و کارساز را برای گوش فرا دادن روی \fIlocal\fR و اتصال اولیه به \fIremote\fR پیکربندی می‌کند؛ \fIremote\fR باید کارسازی باشد که از قبل به خوشه تعلق دارد. \fIlocal\fR و \fIremote\fR از همان ساختار نگارشی \fIprotocol\fB:\fIip\fB:\fIport\fR مشابه \fBcreate\-cluster\fR استفاده می‌کنند. .IP مقدار \fIname\fR باید نام طرحواره یا پایگاه داده داده‌شده به \fBcreate\-cluster\fR باشد. برای نمونه، نام طرحواره پایگاه داده OVN Southbound برابر با \fBOVN_Southbound\fR است. برای یافتن نام یک طرحواره یا پایگاه داده، به ترتیب از دستورهای \fBschema\-name\fR یا \fBdb\-name\fR در \fBovsdb\-tool\fR استفاده کنید. .IP این دستور هیچ‌گونه دسترسی به شبکه انجام نمی‌دهد، به این معنی که عملاً نمی‌تواند کارساز جدید را در همان لحظه به خوشه متصل کند. در عوض، فایل \fIdb\fR ایجاد‌شده، کارساز را آماده می‌کند تا در نخستین باری که \fBovsdb\-server\fR آن را سرویس‌دهی می‌کند، به خوشه بپیوندد. به عنوان بخشی از پیوستن به خوشه، کارساز جدید طرحواره پایگاه داده را دریافت کرده و فهرست تمام اعضای خوشه را به دست می‌آورد. تنها پس از آن است که به عضوی کامل از خوشه تبدیل می‌شود. .IP به صورت اختیاری، می‌توان بیش از یک \fIremote\fR مشخص کرد؛ برای نمونه، در خوشه‌ای که از قبل دارای چندین کارساز است، می‌توان تمام کارسازهای موجود را مشخص کرد. این کار در صورتی سودمند است که هنگام پیوستن کارساز جدید، برخی از کارسازهای موجود از کار افتاده باشند، اما در غیر این صورت نیازی به آن نیست. .IP به‌طور پیش‌فرض، فایل \fIdb\fR ایجاد‌شده توسط \fBjoin\-cluster\fR به هر پایگاه داده خوشه‌ای با نام \fIname\fR که روی یک \fIremote\fR در دسترس باشد ملحق خواهد شد. از نظر تئوری، اگر ماشین‌ها خاموش و روشن شوند و نشانی‌های IP به نحوی خاص تغییر کنند، ممکن است به خوشه پایگاه داده اشتباهی ملحق شود. برای جلوگیری از این احتمال، گزینه \fB\-\-cid=\fIuuid\fR را مشخص کنید که در آن \fIuuid\fR شناسه خوشه‌ای است که می‌خواهید به آن بپیوندید، همان‌طور که توسط \fBovsdb\-tool get\-cid\fR چاپ می‌شود. . .SS "دستورهای مهاجرت پایگاه داده" این دستورها پایگاه داده خوشه‌ای را به پایگاه داده مستقل تبدیل می‌کنند. . .IP "\fBcluster\-to\-standalone\fI db clusterdb" از این دستور برای تبدیل پایگاه داده خوشه‌ای به پایگاه داده مستقل، در زمانی که خوشه از کار افتاده و امکان احیای آن وجود ندارد، استفاده کنید. این دستور فایل پایگاه داده مستقل جدید \fIdb\fR را از روی فایل پایگاه داده خوشه‌ای \fIclusterdb\fR داده‌شده ایجاد می‌کند. . .SS "دستورهای مدیریت نسخه" .PP یک طرحواره OVSDB دارای شماره نسخه طرحواره است و یک پایگاه داده OVSDB نسخه خاصی از یک طرحواره OVSDB را در خود جای داده است. این شماره نسخه‌ها به شکل \fIx\fB.\fIy\fB.\fIz\fR هستند، مانند \fB1.2.3\fR. پیاده‌سازی OVSDB طرح شماره‌گذاری نسخه خاصی را تحمیل نمی‌کند، اما طرحواره‌های مدیریت‌شده در پروژه Open vSwitch از رویکرد زیر استفاده می‌کنند. هر زمان که طرحواره پایگاه داده به شیوه‌ای ناسازگار با گذشته تغییر کند (مانند حذف یک ستون یا یک جدول)، مقدار \fIx\fR افزایش می‌یابد (و \fIy\fR و \fIz\fR به ۰ بازنشانی می‌شوند). هنگامی که طرحواره پایگاه داده به شیوه‌ای سازگار با گذشته تغییر کند (مانند افزودن یک ستون جدید)، مقدار \fIy\fR افزایش می‌یابد (و \fIz\fR به ۰ بازنشانی می‌شود). هنگامی که تغییرات طرحواره صرفاً ظاهری باشد (مانند اصلاح فاصله‌گذاری‌ها در ساختار آن)، مقدار \fIz\fR افزایش می‌یابد. .PP برخی پایگاه‌های داده و طرحواره‌های OVSDB، به‌ویژه نسخه‌های بسیار قدیمی، فاقد شماره نسخه هستند. .PP شماره نسخه‌های طرحواره و شماره نسخه‌های Open vSwitch مستقل از یکدیگر هستند. .PP این دستورها با نسخه‌های مختلف طرحواره‌ها و پایگاه‌های داده OVSDB کار می‌کنند. . .IP "\fBconvert \fR[\fIdb\fR [\fIschema \fR[\fItarget\fR]]]" فایل \fIdb\fR را خوانده، آن را به طرحواره مشخص‌شده در \fIschema\fR تبدیل کرده و تفسیر جدید را می‌نویسد. اگر \fItarget\fR مشخص شده باشد، نسخه تبدیل‌شده به عنوان یک فایل جدید به نام \fItarget\fR نوشته می‌شود که نباید از قبل وجود داشته باشد. اگر \fItarget\fR حذف شود، نسخه تبدیل‌شده پایگاه داده جایگزین درجا برای \fIdb\fR خواهد شد. اگر پایگاه داده در حال حاضر توسط \fBovsdb\-server\fR سرویس‌دهی می‌شود، تبدیل درجا امکان‌پذیر نیست (در عوض، یا ابتدا \fBovsdb\-server\fR را متوقف کنید یا از دستور \fBconvert\fR در \fBovsdb\-client\fR استفاده نمایید). .IP این دستور می‌تواند «ارتقاها» و «تنزل‌های» ساده‌ای را روی طرحواره پایگاه داده انجام دهد. داده‌های موجود در \fIdb\fR هنگام تفسیر تحت \fIschema\fR باید معتبر باشند، به جز یک استثنا: داده‌های موجود در \fIdb\fR برای جداول و ستون‌هایی که در \fIschema\fR وجود ندارند نادیده گرفته می‌شوند. ستون‌هایی که در \fIschema\fR وجود دارند اما در \fIdb\fR نیستند، روی مقادیر پیش‌فرض خود تنظیم می‌شوند. تمام محدودیت‌های \fIschema\fR به طور کامل اعمال خواهند شد. .IP برخی از کاربردهای این دستور ممکن است منجر به از دست رفتن غیرقابل بازشت داده‌ها شود. برای نمونه، تبدیل پایگاه داده از طرحواره‌ای که ستون یا جدول خاصی دارد به طرحواره‌ای که فاقد آن است، تمام داده‌های آن ستون یا جدول را حذف خواهد کرد. پیش از تبدیل، از پایگاه‌های داده حیاتی نسخه پشتیبان تهیه کنید. .IP این دستور تنها برای پایگاه‌های داده مستقل و فعال-پشتیبان است. برای پایگاه‌های داده خوشه‌ای، از دستور \fBconvert\fR در \fBovsdb\-client\fR برای تبدیل برخط استفاده کنید. . .IP "\fBneeds\-conversion \fR[\fIdb\fR [\fIschema\fR]]" طرحواره تعبیه‌شده در \fIdb\fR و طرحواره JSON را از \fIschema\fR خوانده و آن‌ها را مقایسه می‌کند. اگر طرحواره‌ها یکسان باشند، \fBno\fR و در صورت تفاوت، \fByes\fR را در خروجی استاندارد چاپ می‌کند. .IP این دستور فقط برای پایگاه‌های داده مستقل و فعال-پشتیبان است. برای پایگاه‌های داده خوشه‌ای، به جای آن از دستور \fBneeds-conversion\fR در \fBovsdb\-client\fR استفاده کنید. . .IP "\fBdb\-version \fR[\fIdb\fR]" .IQ "\fBschema\-version \fR[\fIschema\fR]" شماره نسخه موجود در طرحواره تعبیه‌شده در پایگاه داده \fIdb\fR یا در طرحواره JSON به نام \fIschema\fR را در خروجی استاندارد چاپ می‌کند. اگر \fIschema\fR یا \fIdb\fR پیش از معرفی قابلیت نسخه‌بندی طرحواره ایجاد شده باشد، شماره نسخه نخواهد داشت و این دستور یک خط خالی چاپ خواهد کرد. .IP دستور \fBdb\-version\fR فقط برای پایگاه‌های داده مستقل و فعال-پشتیبان کاربرد دارد. برای پایگاه‌های داده خوشه‌ای، به جای آن از دستور \fBschema\-version\fR در \fBovsdb\-client\fR استفاده کنید. . .IP "\fBdb\-cksum \fR[\fIdb\fR]" .IQ "\fBschema\-cksum \fR[\fIschema\fR]" چک‌سام موجود در طرحواره تعبیه‌شده در پایگاه داده \fIdb\fR یا طرحواره JSON به نام \fIschema\fR را در خروجی استاندارد چاپ می‌کند. اگر \fIschema\fR یا \fIdb\fR پیش از معرفی چک‌سام طرحواره ایجاد شده باشد، چک‌سام نخواهد داشت و این دستور یک خط خالی چاپ می‌کند. .IP دستور \fBdb\-cksum\fR فقط برای پایگاه‌های داده مستقل و فعال-پشتیبان است. برای پایگاه‌های داده خوشه‌ای، به جای آن از دستور \fBschema\-cksum\fR در \fBovsdb\-client\fR استفاده کنید. . .IP "\fBcompare-versions\fI a op b\fR" دو مقدار \fIa\fR و \fIb\fR را بر اساس عملگر \fIop\fR مقایسه می‌کند. هر دو مقدار \fIa\fR و \fIb\fR باید شماره نسخه طرحواره OVSDB به شکل \fIx\fB.\fIy\fB.\fIz\fR باشند، همان‌طور که در \fBovsdb\fR(7) شرح داده شده است، و \fIop\fR باید یکی از عملگرهای \fB< <= == >= > !=\fR باشد. اگر مقایسه برقرار باشد، با وضعیت 0 خارج می‌شود؛ اگر نادرست باشد با وضعیت 2 خارج می‌شود. (وضعیت خروج 1 نشان‌دهنده خطا است، برای نمونه نادرست بودن ساختار نگارشی نسخه OVSDB در \fIa\fR یا \fIb\fR یا معتبر نبودن عملگر مقایسه‌ای \fIop\fR). . .SS "سایر دستورها" . .IP "\fBcompact \fR[\fIdb\fR [\fItarget\fR]]" فایل \fIdb\fR را خوانده و نسخه‌ای فشرده‌شده از آن را می‌نویسد. اگر \fItarget\fR مشخص شده باشد، نسخه فشرده‌شده به عنوان فایل جدیدی با نام \fItarget\fR نوشته می‌شود که نباید از قبل وجود داشته باشد. اگر \fItarget\fR حذف شود، نسخه فشرده‌شده پایگاه داده به صورت درجا جایگزین \fIdb\fR می‌شود. این دستور در شرایط عادی عملیاتی لازم نیست، زیرا \fBovsdb\-server\fR هرازگاهی به‌طور خودکار پایگاه داده‌ای را که بسیار بزرگ‌تر از حداقل اندازه خود شده باشد فشرده‌سازی می‌کند. .IP اگر \fIdb\fR در حال حاضر توسط \fBovsdb\-server\fR در حال سرویس‌دهی باشد، یا به نحوی دیگر برای نوشتن توسط پردازش دیگری قفل شده باشد، این دستور کار نخواهد کرد. همچنین این دستور روی پایگاه‌های داده خوشه‌ای کار نمی‌کند. در هر دو مورد، به جای آن دستور \fBovsdb\-server/compact\fR را از طریق \fBovs\-appctl\fR به \fBovsdb\-server\fR ارسال کنید. . .IP "[\fB\-\-rbac\-role=\fIrole\fR] \fBquery \fR[\fIdb\fR] \fItransaction\fR" فایل \fIdb\fR را باز کرده، \fItransaction\fR را روی آن اجرا می‌کند و نتایج را چاپ می‌نماید. مقدار \fItransaction\fR باید یک آرایه JSON در قالب آرایه \fBparams\fR برای متد JSON-RPC بنام \fBtransact\fR باشد، همان‌گونه که در مشخصات OVSDB تشریح شده است. .IP این دستور \fIdb\fR را با دسترسی فقط‌خواندنی باز می‌کند، بنابراین اجرای آن به صورت همزمان با سایر فعالیت‌های پایگاه داده، از جمله \fBovsdb\-server\fR و سایر نویسندگان پایگاه داده، کاملاً ایمن است. تراکنش \fItransaction\fR ممکن است تغییراتی را برای پایگاه داده مشخص کند، اما این تغییرات هیچ اثری روی \fIdb\fR نخواهند داشت. .IP به‌طور پیش‌فرض، تراکنش با استفاده از نقش RBAC مدیر ارشد («superuser») اجرا می‌شود. از \fB\-\-rbac\-role\fR برای تعیین یک نقش دیگر استفاده کنید. .IP این دستور با پایگاه‌های داده خوشه‌ای کار نمی‌کند. در عوض، از دستور \fBquery\fR در \fBovsdb-client\fR برای ارسال پرس‌وجو به \fBovsdb\-server\fR استفاده کنید. . .IP "[\fB\-\-rbac\-role=\fIrole\fR] \fBtransact \fR[\fIdb\fR] \fItransaction\fR" فایل \fIdb\fR را باز کرده، \fItransaction\fR را روی آن اجرا می‌کند، نتایج را چاپ می‌نماید و هرگونه تغییر را در \fIdb\fR ثبت (commit) می‌کند. مقدار \fItransaction\fR باید یک آرایه JSON در قالب آرایه \fBparams\fR برای متد JSON-RPC بنام \fBtransact\fR باشد، همان‌گونه که در مشخصات OVSDB تشریح شده است. .IP اگر \fIdb\fR در حال حاضر توسط \fBovsdb\-server\fR در حال سرویس‌دهی باشد، یا به هر نحوی برای نوشتن توسط فرایندی دیگر قفل شده باشد، این دستور کار نمی‌کند. همچنین این دستور برای پایگاه‌های داده خوشه‌ای کارایی ندارد. در هر دو حالت، در عوض از دستور \fBtransact\fR در \fBovsdb\-client\fR برای ارسال پرس‌وجو به \fBovsdb\-server\fR استفاده کنید. .IP به‌طور پیش‌فرض، تراکنش با استفاده از نقش RBAC کاربر ارشد («superuser») اجرا می‌شود. از \fB\-\-rbac\-role\fR برای تعیین نقشی دیگر استفاده کنید. . .IP "[\fB\-m\fR | \fB\-\-more\fR]... \fBshow\-log \fR[\fIdb\fR]" خلاصه‌ای از رکوردهای لاگ موجود در \fIdb\fR را چاپ می‌کند، از جمله زمان و تاریخی که هر تغییر پایگاه داده رخ داده است و هر توضیح مرتبط با آن. این قابلیت می‌تواند برای اشکال‌زدایی سودمند باشد. .IP برای افزایش جزئیات خروجی، گزینه \fB\-m\fR (یا \fB\-\-more\fR) را یک یا چند بار به خط فرمان بیفزایید. با یک بار استفاده از \fB\-m\fR، دستور \fBshow\-log\fR خلاصه‌ای از رکوردهای اضافه‌شده، حذف‌شده یا تغییر‌یافته توسط هر تراکنش را چاپ می‌کند. با دو بار استفاده از \fB\-m\fR، دستور \fBshow\-log\fR مقادیر ستون‌هایی را نیز که با هر تغییر رکورد دستخوش دگرگونی شده‌اند چاپ می‌کند. .IP این دستور با پایگاه‌های داده مستقل، فعال-پشتیبان و پایگاه‌های داده خوشه‌ای کار می‌کند، اما قالب‌های خروجی آن‌ها متفاوت است. . .IP "\fBcheck\-cluster \fIdb\fR..." تمام رکوردهای پایگاه‌های داده ارائه‌شده را می‌خواند؛ این پایگاه‌های داده باید از کارسازهای مختلف (و در حالت ایده‌آل تمامی کارسازها) در یک خوشه یکسان جمع‌آوری شده باشند. این دستور سازگاری درونی هر پایگاه داده و همچنین سازگاری متقابل مجموعه آن‌ها با یکدیگر را بررسی می‌کند. اگر \fBovsdb\-tool\fR متوجه محتوایی غیرعادی شود که لزوماً نادرست نیست، یک یا چند هشدار در خروجی استاندارد چاپ می‌کند. اگر \fBovsdb\-tool\fR خطاهای عدم سازگاری بیابد، خطایی را در خروجی خطای استاندارد (stderr) چاپ کرده و با وضعیت 1 خارج می‌شود. این خطاها معمولاً نشان‌دهنده اشکالات نرم‌افزاری در \fBovsdb\-server\fR هستند؛ لطفاً گزارش آن‌ها را برای توسعه‌دهندگان Open vSwitch ارسال کنید. . .IP "\fBdb\-name \fR[\fIdb\fR]" .IQ "\fBschema\-name \fR[\fIschema\fR]" نام طرحواره تعبیه‌شده در پایگاه داده \fIdb\fR یا در طرحواره JSON به نام \fIschema\fR را در خروجی استاندارد چاپ می‌کند. . .IP "\fBdb\-cid\fI db\fR" شناسه خوشه (Cluster ID) را که یک شناسه یکتا (UUID) برای شناسایی خوشه است، برای \fIdb\fR چاپ می‌کند. اگر \fIdb\fR یک پایگاه داده تازه‌تولیدشده توسط \fBovsdb\-tool cluster\-join\fR باشد که هنوز با موفقیت به خوشه‌اش ملحق نشده است، و گزینه \fB\-\-cid\fR نیز در خط فرمان \fBcluster\-join\fR مشخص نشده باشد، این دستور خطایی چاپ کرده و با وضعیت 2 خارج می‌شود، زیرا شناسه خوشه هنوز مشخص نیست. این دستور تنها با پایگاه‌های داده خوشه‌ای کار می‌کند. .IP مقدار UUID کاملاً صفر یک شناسه خوشه معتبر محسوب نمی‌شود. . .IP "\fBdb\-sid\fI db\fR" شناسه کارساز (Server ID) را که یک شناسه یکتا (UUID) برای شناسایی کارساز است، برای \fIdb\fR چاپ می‌کند. این دستور تنها با پایگاه‌های داده خوشه‌ای کار می‌کند. این دستور حتی در صورتی که \fIdb\fR یک پایگاه داده تازه‌تولیدشده توسط \fBovsdb\-tool cluster\-join\fR باشد که هنوز به خوشه ملحق نشده است نیز کار می‌کند. . .IP "\fBdb\-local\-address db\fR" نشانی محلی مورد استفاده برای خوشه‌بندی پایگاه داده را برای \fIdb\fR، به همان شکل \fIprotocol\fB:\fIip\fB:\fIport\fR به کار رفته در \fBcreate\-cluster\fR و \fBjoin\-cluster\fR چاپ می‌کند. . .IP "\fBdb\-is\-clustered\fI db\fR" .IQ "\fBdb\-is\-standalone\fI db\fR" بررسی می‌کند که آیا \fIdb\fR یک فایل پایگاه داده در قالب خوشه‌ای است یا مستقل. در صورت تطابق، با وضعیت 0 خارج می‌شود؛ در غیر این صورت با وضعیت 2 پایان می‌یابد. (وضعیت خروج 1 نشان‌دهنده خطا است، برای نمونه فایل \fIdb\fR یک پایگاه داده OVSDB نباشد یا وجود نداشته باشد). . .SH "گزینه‌ها (OPTIONS)" .SS "گزینه‌های گزارش‌گیری (Logging Options)" .IP "\fB\-v\fR[\fIspec\fR] .IQ "\fB\-\-verbose=\fR[\fIspec\fR] . سطوح ثبت گزارش (لاگ) را تنظیم می‌کند. بدون هیچ \fIspec\fR، سطح لاگ را برای همه ماژول‌ها و مقصدها روی \fBdbg\fR تنظیم می‌کند. در غیر این صورت، \fIspec\fR فهرستی از کلمات جداشده با فاصله، کاما یا دونقطه است که از هر یک از دسته‌های زیر حداکثر یک مورد انتخاب می‌شود: . .RS .IP \(bu یک نام ماژول معتبر، همان‌طور که توسط دستور \fBvlog/list\fR در \fBovs\-appctl\fR(8) نمایش داده می‌شود، تغییر سطح لاگ را به ماژول مشخص‌شده محدود می‌کند. . .IP \(bu گزینه‌های \fBsyslog\fR، \fBconsole\fR یا \fBfile\fR، برای محدود کردن تغییر سطح گزارش به ترتیب تنها به گزارش‌های سیستم، کنسول یا فایل. (اگر گزینه \fB\-\-detach\fR مشخص شده باشد، \fB\*(PN\fR توصیف‌کننده‌های استاندارد فایل خود را می‌بندد، بنابراین ثبت گزارش در کنسول هیچ اثری نخواهد داشت.) . .IP \(bu گزینه‌های \fBoff\fR، \fBemer\fR، \fBerr\fR، \fBwarn\fR، \fBinfo\fR یا \fBdbg\fR، برای کنترل سطح گزارش. پیام‌های با سطح اهمیت مشخص‌شده یا بالاتر ثبت می‌شوند و پیام‌های با اهمیت پایین‌تر فیلتر خواهند شد. گزینه \fBoff\fR همه پیام‌ها را فیلتر می‌کند. برای تعریف هر سطح گزارش به \fBovs\-appctl\fR(8) مراجعه کنید. .RE . .IP بزرگی یا کوچکی حروف در \fIspec\fR اهمیتی ندارد. .IP صرف‌نظر از سطوح گزارش تنظیم‌شده برای \fBfile\fR، ثبت گزارش در یک فایل انجام نمی‌شود مگر اینکه گزینه \fB\-\-log\-file\fR نیز مشخص شده باشد (در ادامه ببینید). .IP برای سازگاری با نسخه‌های قدیمی‌تر OVS، واژه \fBany\fR پذیرفته می‌شود اما هیچ اثری ندارد. . .IP "\fB\-v\fR" .IQ "\fB\-\-verbose\fR" حداکثر سطح پرحرفی (جزئیات) ثبت گزارش را تنظیم می‌کند که معادل با \fB\-\-verbose=dbg\fR است. . .IP "\fB\-vPATTERN:\fIdestination\fB:\fIpattern\fR" .IQ "\fB\-\-verbose=PATTERN:\fIdestination\fB:\fIpattern\fR" الگوی لاگ را برای \fIdestination\fR روی \fIpattern\fR تنظیم می‌کند. برای شرح نحو معتبر برای \fIpattern\fR به \fBovs\-appctl\fR(8) مراجعه کنید. . .IP "\fB\-vFACILITY:\fIfacility\fR" .IQ "\fB\-\-verbose=FACILITY:\fIfacility\fR" مکانیسم لاگ (RFC5424 facility) پیام لاگ را تنظیم می‌کند. مقدار \fIfacility\fR می‌تواند یکی از مقادیر \fBkern\fR، \fBuser\fR، \fBmail\fR، \fBdaemon\fR، \fBauth\fR، \fBsyslog\fR، \fBlpr\fR، \fBnews\fR، \fBuucp\fR، \fBclock\fR، \fBftp\fR، \fBntp\fR، \fBaudit\fR، \fBalert\fR، \fBclock2\fR، \fBlocal0\fR، \fBlocal1\fR، \fBlocal2\fR، \fBlocal3\fR، \fBlocal4\fR، \fBlocal5\fR، \fBlocal6\fR یا \fBlocal7\fR باشد. اگر این گزینه مشخص نشده باشد، \fBdaemon\fR به عنوان پیش‌فرض برای syslog محلی سیستم استفاده می‌شود و \fBlocal0\fR هنگام ارسال پیام به مقصدی که از طریق گزینه \fB\-\-syslog\-target\fR فراهم شده، به کار می‌رود. . .TP \fB\-\-log\-file\fR[\fB=\fIfile\fR] ثبت گزارش در یک فایل را فعال می‌کند. اگر \fIfile\fR مشخص شده باشد، به عنوان نام دقیق فایل گزارش استفاده می‌شود. نام پیش‌فرض فایل گزارش در صورت حذف \fIfile\fR برابر با \fB/var/log/openvswitch/\*(PN.log\fR است. . .IP "\fB\-\-syslog\-target=\fIhost\fB:\fIport\fR" علاوه بر syslog سیستم، پیام‌های syslog را به پورت UDP به شماره \fIport\fR روی \fIhost\fR ارسال می‌کند. مقدار \fIhost\fR باید یک نشانی IP عددی باشد، نه یک نام میزبان. . .IP "\fB\-\-syslog\-method=\fImethod\fR" روش (\fImethod\fR) ارسال پیام‌های syslog به دیمن syslog را مشخص می‌کند. حالت‌های زیر پشتیبانی می‌شوند: .RS .IP \(bu \fBlibc\fR، استفاده از تابع \fBsyslog()\fR در libc. نقطه ضعف استفاده از این گزینه این است که libc پیشوند ثابتی را قبل از ارسال واقعی به دیمن syslog از طریق سوکت دامنه یونیکس \fB/dev/log\fR به هر پیام اضافه می‌کند. .IP \(bu \fBunix:\fIfile\fR\fR، استفاده مستقیم از سوکت دامنه یونیکس. با این گزینه می‌توان قالب دلخواهی برای پیام تعیین کرد. با این حال، \fBrsyslogd 8.9\fR و نسخه‌های قدیمی‌تر به هر حال از تابع تجزیه‌کننده هاردکد شده استفاده می‌کنند که استفاده از سوکت دامنه یونیکس را محدود می‌کند. اگر می‌خواهید قالب پیام سفارشی در نسخه‌های قدیمی‌تر \fBrsyslogd\fR به کار برید، به جای آن از سوکت UDP به نشانی IP لوکال‌هاست استفاده کنید. .IP \(bu \fBudp:\fIip\fR:\fIport\fR\fR، استفاده از سوکت UDP. با این روش می‌توان قالب پیام دلخواه را در نسخه‌های قدیمی‌تر \fBrsyslogd\fR نیز به کار برد. هنگام ارسال پیام‌های syslog از طریق سوکت UDP باید احتیاط‌های بیشتری را مد نظر قرار داد؛ برای نمونه، دیمن syslog باید برای گوش فرادادن روی پورت UDP مشخص‌شده پیکربندی شده باشد، قوانین تصادفی iptables ممکن است با ترافیک محلی syslog تداخل داشته باشند، و ملاحظات امنیتی خاصی وجود دارند که برای سوکت‌های UDP اعمال می‌شوند اما برای سوکت‌های دامنه یونیکس صدق نمی‌کنند. .IP \(bu \fBnull\fR، تمام پیام‌های ثبت‌شده در syslog را دور می‌ریزد. .RE .IP مقدار پیش‌فرض از متغیر محیطی \fBOVS_SYSLOG_METHOD\fR خوانده می‌شود؛ در صورت تنظیم نبودن آن، مقدار پیش‌فرض \fBlibc\fR است. .SS "سایر گزینه‌ها" .IP "\fB\-h\fR" .IQ "\fB\-\-help\fR" پیام راهنمای کوتاهی را در کنسول نمایش می‌دهد. . .IP "\fB\-V\fR" .IQ "\fB\-\-version\fR" اطلاعات نسخه برنامه را در کنسول چاپ می‌کند. .SH "فایل‌ها (FILES)" مسیر پیش‌فرض \fIdb\fR برابر با \fB/etc/openvswitch/conf.db\fR است. مسیر پیش‌فرض \fIschema\fR برابر با \fB/usr/share/openvswitch/vswitch.ovsschema\fR است. دستور \fBhelp\fR نیز این مقادیر پیش‌فرض را نمایش می‌دهد. .SH "همچنین ببینید (SEE ALSO)" . \fBovsdb\fR(7), \fBovsdb\-server\fR(1), \fBovsdb\-client\fR(1).