.nh .TH podman-container-checkpoint 1 .SH "نام (NAME)" podman-container-checkpoint \- ایجاد نقطه بررسی از کانتینر در حال اجرا .SH "خلاصه دستور (SYNOPSIS)" \fBpodman container checkpoint\fP [\fIoptions\fP] \fIcontainer\fP [\fIcontainer\fP ...] .SH "توضیحات (DESCRIPTION)" دستور \fBpodman container checkpoint\fP از تمام فرآیندهای درون یک یا چند \fIکانتینر\fP نقطه بررسی (checkpoint) ایجاد می‌کند\&. یک \fIکانتینر\fP را می‌توان با استفاده از \fBpodman-container-restore\fP از یک نقطه بررسی بازیابی کرد\&. از \fIشناسه‌ها\fP یا \fIنام‌های کانتینر\fP به عنوان ورودی استفاده می‌شود\&. .PP \fIمهم: اگر کانتینر از \fBsystemd\fP به عنوان \fBentrypoint\fP استفاده می‌کند، ممکن است ایجاد نقطه بررسی از کانتینر امکان‌پذیر نباشد\&.\fP .SH "گزینه‌ها (OPTIONS)" .SS \fB--all\fP, \fB-a\fP از تمام \fIکانتینرهای\fP در حال اجرا نقطه بررسی ایجاد می‌کند\&. .br مقدار پیش‌فرض \fBfalse\fP است\&. .br \fIمهم: این گزینه به نام یا شناسه کانتینر به عنوان آرگومان ورودی نیاز ندارد\&.\fP .SS \fB--compress\fP, \fB-c\fP=\fBzstd\fP | \fInone\fP | \fIgzip\fP الگوریتم فشرده‌سازی مورد استفاده برای آرشیو نقطه بررسی ایجادشده با گزینه \fB--export, -e\fP را مشخص می‌کند\&. الگوریتم‌های ممکن عبارتند از \fBzstd\fP، \fInone\fP و \fIgzip\fP\&. .br یک دلیل احتمالی برای استفاده از \fInone\fP، فعال‌سازی ایجاد سریع‌تر آرشیوهای نقطه بررسی است\&. فشرده نکردن آرشیو نقطه بررسی می‌تواند منجر به ایجاد سریع‌تر آن شود\&. .br مقدار پیش‌فرض \fBzstd\fP است\&. .SS \fB--create-image\fP=\fIimage\fP یک ایمیج نقطه بررسی از کانتینر در حال اجرا ایجاد می‌کند\&. این یک ایمیج استاندارد OCI است که در مخزن محلی ایمیج‌ها ایجاد می‌شود\&. این ایمیج شامل یک لایه منفرد است که تمام فایل‌های نقطه بررسی را در بر دارد\&. محتوای این لایه ایمیج در همان قالبی است که یک نقطه بررسی ایجادشده با \fB--export\fP دارد\&. یک ایمیج نقطه بررسی را می‌توان به یک رجیستری استاندارد کانتینر ارسال (push) کرد و روی سیستمی دیگر دریافت (pull) نمود تا مهاجرت کانتینر امکان‌پذیر شود\&. علاوه بر این، می‌توان ایمیج را با \fBpodman image save\fP برون‌بری (export) کرد و با \fBpodman inspect\fP مورد بازبینی قرار داد\&. بازبینی یک ایمیج نقطه بررسی اطلاعات اضافی را که به عنوان حاشیه‌نویسی (annotation) ذخیره شده‌اند، درباره محیط میزبان استفاده‌شده برای ایجاد نقطه بررسی نمایش می‌دهد: .IP \(bu 2 \fBio.podman.annotations.checkpoint.name\fP: نام خوانا برای انسان از کانتینر اصلی\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.rawImageName\fP: نام پردازش‌نشده ایمیج مورد استفاده برای ایجاد کانتینر اصلی (همان‌طور که توسط کاربر مشخص شده است)\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.rootfsImageID\fP: شناسه (ID) ایمیج مورد استفاده برای ایجاد کانتینر اصلی\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.rootfsImageName\fP: نام ایمیج مورد استفاده برای ایجاد کانتینر اصلی\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.podman.version\fP: نسخه Podman مورد استفاده برای ایجاد نقطه بررسی\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.criu.version\fP: نسخه CRIU مورد استفاده برای ایجاد نقطه بررسی\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.runtime.name\fP: زمان اجرای کانتینر (مانند runc یا crun) مورد استفاده برای ایجاد نقطه بررسی\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.runtime.version\fP: نسخه زمان اجرای کانتینر مورد استفاده برای ایجاد نقطه بررسی\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.conmon.version\fP: نسخه conmon مورد استفاده با کانتینر اصلی\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.host.arch\fP: معماری پردازنده (CPU) میزبانی که نقطه بررسی روی آن ایجاد شده است\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.host.kernel\fP: نسخه هسته لینوکس میزبانی که نقطه بررسی روی آن ایجاد شده است\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.cgroups.version\fP: نسخه cgroup مورد استفاده توسط میزبانی که نقطه بررسی روی آن ایجاد شده است\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.distribution.version\fP: نسخه توزیع میزبانی که نقطه بررسی روی آن ایجاد شده است\&. .IP \(bu 2 \fBio.podman.annotations.checkpoint.distribution.name\fP: نام توزیع میزبانی که نقطه بررسی روی آن ایجاد شده است\&. .SS \fB--export\fP, \fB-e\fP=\fIarchive\fP نقطه بررسی را به یک آرشیو برون‌بری (export) می‌کند\&. نوع آرشیو با \fB--compress\fP مشخص می‌شود\&. نقطه بررسی برون‌بری‌شده را می‌توان برای درون‌ریزی (import) \fIکانتینر\fP روی سیستمی دیگر استفاده کرد و در نتیجه مهاجرت زنده کانتینر را ممکن ساخت\&. این آرشیو نقطه بررسی همچنین شامل تمام تغییرات اعمال‌شده در سیستم‌فایل ریشه (root file-system) \fIکانتینر\fP نیز می‌شود، مگر اینکه صریحاً با استفاده از \fB--ignore-rootfs\fP غیرفعال شده باشد\&. .SS \fB--file-locks\fP از یک \fIکانتینر\fP به همراه قفل‌های فایل نقطه بررسی ایجاد می‌کند\&. اگر برنامه‌ای در حال اجرا در کانتینر از قفل‌های فایل استفاده می‌کند، این گزینه در حین ایجاد نقطه بررسی و بازیابی الزامی است\&. در غیر این صورت، انتظار می‌رود ایجاد نقطه بررسی از \fIکانتینرهای\fP دارای قفل‌های فایل با شکست مواجه شود\&. اگر از قفل‌های فایل استفاده نشود، این گزینه نادیده گرفته می‌شود\&. .br مقدار پیش‌فرض \fBfalse\fP است\&. .SS \fB--ignore-rootfs\fP اگر یک نقطه بررسی به یک آرشیو برون‌بری شود، با کمک \fB--ignore-rootfs\fP امکان‌پذیر است که درج تغییرات سیستم‌فایل ریشه در فایل آرشیو نقطه بررسی را صریحاً غیرفعال کرد\&. .br مقدار پیش‌فرض \fBfalse\fP است\&. .br \fIمهم: این گزینه فقط در ترکیب با \fB--export, -e\fP کار می‌کند\&.\fP .SS \fB--ignore-volumes\fP این گزینه باید در ترکیب با گزینه \fB--export, -e\fP استفاده شود\&. هنگامی که این گزینه مشخص شود، محتوای حجم‌های (volumes) مرتبط با \fIکانتینر\fP در آرشیو نقطه بررسی گنجانده نمی‌شود\&. .br مقدار پیش‌فرض \fBfalse\fP است\&. .SS \fB--keep\fP, \fB-k\fP تمام فایل‌های موقت لاگ و آماری ایجادشده توسط CRIU در حین ایجاد نقطه بررسی را نگه می‌دارد\&. این فایل‌ها در صورت شکست ایجاد نقطه بررسی، برای اشکال‌زدایی بیشتر حذف نمی‌شوند\&. اگر ایجاد نقطه بررسی با موفقیت انجام شود، این فایل‌ها از نظر تئوری نیازی نیستند، اما در صورت نیاز Podman می‌تواند آن‌ها را برای تجزیه و تحلیل بیشتر نگه دارد\&. .br مقدار پیش‌فرض \fBfalse\fP است\&. .SS \fB--latest\fP, \fB-l\fP به‌جای ارائه \fIشناسه\fP یا \fIنام کانتینر\fP، از آخرین \fIکانتینر\fP ایجادشده استفاده می‌کند\&. مقدار پیش‌فرض \fBfalse\fP است\&. .br \fIمهم: این گزینه در کلاینت ریموت Podman، از جمله ماشین‌های Mac و Windows (به‌استثنای WSL2) در دسترس نیست\&. این گزینه به نام یا شناسه کانتینر به عنوان آرگومان ورودی نیاز ندارد\&.\fP .SS \fB--leave-running\fP, \fB-R\fP کانتینر را پس از ایجاد نقطه بررسی به‌جای متوقف کردن، در حال اجرا باقی می‌گذارد\&. .br مقدار پیش‌فرض \fBfalse\fP است\&. .PP برای حفظ یکپارچگی نقطه بررسی، Podman قبل از تخلیه حافظه کانتینر، cgroup \fIکانتینر\fP را منجمد (freeze) می‌کند و فقط پس از ثبت تغییرات سیستم‌فایل ریشه و حجم‌های نام‌گذاری‌شده، آن را مجدداً از انجماد خارج می‌سازد (thaw)\&. این بدان معناست که \fIکانتینر\fP در طول مدت ایجاد نقطه بررسی متوقف (pause) می‌شود، اما تصویر حافظه و سیستم‌فایل آن تضمین می‌شوند که همان نقطه زمانی یکسان را منعکس کنند\&. کانتینرهایی که با \fB--cgroups=disabled\fP راه‌اندازی شده‌اند قابل منجمد شدن نیستند و بنابراین این ضمانت را دریافت نمی‌کنند\&. اگر منجمد کردن \fIکانتینر\fP ناموفق باشد، Podman ایجاد نقطه بررسی را ادامه می‌دهد و هشدار می‌دهد که این ضمانت یکپارچگی قابل ارائه نبوده است\&. .SS \fB--pre-checkpoint\fP, \fB-P\fP تنها اطلاعات حافظه \fIکانتینر\fP را تخلیه (dump) می‌کند و \fIکانتینر\fP را در حال اجرا باقی می‌گذارد\&. عملیات بعدی جایگزین تخلیه‌های قبلی می‌شود\&. .br مقدار پیش‌فرض \fBfalse\fP است\&. .PP قابلیت ایجاد نقطه بررسی تنها از حافظه کانتینر و در دومین نقطه بررسی تنها بازنویسی صفحاتی از حافظه که از اولین نقطه بررسی تغییر کرده‌اند، به بیت soft-dirty هسته لینوکس وابسته است که روی همه سیستم‌ها در دسترس نیست، چرا که به معماری سیستم و پیکربندی هسته لینوکس بستگی دارد\&. برنامه Podman بررسی می‌کند که آیا سیستم فعلی از این قابلیت پشتیبانی می‌کند یا خیر و اگر سیستم پشتیبانی نکند خطایی بازمی‌گرداند\&. .SS \fB--print-stats\fP آمار مربوط به ایجاد نقطه بررسی از کانتینر(ها) را چاپ می‌کند\&. خروجی در یک آرایه JSON رندر می‌شود و شامل اطلاعاتی درباره مدت زمان مورد نیاز برای عملیات مختلف نقطه بررسی است\&. بسیاری از آمارهای نقطه بررسی توسط CRIU ایجاد شده و صرفاً به Podman منتقل می‌شوند\&. اطلاعات زیر در آرایه JSON ارائه شده است: .IP \(bu 2 \fBpodman_checkpoint_duration\fP: زمان کلی (به میکروثانیه) مورد نیاز برای ایجاد تمام نقاط بررسی\&. .IP \(bu 2 \fBruntime_checkpoint_duration\fP: زمان (به میکروثانیه) مورد نیاز زمان اجرای کانتینر برای ایجاد نقطه بررسی\&. .IP \(bu 2 \fBfreezing_time\fP: زمان (به میکروثانیه) مورد نیاز CRIU برای متوقف کردن (منجمد کردن) تمام فرآیندهای درون کانتینر (اندازه‌گیری‌شده توسط CRIU)\&. .IP \(bu 2 \fBfrozen_time\fP: زمان (به میکروثانیه) که تمام فرآیندهای درون کانتینر متوقف (منجمد) بودند (اندازه‌گیری‌شده توسط CRIU)\&. .IP \(bu 2 \fBmemdump_time\fP: زمان (به میکروثانیه) مورد نیاز برای استخراج تمام صفحات حافظه لازم از تمام فرآیندهای کانتینر (اندازه‌گیری‌شده توسط CRIU)\&. .IP \(bu 2 \fBmemwrite_time\fP: زمان (به میکروثانیه) مورد نیاز برای نوشتن تمام صفحات حافظه لازم در فایل‌های ایمیج نقطه بررسی مربوطه (اندازه‌گیری‌شده توسط CRIU)\&. .IP \(bu 2 \fBpages_scanned\fP: تعداد صفحات حافظه اسکن‌شده برای تعیین اینکه آیا نیاز به ایجاد نقطه بررسی دارند یا خیر (اندازه‌گیری‌شده توسط CRIU)\&. .IP \(bu 2 \fBpages_written\fP: تعداد صفحات حافظه که واقعاً در فایل‌های ایمیج نقطه بررسی نوشته شده‌اند (اندازه‌گیری‌شده توسط CRIU)\&. .PP مقدار پیش‌فرض \fBfalse\fP است\&. .SS \fB--tcp-established\fP از یک \fIکانتینر\fP دارای اتصالات TCP برقرارشده (established) نقطه بررسی ایجاد می‌کند\&. اگر ایمیج نقطه بررسی شامل اتصالات TCP برقرارشده باشد، این گزینه در حین بازیابی الزامی خواهد بود\&. حالت پیش‌فرض، عدم ایجاد نقطه بررسی از \fIکانتینرهای\fP دارای اتصالات TCP برقرارشده است\&. .br مقدار پیش‌فرض \fBfalse\fP است\&. .SS \fB--with-previous\fP از \fIکانتینر\fP به همراه فایل‌های ایمیج CRIU قبلی در پیش‌تخلیه (pre-dump) نقطه بررسی ایجاد می‌کند\&. این گزینه فقط با \fBrunc 1.0-rc3\fR یا \fBبالاتر\fR کار می‌کند\&. .br مقدار پیش‌فرض \fBfalse\fP است\&. .br \fIمهم: این گزینه همراه با \fB--pre-checkpoint\fP در دسترس نیست\&.\fP .PP این گزینه نیازمند آن است که پیش‌تر از گزینه \fB--pre-checkpoint\fP روی همان کانتینر استفاده شده باشد\&. بدون وجود یک پیش‌نقطه بررسی موجود، این گزینه با شکست مواجه می‌شود\&. .PP همچنین برای اطلاعات بیشتر درباره در دسترس بودن \fB--pre-checkpoint\fP در سیستم‌های مختلف، به \fB--pre-checkpoint\fP مراجعه کنید\&. .SH "مثال‌ها (EXAMPLES)" ایجاد یک نقطه بررسی از کانتینر "mywebserver". .EX # podman container checkpoint mywebserver .EE .PP ایجاد یک ایمیج نقطه بررسی برای کانتینر "mywebserver". .EX # podman container checkpoint --create-image mywebserver-checkpoint-1 mywebserver .EE .PP تخلیه اطلاعات حافظه آخرین کانتینر درون یک فایل آرشیو. .EX # podman container checkpoint -P -e pre-checkpoint.tar.zst -l .EE .PP نگه‌داشتن اطلاعات حافظه کانتینر از یک تخلیه قدیمی‌تر و افزودن اطلاعات جدید حافظه کانتینر به آن. .EX # podman container checkpoint --with-previous -e checkpoint.tar.zst -l .EE .PP تخلیه اطلاعات حافظه آخرین کانتینر درون یک آرشیو با روش فشرده‌سازی مشخص‌شده. .EX # podman container checkpoint -l --compress=none --export=dump.tar # podman container checkpoint -l --compress=gzip --export=dump.tar.gz .EE .SH "همچنین ببینید (SEE ALSO)" \fBpodman(1)\fP, \fBpodman-container-restore(1)\fP, \fBcriu(8)\fP .SH "تاریخچه (HISTORY)" سپتامبر ۲۰۱۸، در ابتدا توسط Adrian Reber به نشانی areber@redhat.com گردآوری شد \[la]mailto:areber@redhat.com\[ra]