.TH "LVM" "8" "مه ۲۰۲۵" "lvm2" "دستورهای مدیریتی و نگهداری" . .SH "نام (NAME)" lvm \- ابزار جامع مدیریت حجم منطقی (LVM2) . .SH "خلاصه دستور (SYNOPSIS)" \fBlvm\fP [\fIگزینههای_عمومی\fR] [\fIدستور\fR [\fIآرگومانهای_دستور\fR]] . .SH "توضیحات (DESCRIPTION)" دستور \fBlvm\fR ابزار اصلی و واسط خط فرمان سامانه مدیریت حجم منطقی لینوکس (LVM2) است که امکان اجرای دستورات به صورت تکی یا ورود به پوسته تعاملی LVM را فراهم میکند. .PP مدیر حجم منطقی (LVM) ابزارهایی را برای ایجاد دستگاه‌های بلوکی مجازی از دستگاه‌های فیزیکی فراهم می‌کند. مدیریت دستگاه‌های مجازی می‌تواند آسان‌تر از دستگاه‌های فیزیکی باشد و می‌تواند قابلیت‌هایی فراتر از آنچه خود دستگاه‌های فیزیکی ارائه می‌دهند داشته باشد. یک گروه حجم (Volume Group یا VG) مجموعه‌ای از یک یا چند دستگاه فیزیکی است که هر یک از آن‌ها یک حجم فیزیکی (Physical Volume یا PV) نامیده می‌شوند. یک حجم منطقی (Logical Volume یا LV) یک دستگاه بلوکی مجازی است که می‌تواند توسط سیستم یا برنامه‌های کاربردی استفاده شود. هر بلوک داده در یک LV بر روی یک یا چند PV در آن VG، طبق الگوریتم‌های پیاده‌سازی‌شده توسط نگاشت دستگاه (Device Mapper یا DM) در هسته لینوکس ذخیره می‌شود. .PP دستور \fBlvm\fR و سایر دستورات ذکر شده در زیر، ابزارهای خط فرمان برای LVM هستند. یک صفحه راهنمای جداگانه هر دستور را به تفصیل شرح می‌دهد. .PP اگر \fBlvm\fP بدون هیچ آرگومانی فراخوانی شود، یک اعلان متنی editline را نمایش می‌دهد (به فرض اینکه با پشتیبانی از editline کامپایل شده باشد). دستورات LVM را می‌توان به صورت تعاملی در این اعلان همراه با امکانات editline از جمله تاریخچه و تکمیل خودکار نام دستور و گزینه‌ها وارد کرد. برای جزئیات به \fBeditline\fP(3) مراجعه کنید. .PP اگر \fBlvm\fP به گونه‌ای فراخوانی شود که argv[0] آن روی نام یک دستور خاص LVM تنظیم شده باشد (برای مثال با استفاده از پیوند سخت یا پیوند نمادین)، مانند همان دستور عمل می‌کند. .PP در هنگام فراخوانی، \fBlvm\fP الزامی می‌داند که تنها توصیف‌کننده‌های استاندارد فایل stdin، stdout و stderr در دسترس باشند. در صورت یافتن موارد دیگر، آن‌ها بسته شده و پیام‌هایی در مورد نشت توصیف‌کننده فایل هشدار داده می‌شود. این هشدار را می‌توان با تنظیم متغیر محیطی \fBLVM_SUPPRESS_FD_WARNINGS\fP غیرفعال کرد. .PP در جاهایی که دستورات نام‌های VG یا LV را به عنوان آرگومان می‌پذیرند، مسیر کامل اختیاری است. یک LV به نام "lvol0" در یک VG به نام "vg0" را می‌توان به صورت "vg0/lvol0" مشخص کرد. در جایی که فهرستی از VGها مورد نیاز است اما خالی گذاشته شده است، فهرستی از تمام VGها جایگزین خواهد شد. در جایی که فهرستی از LVها مورد نیاز است اما یک VG داده شده است، فهرستی از تمام LVهای موجود در آن VG جایگزین خواهد شد. بنابراین دستور \fBlvdisplay vg0\fP تمام LVهای موجود در "vg0" را نمایش خواهد داد. .PP فایلی حاوی یک اسکریپت ساده با یک دستور در هر خط را نیز می‌توان در خط فرمان ارائه داد. همچنین اگر خط اول با \fB#!\fP و به دنبال آن مسیر مطلق \fBlvm\fP آغاز شود، اسکریپت می‌تواند مستقیماً اجرا گردد. .PP خط‌های تیره اضافی درون نام گزینه‌ها نادیده گرفته می‌شوند. برای مثال، هر دو گزینه \fB\-\-readonly\fP و \fB\-\-read\-only\fP به طور یکسان پذیرفته می‌شوند. . .SH "گزینه‌های عمومی (COMMON OPTIONS)" گزینه‌های زیر در بیشتر دستورهای LVM مشترک و قابل استفاده هستند: .TP \fB\-d\fP, \fB\-\-debug\fP تنظیم سطح اشکال‌زدایی. با تکرار ۱ تا ۶ بار، جزئیات پیام‌های ارسالی به فایل لاگ یا سامانه syslog (در صورت پیکربندی) افزایش می‌یابد. .TP \fB\-h\fP, \fB\-\-help\fP نمایش متن راهنمای مختصر دستور. .TP \fB\-q\fP, \fB\-\-quiet\fP بی‌صدا کردن خروجی و پیام‌های لاگ. اولویت بالاتری نسبت به \fB\-\-debug\fP و \fB\-\-verbose\fP دارد. با دو بار تکرار (\fB\-qq\fP)، اعلان‌های تأیید با پاسخ خودکار 'no' رد می‌شوند. .TP \fB\-t\fP, \fB\-\-test\fP اجرا در حالت آزمایشی (Test Mode). در این حالت هیچ متادیتایی روی دیسک نوشته یا به‌روزرسانی نمی‌شود. این کار با غیرفعال کردن نوشتن متادیتا انجام می‌شود، هرچند وضعیت بازگشتی به فراخواننده موفقیت‌آمیز خواهد بود. .TP \fB\-v\fP, \fB\-\-verbose\fP افزایش سطح جزئیات گزارش‌ها. با تکرار ۱ تا ۴ بار، جزئیات پیام‌های ارسالی به خروجی استاندارد (stdout) و خطای استاندارد (stderr) بیشتر می‌شود. .TP \fB\-y\fP, \fB\-\-yes\fP پاسخ مثبت خودکار به تمام درخواست‌های تأیید بدون پرسش تعاملی از کاربر. با احتیاط فراوان استفاده شود. .TP \fB\-\-commandprofile\fP \fIString\fP مشخص کردن پروفایل دستوری برای اعمال پیکربندی‌های خاص. برای اطلاعات بیشتر به \fBlvm.conf\fP(5) مراجعه فرمایید. .TP \fB\-\-config\fP \fIString\fP اعمال مستقیم تنظیمات پیکربندی برای دستور که تنظیمات \fBlvm.conf\fP(5) را لغو (Override) می‌کنند. .TP \fB\-\-devices\fP \fIPV\fP محدود کردن دستگاه‌های قابل رویت و دسترس برای دستور به موارد مشخص‌شده. سایر دستگاه‌ها به عنوان مفقود در نظر گرفته می‌شوند. .TP \fB\-\-devicesfile\fP \fIString\fP مشخص کردن فایل سفارشی فهرست دستگاه‌ها در \fI/etc/lvm/devices/\fP که توسط ابزار \fBlvmdevices\fP(8) مدیریت می‌شود. .TP \fB\-\-driverloaded\fP \fBy\fP|\fBn\fP اگر روی n تنظیم شود، دستور تلاشی برای استفاده از ماژول device-mapper هسته نخواهد کرد؛ این گزینه برای اهداف آزمایشی و عیب‌یابی است. .TP \fB\-\-journal\fP \fIString\fP ثبت اطلاعات و رخدادهای اجرای دستور در ژورنال سیستم (systemd-journald). .TP \fB\-\-lockopt\fP \fIString\fP ارسال گزینه‌ها و تنظیمات ویژه برای موارد خاص به دیمن مدیریت قفل \fBlvmlockd\fP(8). .TP \fB\-\-longhelp\fP نمایش راهنمای جامع و کامل شامل تمامی گزینه‌ها و دستورهای پیشرفته. .TP \fB\-\-nohints\fP عدم استفاده از فایل نکات (hints file) جهت شناسایی سریع دستگاه‌ها و حجم‌های فیزیکی. .TP \fB\-\-nolocking\fP غیرفعال کردن قفل‌گذاری. با احتیاط استفاده شود، چرا که اجرای هم‌زمان دستورها می‌تواند سبب خراب شدن داده‌ها یا نتایج نادرست شود. .TP \fB\-\-profile\fP \fIString\fP نام مستعار برای \fB\-\-commandprofile\fP یا \fB\-\-metadataprofile\fP بسته به نوع دستور. .TP \fB\-\-version\fP نمایش اطلاعات نگارش و نسخه نرم‌افزار. . .SH "دستورهای توکار (BUILT-IN COMMANDS)" دستورهای زیر به صورت توکار درون lvm قرار دارند و معمولاً پیوند جداگانه‌ای در فایل‌سیستم برای آن‌ها ایجاد نمی‌شود: .sp .PD 0 .TP 16 .B config همانند \fBlvmconfig\fP(8) در زیر. .TP .B devtypes نمایش انواع شناخته‌شده دستگاه‌های بلوکی توکار. .TP .B dumpconfig همانند \fBlvmconfig\fP(8) در زیر. .TP .B formats نمایش قالب‌های متادیتای شناخته‌شده. .TP .B fullreport گزارش هم‌زمان و جامع اطلاعات مربوط به PVها، بخش‌های PV، VGها، LVها و بخش‌های LV. .TP .B help نمایش متن راهنمای دستورها. .TP .B lastlog نمایش گزارش لاگ آخرین دستور اجرا شده در پوسته LVM در صورت فعال بودن گزارش‌گیری لاگ دستورات. .TP .B lvpoll تکمیل عملیات معلق lvmpolld (دستور داخلی). .TP .B segtypes نمایش انواع شناخته‌شده بخش‌های حجم منطقی. .TP .B systemid نمایش هرگونه شناسه سیستم (System ID) که در حال حاضر روی این میزبان تنظیم شده است. .TP .B tags نمایش برچسب‌های تعریف‌شده بر روی این میزبان. .TP .B version نمایش اطلاعات نسخه و نگارش برنامه. .PD . .SH "دستورها (COMMANDS)" دستورهای زیر عملکردهای اصلی سامانه LVM را پیاده‌سازی می‌کنند: .sp .PD 0 .TP 16 .B pvchange تغییر ویژگی‌ها و مشخصات یک حجم فیزیکی (Physical Volume). .TP .B pvck بررسی یکپارچگی متادیتای حجم فیزیکی. .TP .B pvcreate مقداردهی اولیه یک دیسک یا پارتیشن جهت استفاده توسط LVM. .TP .B pvdisplay نمایش ویژگی‌ها و مشخصات یک حجم فیزیکی. .TP .B pvmove انتقال اکستنت‌های فیزیکی از یک دیسک به دیسک دیگر. .TP .B pvremove حذف برچسب LVM و پاک‌سازی حجم فیزیکی. .TP .B pvresize تغییر اندازه دیسک یا پارتیشن مورد استفاده توسط LVM. .TP .B pvs گزارش اطلاعات ساختاریافته درباره حجم‌های فیزیکی. .TP .B pvscan پویش دیسک‌ها و فهرست‌بندی حجم‌های فیزیکی موجود. .TP .B vgcfgbackup پشتیبان‌گیری از ناحیه توصیف‌گر متادیتای گروه حجم (Volume Group). .TP .B vgcfgrestore بازیابی ناحیه توصیف‌گر متادیتای گروه حجم از فایل پشتیبان. .TP .B vgchange تغییر ویژگی‌ها و وضعیت فعالیت یک گروه حجم. .TP .B vgck بررسی صحت و سلامت متادیتای گروه حجم. .TP .B vgcreate ایجاد یک گروه حجم جدید از یک یا چند حجم فیزیکی. .TP .B vgdisplay نمایش اطلاعات تفصیلی و ویژگی‌های گروه‌های حجم. .TP .B vgexport ناشناخته کردن گروه‌های حجم برای سیستم جاری (جهت جابه‌جایی دیسک‌ها). .TP .B vgextend افزودن حجم‌های فیزیکی جدید به یک گروه حجم موجود. .TP .B vgimport معرفی و وارد کردن گروه‌های حجم صادرشده (Export شده) به سیستم. .TP .B vgimportclone وارد کردن و تغییر نام گروه حجم تکثیرشده (مانند اسنپ‌شات‌های سخت‌افزاری سان). .TP .B vgimportdevices افزودن حجم‌های فیزیکی یک گروه حجم به فایل دستگاه‌ها. .TP .B vgmerge ادغام دو گروه حجم با یکدیگر. .TP .B vgmknodes ایجاد مجدد دایرکتوری گروه حجم و گره‌های ویژه دستگاه‌های حجم منطقی. .TP .B vgreduce کوچک کردن یک گروه حجم از طریق حذف یک یا چند حجم فیزیکی از آن. .TP .B vgremove حذف کامل یک گروه حجم. .TP .B vgrename تغییر نام یک گروه حجم. .TP .B vgs گزارش خلاصه و اطلاعات ساختاریافته درباره گروه‌های حجم. .TP .B vgscan پویش تمام دستگاه‌ها و فهرست‌بندی گروه‌های حجم موجود. .TP .B vgsplit تقسیم یک گروه حجم به دو گروه مجزا با انتقال حجم‌های فیزیکی مربوطه. .TP .B lvchange تغییر ویژگی‌ها و وضعیت یک حجم منطقی (Logical Volume). .TP .B lvconvert تبدیل چینش و ساختار حجم منطقی (خطی به آینه‌ای، RAID یا اسنپ‌شات). .TP .B lvcreate ایجاد یک حجم منطقی جدید در یک گروه حجم موجود. .TP .B lvdisplay نمایش ویژگی‌ها و مشخصات کامل حجم‌های منطقی. .TP .B lvextend افزایش اندازه و ظرفیت یک حجم منطقی. .TP .B lvmconfig نمایش اطلاعات پیکربندی پس از بارگذاری \fBlvm.conf\fP(5) و فایل‌های مرتبط. .TP .B lvmdevices مدیریت فایل دستگاه‌های LVM. .TP .B lvmdiskscan پویش و شناسایی تمامی دستگاه‌های ذخیره‌سازی قابل رویت برای LVM. .TP .B lvmdump ایجاد بسته‌های اطلاعاتی و تشخیصی LVM برای مقاصد عیب‌یابی و گزارش باگ. .TP .B lvreduce کاهش اندازه و حجم یک حجم منطقی. .TP .B lvremove حذف یک یا چند حجم منطقی از سیستم. .TP .B lvrename تغییر نام یک حجم منطقی. .TP .B lvresize تغییر اندازه کلی (کاهش یا افزایش) یک حجم منطقی. .TP .B lvs گزارش و نمایش اطلاعات ساختاریافته پیرامون حجم‌های منطقی. .TP .B lvscan پویش و فهرست‌بندی حجم‌های منطقی در سراسر گروه‌های حجم. .PD .PP برای مشاهده معیارهای کارایی و آمار مصرف، از ابزار \fBdmstats\fP(8) استفاده کنید. همچنین برای دستکاری و مدیریت مستقیم درایور device-mapper هسته که زیربنای LVM است، از ابزار \fBdmsetup\fP(8) استفاده نمایید. . .SH "نام‌های معتبر (VALID NAMES)" کاراکترهای مجاز برای نام‌گذاری گروه‌های حجم (VG) و حجم‌های منطقی (LV) عبارتند از: .BR a \(en z .BR A \(en Z .BR 0 \(en 9 .B + _ . \- .PP نام‌های VG نمی‌توانند با خط تیره (\-) شروع شوند. نام یک LV جدید نیز نمی‌تواند با خط تیره آغاز شود. با این وجود، در صورتی که تنظیم پیکربندی \fBmetadata/record_lvs_history\fP فعال شده باشد، وجود نام یک LV با پیشوند خط تیره نشان می‌دهد که اگرچه آن LV حذف گردیده، اما همچنان اطلاعات آن نگهداری می‌شود زیرا بخشی از پیشینه و تاریخچه حداقل یک LV موجود دیگر را تشکیل می‌دهد. این قابلیت به ثبت زنجیره اجدادی اسنپ‌شات‌های نازک (Thin Snapshots) حتی پس از حذف برخی حلقه‌های میانی کمک می‌کند. به عنوان مثال، ارجاع به LV تاریخی با نام 'lvol1' در گروه حجم 'vg00' به صورت 'vg00/\-lvol1' یا در صورت مشخص بودن VG صرفاً به شکل '\-lvol1' خواهد بود (در حالت دوم باید پیش از آن آرگومان '\-\-' درج شود تا از تفسیر آن به عنوان سوییچ خط فرمان جلوگیری به عمل آید). .PP همچنین مجموعه‌ای از نام‌های رزروشده وجود دارند که در ساختار درونی LVM مورد استفاده قرار می‌گیرند و نمی‌توان از آن‌ها برای نام‌گذاری VG یا LV استفاده کرد. یک VG نمی‌تواند همنام با هیچ فایلی باشد که در هنگام ایجاد در مسیر \fI/dev/\fP وجود دارد و همچنین نام‌های .RB ' . ' یا .RB ' .. ' برای آن مجاز نیست. یک LV نمی‌تواند .RB ' . ' , .RB ' .. ' , .RB ' snapshot ' یا .RB ' pvmove ' نام‌گذاری شود. علاوه بر این، نام یک LV نباید دربرگیرنده هیچ‌یک از رشته‌های زیر باشد: .RB ' _cdata ' , .RB ' _cmeta ' , .RB ' _corig ' , .RB ' _iorig ' , .RB ' _mimage ' , .RB ' _mlog ' , .RB ' _pmspare ' , .RB ' _rimage ' , .RB ' _rmeta ' , .RB ' _tdata ' , .RB ' _tmeta ' , .RB ' _vdata ' , .RB ' _vorigin ' یا .RB ' _wcorig ' . هنگام فعال‌سازی هر یک از حجم‌های منطقی، پوشه‌ای همنام با گروه حجم در مسیر \fI/dev\fP ایجاد می‌گردد. هر حجم منطقی فعال از طریق این پوشه به صورت یک پیوند نمادین (Symbolic Link) که به گره دستگاه اشاره دارد در دسترس خواهد بود. پیوندها و گره‌های موجود در \fI/dev/mapper\fP تنها برای کاربردهای داخلی سامانه طراحی شده‌اند و ساختار و نویسه‌های اسکیپ‌شده آن‌ها ممکن است میان نسخه‌ها و توزیع‌های مختلف لینوکس تغییر یابد. سایر نرم‌افزارها و اسکریپت‌ها همواره باید از مسیر استاندارد \fI/dev/VolumeGroupName/LogicalVolumeName\fP استفاده کنند تا در صورت ارتقای سیستم نیازی به بازنویسی کدها نباشد. در صورت نیاز به تفکیک نام‌ها در \fI/dev/mapper\fP، می‌توانید از دستور \fBdmsetup splitname\fP برای جداسازی نام‌های اولیه VG، LV و لایه‌های درونی استفاده کنید. . .SH "نام‌های یکتا (UNIQUE NAMES)" نام‌های گروه حجم باید یکتا باشند. دستور \fBvgcreate\fP در صورت تشابه نام VG با یک گروه موجود دیگر، خطا می‌دهد. با این حال، در شرایط خاصی مانند جابه‌جایی فیزیکی دیسک‌ها میان رایانه‌ها یا تغییر قوانین فیلتر، ممکن است چند VG با نام یکسان در دید سیستم پدیدار شوند. .PP هنگامی که چند VG با نام یکسان یافت شوند، دستورهایی که بر روی تمام VGها عمل می‌کنند هر دوی آن‌ها را در نظر می‌گیرند. اما اگر نام دارای ابهام در خط فرمان درج شود، دستور با خطا متوقف شده و اعلام می‌کند که چند VG با نام مذکور وجود دارد. در این وضعیت، جهت اشاره به یک گروه حجم معین، باید از گزینه \fB\-\-select\fP به همراه شناسه یکتای سراسری (UUID) گروه حجم استفاده گردد: .PP .nf \-\-select vg_uuid= .fi .PP یک استثنا در این زمینه، زمانی است که تمامی VGهای هم‌نام به جز یکی از آن‌ها خارجی (Foreign) باشند (به \fBlvmsystemid\fP(7) مراجعه نمایید). در چنین حالتی، تنها گروه حجمی که متعلق به این میزبان است به صورت خودکار انتخاب و پردازش خواهد شد. .PP نام‌های حجم‌های منطقی (LV) نیز در محدوده یک گروه حجم همواره یکتا هستند. نام یک LV حذف‌شده اما حاضر در تاریخچه را تا زمان پاک‌سازی نهایی یا تغییر نام آن نمی‌توان مجدداً برای حجم جدیدی تخصیص داد. . .SH "برچسب‌ها (TAGS)" برچسب‌ها رشته‌هایی هستند که توسط مدیر سیستم تعریف شده و می‌توان آن‌ها را به PVها، VGها و LVها متصل نمود. برچسب‌های موجود را می‌توان از طریق دستورهای \fBpvs/vgs/lvs \-o tags\fP مشاهده کرد. برخی از دستورات نام برچسب را به جای نام مستقیم PV، VG یا LV می‌پذیرند که در این صورت عملیات بر روی تمامی اشیای دارای آن برچسب اعمال می‌شود. جهت جلوگیری از بروز ابهام، برچسب‌ها باید همواره با پیشوند \fB@\fP مشخص شوند. .br کاراکترهای مجاز برای نگارش برچسب‌ها عبارتند از: .B A\(enZ a\(enz 0\(en9 _ + . \- / = ! : # & . .SH "تخصیص فضا (ALLOCATION)" هنگامی که عملیاتی نیازمند تخصیص اکستنت‌های فیزیکی (Physical Extents یا PE) برای یک یا چند حجم منطقی باشد، ابزارهای LVM به ترتیب زیر اقدام می‌کنند: .PP در گام نخست، مجموعه کاملی از اکستنت‌های فیزیکی آزاد و تخصیص‌نیافته درون گروه حجم تهیه می‌شود. اگر بازه‌ای مشخص از اکستنت‌های فیزیکی در انتهای خط فرمان تعیین شده باشد، صرفاً اکستنت‌های آزاد واقع در آن بازه‌ها بر روی حجم‌های فیزیکی مشخص‌شده مد نظر قرار می‌گیرند. .PP سپس سیاست‌های تخصیص فضا به ترتیب اولویت، از سخت‌گیرانه‌ترین خط‌مشی (\fBcontiguous\fP) تا سیاستی که با گزینه \fB\-\-alloc\fP تعیین شده یا به عنوان پیش‌فرض حجم منطقی/گروه حجم ثبت شده، اعمال می‌شوند. برای هر سیاست، ابزارها از پایین‌ترین شماره اکستنت منطقی فضای خالی که نیازمند پر شدن است شروع کرده و تا جای ممکن فضا را مطابق با قیود سیاست جاری تخصیص می‌دهند. در صورت باقی ماندن نیاز به فضای بیشتر، فرایند با سیاست بعدی ادامه می‌یابد. .PP قیود سیاست‌های مختلف عبارتند از: .PP سیاست پیوسته (\fBContiguous\fP): الزام می‌کند که موقعیت فیزیکی هر اکستنت منطقی (به جز اکستنت اول)، دقیقاً چسبیده و هم‌جوار با موقعیت فیزیکی اکستنت منطقی پیشین خود باشد. .PP سیاست چسبنده (\fBCling\fP): الزام می‌کند که حجم فیزیکی (PV) مورد استفاده برای اکستنت جدید، پیش از این توسط حداقل یک اکستنت منطقی قدیمی‌تر در همان حجم منطقی استفاده شده باشد. اگر متغیر پیکربندی \fBallocation/cling_tag_list\fP تعریف شده باشد، دو حجم فیزیکی در صورتی همسان تلقی می‌شوند که حداقل یکی از برچسب‌های فهرست‌شده روی هر دوی آن‌ها وجود داشته باشد. این شیوه به گروه‌بندی حجم‌های فیزیکی دارای مشخصات مشترک (مانند موقعیت مکانی دیسک‌ها) برای مقاصد تخصیص کمک می‌کند. .PP در حجم‌های منطقی که به صورت راه‌راه (Striped) یا آینه‌ای (Mirrored) هستند، قیود یادشده به طور کاملاً مستقل برای هر خط راهواره یا هر پایه آینه (Leg) اعمال می‌گردد. .PP سیاست عادی (\fBNormal\fP): اکستنت فیزیکی‌ای را که در یک PV مشترک با یک اکستنت منطقی موازی (مانند یک راهواره دیگر یا پایه دیگر آینه در همان آفست) قرار داشته باشد، انتخاب نخواهد کرد. .PP هنگام تخصیص گزارش رخدادهای آینه (Mirror Log) هم‌زمان با حجم‌های نگهدارنده داده‌های آینه، سیاست Normal ابتدا تلاش می‌کند تا دیسک‌های فیزیکی مجزایی برای لاگ و داده‌ها تخصیص دهد. در صورت عدم امکان و چنانچه پارامتر پیکربندی \fBallocation/mirror_logs_require_separate_pvs\fP برابر صفر باشد، لاگ مجاز خواهد بود PV مشترکی با داده‌ها داشته باشد. .PP هنگام تخصیص متادیتای مخزن نازک (Thin Pool)، ملاحظات مشابهی با لاگ آینه بر مبنای پارامتر پیکربندی \fBallocation/thin_pool_metadata_require_separate_pvs\fP اعمال خواهد شد. .PP در صورتی که برنامه یا فرایند شما به رفتاری وابسته است که در این راهنما قید نشده، توجه داشته باشید که ممکن است در نگارش‌های آینده کد هسته تغییر یابد. .PP برای نمونه، اگر دو حجم فیزیکی خالی با تعداد یکسان اکستنت آزاد در خط فرمان معرفی شوند، کد فعلی به ترتیب ورود آن‌ها را به کار می‌گیرد، اما هیچ تضمینی برای حفظ این تقدم در نسخه‌های بعدی وجود ندارد. چنانچه دستیابی به یک ساختار هندسی و چینش ویژه برای یک حجم منطقی مد نظر است، باید آن را از طریق گام‌های پیاپی با دستورات \fBlvcreate\fP(8) و \fBlvconvert\fP(8) بسازید، به نحوی که قیود تشریح‌شده در هر گام مجالی برای انتخاب سلیقه‌ای ابزارها باقی نگذارد. .PP جهت بررسی چگونگی عملکرد فرایند تخصیص در هر سناریو، می‌توانید خروجی اشکال‌زدایی کامل را با افزودن گزینه \fB\-vvvv\fP به دستور مشاهده کنید. . .SH "انواع حجم منطقی (LOGICAL VOLUME TYPES)" برخی از انواع حجم منطقی به سادگی و تنها با یک دستور \fBlvcreate\fP(8) ایجاد می‌شوند که نمونه آن حجم‌های خطی (Linear) و راه‌راه (Striped) هستند. برخی دیگر از انواع حجم به مراحل و دستورات بیشتری نیازمندند؛ حجم‌های دارای حافظه موقت حافظه واسط (\fBlvmcache\fP(7)) و حجم‌های با تخصیص پویا و نازک (\fBlvmthin\fP(7)) از این قبیل هستند. . .SH "عیب‌یابی و کدهای خروج (DIAGNOSTICS)" تمامی ابزارهای LVM در صورت اجرای موفق، کد خروج صفر (\(lq0\(rq) و در صورت بروز خطا مقداری غیر صفر بازمی‌گردانند. کدهای غیر صفر نمایانگر دسته‌بندی‌های کلی نظیر دستورات ناشناخته، خطا در پردازش شناسه‌های خط فرمان و سایر خرابی‌ها هستند. با توجه به توسعه پیوسته LVM، کدهای خروج یا متون پیام‌ها در شرایط خاص ممکن است میان نسخه‌های مختلف دچار تغییراتی گردند. . .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .TP .B HOME دایرکتوری حاوی فایل تاریخچه \fI.lvm_history\fP در صورت استفاده از پوسته تعاملی داخلی editline. .TP .B LVM_OUT_FD توصیف‌کننده فایل (File Descriptor) برای ارسال خروجی‌های عمومی دستورهای LVM. .TP .B LVM_ERR_FD توصیف‌کننده فایل برای ارسال خروجی‌های خطای دستورهای LVM. .TP .B LVM_REPORT_FD توصیف‌کننده فایل برای ارسال خروجی گزارش‌ها در دستورهای LVM. .TP .B LVM_COMMAND_PROFILE نام پروفایل دستوری پیش‌فرض برای پیکربندی دستورها. استفاده مستقیم از گزینه \fB\-\-commandprofile\fP بر این مقدار تقدم دارد. .TP .B LVM_RUN_BY_DMEVENTD این متغیر توسط افزونه dmeventd تنظیم می‌شود تا به دستور lvm اطلاع دهد که از درون dmeventd اجرا شده است تا lvm اقدامات حفاظتی را جهت پیشگیری از بروز بن‌بست (Deadlock) به کار بندد. .TP .B LVM_SYSTEM_DIR دایرکتوری حامل فایل‌های سیستمی و فایل \fBlvm.conf\fP(5). مقدار پیش‌فرض آن "\fI/etc/lvm\fP" است. .TP .B LVM_SUPPRESS_FD_WARNINGS جلوگیری از صدور هشدارهای مربوط به نشت توصیف‌کننده‌های فایل ناشناخته به محیط LVM. .TP .B LVM_SUPPRESS_SYSLOG جلوگیری از ارسال پیام‌های گزارش به سرویس syslog. .TP .B LVM_VG_NAME نام گروه حجمی که به عنوان پیش‌فرض برای ارجاع به هر حجم منطقی فاقد نام گروه در نظر گرفته می‌شود. به صورت پیش‌فرض تنظیم نشده است. .TP .B LVM_LVMPOLLD_PIDFILE مسیر فایل نگه‌دارنده شناسه فرآیند (PID) سرویس lvmpolld. .TP .B LVM_LVMPOLLD_SOCKET مسیر سوکت ارتباطی با دیمن lvmpolld. .TP .B LVM_LOG_FILE_EPOCH رشته‌ای تا حداکثر ۳۲ نویسه که به انتهای نام فایل لاگ الحاق شده و به دنبال آن شناسه فرآیند و برچسب زمانی راه‌اندازی با الگوی "_%s_%d_%llu" قرار می‌گیرد تا هر فرآیند در فایلی مجزا لاگ بیندازد. .TP .B LVM_LOG_FILE_MAX_LINES حداکثر تعداد خطوط ارسالی به فایل لاگ. در صورت فراتر رفتن، فرآیند متوقف خواهد شد تا از به دام افتادن دستورات در حلقه‌های بی‌پایان جلوگیری شود. .TP .B LVM_EXPECTED_EXIT_STATUS کد خروج مورد انتظار هنگام پایان فرآیند. استفاده از فرمت ">N" وضعیت‌های بزرگتر از N را پوشش می‌دهد. در صورت تطابق، فایل لاگ به عنوان رخدادی عادی به طور خودکار حذف می‌شود. .TP .B LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES بی‌صدا کردن هشدارهای مربوط به عدم دسترسی به سامانه قفل‌گذاری در محیط‌های بدون امکان قفل. .TP .B DM_ABORT_ON_INTERNAL_ERRORS متوقف کردن فوری عملیات در صورت مشاهده خطاهای داخلی غیرمهلک توسط کتابخانه Device Mapper. .TP .B DM_DISABLE_UDEV جلوگیری از تعامل مستقیم با سامانه udev و واگذاری مدیریت گره‌های دستگاه در /dev به خود LVM. .TP .B DM_DEBUG_WITH_LINE_NUMBERS افزودن نام فایل منبع کد و شماره خط در لاگ‌های خطایابی libdm. . .SH "فایل‌ها (FILES)" .I /etc/lvm/lvm.conf .br .I /etc/lvm/lvmlocal.conf .br .I $HOME/.lvm_history . .SH "همچنین ببینید (SEE ALSO)" .nh .na .BR lvm (8), .BR lvm.conf (5), .BR lvmconfig (8), .BR lvmdevices (8), .PP .BR pvchange (8), .BR pvck (8), .BR pvcreate (8), .BR pvdisplay (8), .BR pvmove (8), .BR pvremove (8), .BR pvresize (8), .BR pvs (8), .BR pvscan (8), .PP .BR vgcfgbackup (8), .BR vgcfgrestore (8), .BR vgchange (8), .BR vgck (8), .BR vgcreate (8), .BR vgconvert (8), .BR vgdisplay (8), .BR vgexport (8), .BR vgextend (8), .BR vgimport (8), .BR vgimportclone (8), .BR vgimportdevices (8), .BR vgmerge (8), .BR vgmknodes (8), .BR vgreduce (8), .BR vgremove (8), .BR vgrename (8), .BR vgs (8), .BR vgscan (8), .BR vgsplit (8), .PP .BR lvcreate (8), .BR lvchange (8), .BR lvconvert (8), .BR lvdisplay (8), .BR lvextend (8), .BR lvreduce (8), .BR lvremove (8), .BR lvrename (8), .BR lvresize (8), .BR lvs (8), .BR lvscan (8), .PP .BR lvm\-fullreport (8), .BR lvm\-lvpoll (8), .BR blkdeactivate (8), .BR lvmdump (8), .PP .BR dmeventd (8), .BR lvmpolld (8), .BR lvmlockd (8), .BR lvmlockctl (8), .BR cmirrord (8), .BR lvmdbusd (8), .BR fsadm (8), .PP .BR lvmsystemid (7), .BR lvmreport (7), .BR lvmcache (7), .BR lvmraid (7), .BR lvmthin (7), .BR lvmvdo (7), .BR lvmautoactivation (7), .PP .BR dmsetup (8), .BR dmstats (8), .BR editline (3) .ad .hy