| LVREDUCE(8) | دستورهای مدیریتی و نگهداری | LVREDUCE(8) |
نام (NAME)
lvreduce - کاهش و تقلیل اندازه یک حجم منطقی در LVM
خلاصه دستور (SYNOPSIS)
lvreduce [گزینهها] حجم_منطقی
توضیحات (DESCRIPTION)
دستور lvreduce اندازه یک حجم منطقی (LV) را کاهش میدهد. بخشهای آزادشده به گروه حجم (VG) برگردانده میشوند. با استفاده از گزینه -r میتوان ابتدا اندازه سیستم فایل را به طور ایمن کاهش داد. بخشهای آزادشده به گروه حجم برگردانده میشوند تا توسط سایر حجمهای منطقی استفاده شوند. همچنین یک حجم منطقی اسنپشات copy-on-write را در صورتی که فضای کمتری برای نگهداری بلوکهای COW نیاز باشد میتوان کاهش داد. جهت تغییر تعداد ایمیجهای داده در یک حجم منطقی RAID یا آینهای (mirrored)، از دستور lvconvert(8) استفاده کنید.
هنگام کاهش اندازه یک حجم منطقی بسیار محتاط باشید، زیرا دادههای موجود در ناحیه کاهشیافته از دست خواهند رفت. اطمینان حاصل کنید که هر سیستم فایل موجود روی حجم منطقی پیش از اجرای lvreduce تغییر اندازه داده شده باشد تا اکستنتهای حذفشده توسط سیستم فایل در حال استفاده نباشند.
اندازهها در صورت لزوم گرد خواهند شد. برای نمونه، اندازه حجم منطقی باید تعداد دقیقی از اکستنتها باشد، و اندازه یک قطعه خطکشیشده (striped segment) باید مضربی از تعداد خطکشیها (stripes) باشد.
در بخش نحوه استفاده در زیر، گزینه --size Size میتواند با --extents Number جایگزین شود. توضیحات هر دو را در بخش گزینهها ببینید.
نحوه استفاده (USAGE)
lvreduce -L|--size
[-]Size[m|UNIT] LV
[ -A|--autobackup y|n ]
[ -f|--force ]
[ -n|--nofsck ]
[ -r|--resizefs ]
[ --noudevsync ]
[ --reportformat basic|json|json_std ]
[ --fs String ]
[ --fsmode String ]
[ COMMON_OPTIONS ]
گزینههای عمومی برای lvm:
[ -h|--help ]
[ -q|--quiet ]
[ -t|--test ]
[ -v|--verbose ]
[ -y|--yes ]
[ --commandprofile String ]
[ --config String ]
[ --devices PV ]
[ --devicesfile String ]
[ --driverloaded y|n ]
[ --journal String ]
[ --lockopt String ]
[ --longhelp ]
[ --nohints ]
[ --nolocking ]
[ --profile String ]
[ --version ]
گزینهها (OPTIONS)
-A|--autobackup y|n
مشخص
میکند که
آیا
متاداده پس
از اعمال
تغییر باید
به طور
خودکار
پشتیبانگیری
شود یا خیر.
فعالسازی
این گزینه
اکیداً
توصیه
میشود!
برای
اطلاعات
بیشتر به
vgcfgbackup(8) مراجعه
کنید.
--commandprofile String
پروفایل
دستوری
مورد
استفاده
برای
پیکربندی
دستور. برای
اطلاعات
بیشتر
درباره
پروفایلها
به lvm.conf(5)
مراجعه
کنید.
--config String
تنظیمات
پیکربندی
برای دستور.
این
تنظیمات بر
مقادیر lvm.conf(5)
اولویت
دارند.
آرگومان String
از همان
قالب lvm.conf(5)
استفاده
میکند یا
میتواند
از نحو
بخش/فیلد (section/field)
استفاده
نماید. برای
اطلاعات
بیشتر
پیرامون
پیکربندی
به lvm.conf(5)
مراجعه
کنید.
-d|--debug ...
تنظیم سطح
اشکالزدایی
(دیباگ). برای
افزایش
جزئیات
پیامهای
ارسالی به
فایل لاگ یا
syslog (در صورت
پیکربندی)
بین ۱ تا ۶
بار تکرار
کنید.
--devices PV
دستگاههای
قابل
مشاهده و در
دسترس برای
دستور را
محدود
میکند.
دستگاههایی
که در لیست
نباشند به
صورت مفقود
به نظر
خواهند
رسید. این
گزینه
میتواند
تکرار شود،
یا فهرستی
از
دستگاهها
را با کاما
جدا شده
بپذیرد. این
گزینه بر
فایل
دستگاهها
اولویت
دارد.
--devicesfile String
فایلی که
فهرستی از
دستگاههای
مجاز برای
استفاده
توسط LVM را
مشخص
میکند. این
فایل باید
در مسیر /etc/lvm/devices/
موجود باشد
و توسط
دستور lvmdevices(8)
مدیریت
میشود. این
گزینه بر
تنظیمات
devices/devicesfile و devices/use_devicesfile
در lvm.conf(5)
اولویت
دارد.
--driverloaded y|n
در صورت
تنظیم روی no،
دستور
تلاشی برای
استفاده از
device-mapper نخواهد
کرد. این
گزینه برای
آزمایش و
اشکالزدایی
کاربرد
دارد.
-l|--extents [-]Number[PERCENT]
اندازه
جدید حجم
منطقی را بر
حسب
اکستنتهای
منطقی مشخص
میکند.
گزینههای
--size و --extents
روشهای
جایگزین
برای تعیین
اندازه
هستند.
هنگامی که
برای سطوح RAID
به
دادههای
افزونه (redundant)
نیاز باشد،
تعداد کل
اکستنتهای
فیزیکی
مورد
استفاده
بیشتر
خواهد بود.
یک نحو
جایگزین
اجازه
میدهد تا
اندازه به
صورت
غیرمستقیم
به عنوان
درصدی از
اندازه یک VG،
حجم منطقی (LV)
یا
مجموعهای
از
دیسکهای
فیزیکی (PV)
مربوطه
تعیین شود.
پسوند %VG
بیانگر کل
اندازه VG،
پسوند %FREE
نشاندهنده
فضای آزاد
باقیمانده
در VG، و
پسوند %PVS
نمایانگر
فضای آزاد
در
دیسکهای
فیزیکی
مشخصشده
است. برای یک
اسنپشات،
اندازه
میتواند
به صورت
درصدی از کل
اندازه LV
مبدا با
پسوند %ORIGIN
بیان شود (100%ORIGIN
فضا را برای
کل حجم مبدا
فراهم
میکند).
هنگامی که
اندازه به
صورت درصد
بیان شود،
یک حد بالا
برای تعداد
اکستنتهای
منطقی در LV
جدید تعریف
میکند.
تعداد دقیق
اکستنتهای
منطقی در LV
جدید تا
زمان تکمیل
دستور مشخص
نمیشود.
هنگامی که
از پیشوند
منفی - یا
مثبت +
استفاده
شود، مقدار
یک اندازه
مطلق نیست،
بلکه نسبی
بوده و از
اندازه
فعلی کم یا
به آن اضافه
میشود.
-f|--force ...
نادیده
گرفتن
بررسیهای
گوناگون،
تاییدها و
محافظتها.
با احتیاط
بسیار زیاد
استفاده
شود.
--fs String
کنترل
تغییر
اندازه
سیستم فایل
هنگام
تغییر
اندازه یک LV.
checksize: بررسی
اندازه
سیستم فایل
و کاهش LV در
صورتی که
سیستم فایل
از فضای
کاهشیافته
استفاده
نکند (کاهش
اندازه
سیستم فایل
لازم نیست).
اگر فضای
کاهشیافته
توسط سیستم
فایل
استفاده
شده باشد،
اندازه
سیستم فایل
یا LV تغییر
نمیکند و
خطایی
بازگردانده
میشود (checksize
فقط هنگام
کاهش اعمال
میشود و
برای
افزایش
کاری انجام
نمیدهد).
resize: تغییر
اندازه
سیستم فایل
با
فراخوانی
دستور ویژه
همان سیستم
فایل. این
ممکن است
شامل سوار
کردن (mount)،
پیاده کردن
(unmount) یا اجرای fsck
نیز باشد.
برای کنترل
رفتار سوار
کردن به --fsmode و
برای
غیرفعال
کردن fsck به --nofsck
مراجعه
کنید.
resize_fsadm: استفاده
از روش
قدیمی
فراخوانی fsadm
برای
مدیریت
سیستم فایل
(منسوخ شده).
هشدار: این
گزینه مانع
از نابودی
سیستم
فایلهایی
که پیاده
شدهاند (یا
اگر
تاییدها
نادیده
گرفته
شوند، سوار
هستند) توسط
lvreduce نمیشود.
ignore: تغییر
اندازه LV
بدون بررسی
یا مدیریت
سیستم فایل.
هشدار:
استفاده از
ignore هنگام
کاهش
اندازه LV
ممکن است
سیستم فایل
را نابود
کند.
--fsmode String
کنترل
رفتار سوار
کردن سیستم
فایل برای
تغییر
اندازه
سیستم فایل.
manage: سوار
کردن یا
پیاده کردن
سیستم فایل
بر حسب نیاز
جهت تغییر
اندازه آن،
و تلاش برای
بازگرداندن
وضعیت
اولیه سوار
شدن در
پایان.
nochange: عدم سوار
کردن یا
پیاده کردن
سیستم فایل.
اگر سوار
کردن یا
پیاده کردن
برای تغییر
اندازه
سیستم فایل
ضروری
باشد،
اندازه
سیستم فایل
یا LV تغییر
نمیکند و
دستور با
شکست مواجه
میشود.
offline: پیاده
کردن سیستم
فایل در
صورت سوار
بودن، و
تغییر
اندازه
سیستم فایل
در وضعیت
پیادهشده.
اگر برای
تغییر
اندازه
سیستم فایل
نیاز به
سوار کردن
باشد،
اندازه
سیستم فایل
یا LV تغییر
نکرده و
دستور شکست
میخورد.
-h|--help
نمایش متن
راهنما.
--journal String
ثبت
اطلاعات در
ژورنال systemd.
این
اطلاعات
علاوه بر
اطلاعات
فعالشده
توسط تنظیم
log/journal در lvm.conf است.
command: ثبت
اطلاعات
پیرامون
دستور.
output: ثبت
خروجی
پیشفرض
دستور.
debug: ثبت
اشکالزدایی
کامل
دستور.
--lockopt String
برای ارسال
گزینهها
در موارد
خاص به lvmlockd
استفاده
میشود.
برای
اطلاعات
بیشتر به lvmlockd(8)
مراجعه
کنید.
--longhelp
نمایش متن
راهنمای
بلند.
-n|--nofsck
عدم اجرای fsck
هنگام
تغییر
اندازه
سیستم فایل
با --resizefs.
--nohints
عدم
استفاده از
فایل
راهنما (hints)
برای تعیین
موقعیت
دستگاهها
برای
دیسکهای
فیزیکی (PV).
هنگامی که
از hints
استفاده
نشود،
دستور ممکن
است
دستگاههای
بیشتری را
برای یافتن
PVها بخواند.
این دستور
همچنان در
صورت لزوم
باطلسازی
استاندارد
فایل
راهنما را
انجام
خواهد داد.
--nolocking
غیرفعال
کردن
قفلگذاری.
با احتیاط
استفاده
شود؛
دستورات
همزمان
ممکن است
نتایج
نادرستی
تولید
کنند.
--noudevsync
غیرفعال
کردن
همگامسازی
udev. فرآیند
منتظر
دریافت
اعلان از
سوی udev
نخواهد
ماند و
صرفنظر از
هرگونه
پردازش
احتمالی udev
در
پسزمینه
ادامه
خواهد یافت.
تنها زمانی
از این
گزینه
استفاده
کنید که udev در
حال اجرا
نباشد یا
دارای
قوانینی
باشد که
دستگاههای
ایجادشده
توسط LVM را
نادیده
میگیرند.
--profile String
یک نام
مستعار
برای --commandprofile یا
--metadataprofile، بسته به
دستور.
-q|--quiet ...
سرکوب
خروجی و
پیامهای
گزارشگیری
(log). بر --debug و --verbose
اولویت
دارد. تکرار
آن برای
یکبار
همچنین
هرگونه
اعلان
تایید با
پاسخ 'no' را
سرکوب
میکند.
--reportformat basic|json|json_std
قالب فعلی
خروجی
گزارشها
را که به طور
سراسری
توسط تنظیم
report/output_format در lvm.conf(5)
تعریف شده
است
بازنویسی
میکند.
قالب basic
همان قالب
اصلی دارای
ستونها و
سطرها است.
اگر بیش از
یک گزارش در
هر دستور
وجود داشته
باشد، هر
گزارش برای
شناسایی با
نام گزارش
پیشوندگذاری
میشود.
قالب json
خروجی
گزارش را در
قالب JSON
تولید
میکند.
قالب json_std
خروجی
گزارش را در
قالب JSON
سازگارتر
با
استاندارد
JSON تولید
مینماید.
برای
اطلاعات
بیشتر به
lvmreport(7) مراجعه
کنید.
-r|--resizefs
تغییر
اندازه
سیستم فایل
با استفاده
از دستور
ویژه همان
سیستم فایل.
ممکن است
شامل سوار
کردن،
پیاده کردن
یا اجرای fsck
باشد. برای
کنترل
رفتار سوار
کردن به --fsmode و
برای
غیرفعال
کردن fsck به --nofsck
مراجعه
کنید. برای
گزینههای
بیشتر به --fs
رجوع کنید
(--resizefs معادل --fs resize
است).
-L|--size [-]Size[m|UNIT]
اندازه
جدید حجم
منطقی (LV) را
مشخص
میکند.
گزینههای
--size و --extents
روشهای
جایگزین
برای تعیین
اندازه
هستند.
هنگامی که
برای سطوح RAID
به
دادههای
افزونه (redundant)
نیاز باشد،
تعداد کل
اکستنتهای
فیزیکی
مورد
استفاده
بیشتر
خواهد بود.
هنگامی که
از پیشوند
منفی - یا
مثبت +
استفاده
شود، مقدار
یک اندازه
مطلق نیست،
بلکه نسبی
بوده و از
اندازه
فعلی کم یا
به آن اضافه
میشود.
-t|--test
اجرا در
حالت
آزمایشی.
دستورات
متاداده را
بهروزرسانی
نخواهند
کرد. این
قابلیت با
غیرفعال
کردن تمامی
عملیات
نوشتن
متاداده
پیادهسازی
شده است،
اما با این
وجود وضعیت
موفقیت را
به تابع
فراخوان
بازمیگرداند.
در صورتی که
ابزاری
وابسته به
خواندن
متادادهای
باشد که
تصور
میکند
تغییر
یافته اما
تغییری
نکرده است،
این امر
ممکن است
منجر به
پیامهای
خطای
غیرعادی در
عملیات
چندمرحلهای
شود.
-v|--verbose ...
تنظیم سطح
پرگویی (verbose).
برای
افزایش
جزئیات
پیامهای
ارسالی به stdout
و stderr بین ۱ تا ۴
بار تکرار
کنید.
--version
نمایش
اطلاعات
نسخه.
-y|--yes
عدم
درخواست
تعاملی
تایید و فرض
همیشگی
پاسخ بله. با
احتیاط
بسیار زیاد
استفاده
شود. (برای
پاسخ منفی
خودکار، به
-qq مراجعه
کنید.)
متغیرها (VARIABLES)
- LV
- نام حجم منطقی (Logical Volume). برای نامهای معتبر به lvm(8) مراجعه کنید. یک آرگومان موضعی LV عموماً شامل نام VG و نام LV است، مانند VG/LV.
- String
- برای کسب اطلاعات پیرامون محتوای رشته، به توضیحات گزینه مربوطه مراجعه کنید.
- Size[UNIT]
- مقدار Size یک عدد ورودی است که یک واحد اختیاری را میپذیرد. واحدهای ورودی همواره به عنوان مقادیر مبنای ۲ (دودویی) محاسبه میشوند، صرفنظر از کوچک یا بزرگ بودن حروف؛ برای نمونه هم 'k' و هم 'K' برابر با ۱۰۲۴ در نظر گرفته میشوند. واحد ورودی پیشفرض با یک حرف و پس از آن |UNIT مشخص شده است. عبارت UNIT نمایانگر سایر واحدهای ورودی مجاز است: b|B بایت (Bytes)، s|S سکتورهای ۵۱۲ بایتی (Sectors)، k|K کیبیبایت (KiB)، m|M مبیبایت (MiB)، g|G گیبیبایت (GiB)، t|T تبیبایت (TiB)، p|P پبیبایت (PiB)، e|E اگزیبایت (EiB). (این موضوع نباید با گزینه کنترل خروجی --units اشتباه گرفته شود، که در آن حروف بزرگ مضاربی از ۱۰۰۰ هستند.)
متغیرهای محیطی (ENVIRONMENT VARIABLES)
جهت کسب اطلاعات پیرامون متغیرهای محیطی مورد استفاده توسط LVM، به lvm(8) مراجعه کنید. برای نمونه، مقدار متغیر LVM_VG_NAME عموماً میتواند به جای پارامتر الزامی VG جایگزین شود.
مثالها (EXAMPLES)
کاهش
اندازه یک
حجم منطقی
به میزان ۳
اکستنت
منطقی:
lvreduce -l -3 vg00/lvol1
همچنین ببینید (SEE ALSO)
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),
pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),
vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),
lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),
lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),
dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),
lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)
| مه ۲۰۲۵ | lvm2 |