| PVCREATE(8) | دستورهای مدیریتی و نگهداری | PVCREATE(8) |
نام (NAME)
pvcreate - آمادهسازی و مقداردهی اولیه حجم فیزیکی برای استفاده در LVM
خلاصه دستور (SYNOPSIS)
pvcreate [گزینهها] دستگاه...
توضیحات (DESCRIPTION)
دستور pvcreate یک دستگاه ذخیرهسازی یا پارتیشن را با نوشتن برچسب دیسک LVM و مقداردهی نواحی متادیتا، به عنوان یک حجم فیزیکی (PV) برای افزودن به گروه حجم (VG) آماده میسازد. یک حجم فیزیکی میتواند بر روی یک دستگاه کامل یا یک پارتیشن قرار گیرد.
از vgcreate(8) برای ایجاد یک VG جدید روی PV، یا از vgextend(8) برای افزودن PV به یک VG موجود استفاده کنید. همچنین از pvremove(8) برای حذف برچسب دیسک LVM از روی دستگاه استفاده میشود.
گزینه اجبار (force) یک PV را بدون تایید ایجاد میکند. تکرار گزینه اجبار (-ff) باعث ایجاد اجباری PV شده و بررسیهایی را که به طور معمول مانع از انجام آن میشوند (مانند زمانی که PV هماکنون عضو یک VG است) نادیده میگیرد.
مکان، اندازه و همترازی متادیتا (Metadata location, size, and alignment)
برچسب دیسک LVM از فاصله ۵۱۲ بایتی از ابتدای دستگاه شروع میشود و اندازه آن ۵۱۲ بایت است.
ناحیه متادیتای LVM در فاصلهای (آفست) از ابتدای دستگاه برابر با اندازه صفحه (page size) سیستمی که PV را ایجاد میکند (اغلب ۴ KiB) آغاز میشود. ناحیه متادیتا شامل یک هدر ۵۱۲ بایتی و یک بافر حلقوی چند کیلوبایتی است که رونوشتهای متنی متادیتای VG را در خود نگهداری میکند.
با
تنظیمات
پیشفرض،
نخستین
اکستنت
فیزیکی (PE) که
حاوی
دادههای
حجم منطقی (LV)
است، در
فاصله ۱ MiB
از ابتدای
دستگاه
قرار
میگیرد.
این مکان
توسط default_data_alignment
در lvm.conf(5) کنترل
میشود که
به صورت
پیشفرض
برابر با ۱ (MiB)
است. مقدار pe_start
مضربی از
این مقدار
بر حسب MiB
خواهد بود.
این مکان را
میتوان با
دستور زیر
بررسی کرد:
pvs -o pe_start PV
اندازه
ناحیه
متادیتای LVM،
فاصله میان
آغاز ناحیه
متادیتا و
اولین PE است.
هنگامی که
متادیتا در
۴ KiB شروع
میشود و
اولین PE در
۱۰۲۴ KiB قرار
دارد،
اندازه
ناحیه
متادیتا
۱۰۲۰ KiB
خواهد بود.
این مقدار
با دستور
زیر قابل
بررسی است:
pvs -o mda_size PV
مقدار mda_size پس
از اجرای pvcreate
قابل
افزایش
نیست؛
بنابراین
اگر به
متادیتای
بزرگتری
نیاز باشد،
باید در حین
اجرای pvcreate
تعیین گردد.
دو رونوشت
از
متادیتای VG
همواره
باید درون
ناحیه
متادیتا جا
شوند، به
همین دلیل
حداکثر
اندازه
متادیتای VG
تقریباً
نیمی از
مقدار mda_size است.
این مقدار
را میتوان
با دستور
زیر بررسی
نمود:
vgs -o mda_free VG
ناحیه متادیتای بزرگتر را میتوان با --metadatasize تعیین کرد. مقدار حاصل برای mda_size ممکن است به دلیل قرار گرفتن pe_start روی مرز MiB بر اثر default_data_alignment و این واقعیت که ناحیه متادیتا تا نخستین PE گسترش مییابد، از مقدار مشخصشده بزرگتر باشد. با شروع متادیتا در ۴ KiB و default_data_alignment برابر ۱ (MiB)، تنظیم --metadatasize 2048k منجر به pe_start در ۳ MiB و mda_size برابر ۳۰۶۸ KiB میشود. به طور جایگزین، --metadatasize 2044k منجر به pe_start در ۲ MiB و mda_size برابر ۲۰۴۴ KiB خواهد شد.
همترازی pe_start که در بالا شرح داده شد ممکن است بر اساس ویژگیهای دستگاه md یا ویژگیهای ورودی/خروجی دستگاه که در sysfs گزارش شدهاند، به طور خودکار بازنویسی شود. این تنظیمات خودکار را میتوان با تنظیمات md_chunk_alignment و data_alignment_offset_detection در lvm.conf(5) فعال یا غیرفعال نمود.
برای استفاده از یک همترازی متفاوت برای pe_start، از گزینه --dataalignment استفاده کنید. گزینه --metadatasize نیز در این حالت معمولاً به کار میرود زیرا اندازه ناحیه متادیتا نیز مکان pe_start را تعیین میکند. هنگامی که این دو گزینه با هم استفاده شوند، pe_start به صورت زیر محاسبه میشود: شروع ناحیه متادیتا (اندازه صفحه)، بهعلاوه مقدار مشخصشده برای --metadatasize، گرد شده به سمت بالا به مضرب بعدی --dataalignment. با شروع متادیتا در ۴ KiB، --metadatasize 2048k و --dataalignment128k، مقدار pe_start برابر ۲۱۷۶ KiB و mda_size برابر ۲۱۷۲ KiB خواهد بود. مقدار pe_start با ۲۱۷۶ KiB نزدیکترین مضرب زوج از ۱۲۸ KiB است که حداقل ۲۰۴۸ KiB فضای متادیتا را فراهم میکند. هنگام استفاده از این گزینهها همواره همترازی و اندازه متادیتای بهدستآمده را بررسی نمایید.
جهت جابهجا کردن مقدار همتراز شده pe_start، از گزینه --dataalignmentoffset استفاده کنید. همترازی pe_start به صورتی که در بالا شرح داده شد محاسبه میشود و سپس مقدار مشخصشده با --dataalignmentoffset به آن افزوده میگردد تا مقدار نهایی pe_start حاصل شود.
کاربرد (USAGE)
pvcreate PV ...
[ -M|--metadatatype lvm2 ]
[ -u|--uuid رشته ]
[ -Z|--zero y|n ]
[ --dataalignment اندازه[k|UNIT] ]
[ --dataalignmentoffset اندازه[k|UNIT] ]
[ --bootloaderareasize اندازه[m|UNIT] ]
[ --labelsector عدد ]
[ --[pv]metadatacopies 0|1|2 ]
[ --metadatasize اندازه[m|UNIT] ]
[ --metadataignore y|n ]
[ --norestorefile ]
[ --setphysicalvolumesize اندازه[m|UNIT] ]
[ --reportformat basic|json|json_std ]
[ --restorefile رشته ]
[ گزینههای_عمومی ]
گزینههای عمومی برای lvm:
[ -h|--help ]
[ -q|--quiet ]
[ -t|--test ]
[ -v|--verbose ]
[ -y|--yes ]
[ --commandprofile رشته ]
[ --config رشته ]
[ --devices PV ]
[ --devicesfile رشته ]
[ --driverloaded y|n ]
[ --journal رشته ]
[ --lockopt رشته ]
[ --longhelp ]
[ --nohints ]
[ --nolocking ]
[ --profile رشته ]
[ --version ]
گزینهها (OPTIONS)
--bootloaderareasize Size[m|UNIT]
رزرو فضا
برای
بارگذار
بوت (bootloader) میان
ناحیه
متادیتای LVM
و اولین PE.
ناحیه
بارگذار
بوت برای
بارگذارهای
سیستم
اختصاص
مییابد تا
دادهها یا
متادیتای
خود را درون
آن قرار
دهند؛ LVM از
این فضا
استفاده
نخواهد کرد.
ناحیه
بارگذار
بوت از همان
مکانی آغاز
میشود که
اگر وجود
نداشت،
نخستین PE در
آنجا مستقر
میشد.
نخستین PE به
میزان
اندازه
ناحیه
بارگذار
بوت به جلو
رانده
میشود، و
در صورت
نیاز برای
تطابق با
همترازی
دادهها
بیشتر
جابهجا
میگردد.
ابتدای
ناحیه
بارگذار
بوت همواره
همتراز
است؛
همچنین به
--dataalignment و --dataalignmentoffset
مراجعه
کنید.
اندازه این
ناحیه ممکن
است به دلیل
همترازی
بزرگتر از
مقدار
درخواستشده
باشد، اما
هرگز کمتر
از آن
نخواهد بود.
برای
مشاهده
شروع و
اندازه
ناحیه
بارگذار
بوت در یک PV
موجود از
دستور pvs -o
+pv_ba_start,pv_ba_size
استفاده
کنید.
--commandprofile String
نمایه
دستوری
مورد
استفاده
برای
پیکربندی
دستور. برای
اطلاعات
بیشتر
درباره
نمایهها
به lvm.conf(5)
مراجعه
کنید.
--config String
تنظیمات
پیکربندی
برای دستور.
این
تنظیمات بر
مقادیر
پیکربندی
در lvm.conf(5) تقدم
دارند.
آرگومان
رشته از
همان قالب
lvm.conf(5) بهره
میبرد یا
میتواند
از نحو
بخش/فیلد
استفاده
نماید. برای
اطلاعات
بیشتر
درباره
پیکربندی
به lvm.conf(5)
مراجعه
فرمایید.
--dataalignment Size[k|UNIT]
همتراز
ساختن نقطه
شروع ناحیه
داده PV با
مضربی از
این عدد.
برای
مشاهده
مکان
نخستین
اکستنت
فیزیکی (PE) در
یک PV موجود،
از pvs -o +pe_start
استفاده
نمایید.
علاوه بر
این، ممکن
است با یک
آفست
همترازی
جابهجا
شود؛ به
--dataalignmentoffset
مراجعه
فرمایید.
همچنین
هنگام ساخت
یک VG، اندازه
مناسب PE را
مشخص کنید.
--dataalignmentoffset Size[k|UNIT]
انتقال
نقطه شروع
ناحیه داده PV
به میزان
این آفست
مازاد.
-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 نخواهد
کرد. برای
اهداف
آزمایش و
اشکالزدایی
به کار
میرود.
-f|--force ...
نادیده
گرفتن
بررسیهای
مختلف،
تاییدیهها
و
محافظتها.
با احتیاط
کامل
استفاده
شود.
-h|--help
نمایش متن
راهنما.
--journal String
ثبت
اطلاعات در
ژورنال systemd.
این
اطلاعات
علاوه بر
اطلاعاتی
است که توسط
تنظیم log/journal در
lvm.conf فعال
میشود.
مقادیر
مجاز: command: ثبت
اطلاعات
درباره
دستور؛ output:
ثبت خروجی
پیشفرض
دستور؛ debug:
ثبت
اطلاعات
اشکالزدایی
کامل
دستور.
--labelsector Number
به طور
پیشفرض PV با
یک شناسه LVM2
در سکتور
دوم خود
(سکتور ۱)
برچسبگذاری
میشود. این
گزینه
امکان
استفاده از
سکتور
متفاوتی را
در نزدیکی
آغاز دیسک
(بین ۰ تا ۳
شامل خود
آنها - ثابت
LABEL_SCAN_SECTORS در کدهای
منبع را
ببینید)
فراهم
میآورد. با
احتیاط
استفاده
شود.
--lockopt String
جهت ارسال
گزینهها
در موارد
خاص به دیمن
lvmlockd استفاده
میشود.
برای
اطلاعات
بیشتر به lvmlockd(8)
مراجعه
کنید.
--longhelp
نمایش متن
راهنمای
تفصیلی و
کامل.
--metadataignore y|n
ویژگی metadataignore
مربوط به PV
را تعیین
میکند. اگر
بر روی yes
تنظیم شود،
نواحی
متادیتا
روی این PV
نادیده
گرفته
میشوند و lvm
متادیتا را
در این
نواحی
ذخیره
نخواهد کرد.
در صورت
تنظیم بر
روی no، دستور
lvm متادیتا
را روی PV
ذخیره
مینماید.
--metadatasize Size[m|UNIT]
میزان
تقریبی
فضای مصرفی
برای هر
ناحیه
متادیتای VG.
اندازه
ممکن است
گرد شود.
-M|--metadatatype lvm2
نوع
متادیتای
روی دیسک را
مشخص
میکند.
مقدار lvm2 (یا
صرفاً 2)
قالب
استاندارد
و کنونی است.
مقدار lvm1 (یا
صرفاً 1)
منسوخ شده و
دیگر
استفاده
نمیشود.
--nohints
عدم
استفاده از
فایل
راهنماها (hints)
برای یافتن
دستگاههای
PV. هنگامی که
از
راهنماها
استفاده
نشود، ممکن
است دستور
دستگاههای
بیشتری را
برای یافتن
PVها اسکن
کند. دستور
همچنان
باطلسازی
استاندارد
فایل
راهنما را
در زمان
مناسب اجرا
خواهد کرد.
--nolocking
غیرفعال
کردن
سازوکار
قفلگذاری.
با احتیاط
استفاده
شود؛
دستورات
همزمان
ممکن است
خروجیهای
نادرست
ایجاد
کنند.
--norestorefile
در همراهی
با --uuid،
امکان مشخص
کردن UUID را
بدون نیاز
به ارائه
نسخه
پشتیبان
متادیتا
فراهم
میسازد.
--profile String
نام مستعار
برای --commandprofile یا
--metadataprofile بسته به
دستور
فراخواندهشده.
--[pv]metadatacopies
0|1|2
تعداد
نواحی
متادیتای
در نظر
گرفته شده
روی یک PV
برای ذخیره
متادیتای VG.
هنگامی که ۲
باشد، یک
رونوشت از
متادیتای VG
در ابتدای PV
و رونوشت
دیگر در
انتهای آن
نگهداری
میشود.
وقتی ۱
باشد، یک
رونوشت در
ابتدای PV
ذخیره
میگردد. در
صورت تنظیم
روی ۰، هیچ
رونوشتی از
متادیتای VG
روی این PV
ذخیره
نخواهد شد.
این قابلیت
ممکن است در
VGهایی با
تعداد
بسیار زیاد PV
سودمند
باشد (البته
استفاده از
دستور vgsplit را
در آینده با
محدودیت
مواجه
میسازد).
-q|--quiet ...
فرونشاندن
خروجی و
پیامهای
لاگ. بر
گزینههای
--debug و --verbose
اولویت
دارد. با یک
بار تکرار
بیشتر،
همچنین
تمامی
پرسشها را
با پاسخ
فرضی 'no' بدون
نمایش رد
میکند.
--reportformat basic|json|json_std
قالب خروجی
گزارشها
را که به
صورت
سراسری با
تنظیم report/output_format
در lvm.conf(5) تعریف
شده است،
بازنویسی
میکند.
مقدار basic
قالب اصلی
جدولی با
ستونها و
ردیفها
است. در
صورتی که
بیش از یک
گزارش به
ازای دستور
موجود
باشد، هر
گزارش با
نام گزارش
برای تفکیک
پیشوند
میگیرد.
مقدار json
خروجی
گزارش را در
قالب JSON
تولید
میکند.
مقدار json_std
خروجی
گزارش را در
قالبی از JSON
سازگارتر
با
استانداردهای
JSON مهیا
میسازد.
برای
اطلاعات
بیشتر به
lvmreport(7) مراجعه
کنید.
--restorefile String
در همراهی
با --uuid، این
فایل را (که
با vgcfgbackup ایجاد
شده)
میخواند،
موقعیت و
اندازه
دادهها
روی PV را
استخراج
میکند و
اطمینان
میدهد
متادیتای
تولیدشده
با محتوای
فایل
همخوانی
دارد؛ به
این معنا که
اکستنتهای
فیزیکی در
همان
موقعیت
قبلی قرار
میگیرند و
با
متادیتای
جدید
رونویسی
نمیشوند.
این گزینه
سازوکاری
برای
ارتقای
قالب
متادیتا یا
اضافه/حذف
نواحی
متادیتا
فراهم
میسازد. با
احتیاط
استفاده
شود.
--setphysicalvolumesize Size[m|UNIT]
اندازه
تشخیص داده
شده خودکار
دستگاه PV را
بازنویسی
میکند. با
احتیاط و
ترجیحاً
پیش از کاهش
فیزیکی
اندازه
دستگاه
استفاده
شود.
-t|--test
اجرا در
حالت
آزمایش.
دستورات
متادیتا را
بهروزرسانی
نخواهند
کرد. این
حالت با
غیرفعال
ساختن
نوشتن
متادیتا
اما
بازگرداندن
وضعیت
موفقیتآمیز
به تابع
فراخواننده
پیادهسازی
شده است. این
رفتار ممکن
است در
عملیاتهای
چندمرحلهای
خطاهای
غیرمنتظرهای
نشان دهد
اگر ابزاری
وابسته به
بازخوانی
مجدد
متادیتایی
باشد که
میپندارد
تغییر
یافته است
اما در عمل
تغییر
نیافته
است.
-u|--uuid String
تعیین یک UUID
مشخص برای
دستگاه.
بدون این
گزینه، یک UUID
تصادفی
تولید
میگردد.
این گزینه
پیش از
بازیابی
نسخه
پشتیبان
متادیتای LVM
بر روی یک
دستگاه
جایگزین
لازم است؛
به vgcfgrestore(8)
مراجعه
نمایید. به
همین دلیل
استفاده از
--restorefile اجباری
است مگر
اینکه --norestorefile
به کار رود.
تمام PVها
باید UUID یکتا
داشته
باشند و LVM در
صورت
مشاهده
چندین
دستگاه با UUID
یکسان، از
انجام برخی
عملیاتها
ممانعت
خواهد کرد.
برای
اطلاعات
تکمیلی به
vgimportclone(8) رجوع
کنید.
-v|--verbose ...
تعیین سطح
پرگویی
خروجی. این
گزینه را
بین ۱ تا ۴
بار تکرار
کنید تا
جزئیات
پیامهای
ارسالی به
خروجی
استاندارد
و خطای
استاندارد
بیشتر شود.
--version
نمایش
اطلاعات
نسخه و
نگارش
نرمافزار.
-y|--yes
عدم پرسش
برای تایید
تعاملی و در
نظر گرفتن
همیشگی
پاسخ مثبت (yes).
با نهایت
احتیاط
استفاده
شود. (برای
پاسخ منفی
خودکار، به
-qq مراجعه
نمایید).
-Z|--zero y|n
کنترل
میکند که
آیا ۴ سکتور
نخست (۲۰۴۸
بایت)
دستگاه
پاکسازی (wipe)
شوند یا خیر.
حالت
پیشفرض
پاکسازی
این
سکتورها
است مگر
آنکه گزینه
--restorefile یا --uuid (یا
هر دو) تعیین
شده باشند.
متغیرها (VARIABLES)
- PV
- نام حجم فیزیکی، یک مسیر دستگاه زیر /dev. برای دستوراتی که اکستنتهای فیزیکی را مدیریت میکنند، آرگومان مکانی PV عموماً یک پسوند مشخصکننده یک محدوده (یا چند محدوده) از اکستنتهای فیزیکی (PE) را میپذیرد. هنگامی که نخستین PE حذف شود، پیشفرض آن آغاز دستگاه خواهد بود و هنگامی که آخرین PE حذف شود، پیشفرض آن پایان دستگاه است. محدوده ابتدا و انتها (شامل دو طرف): PV[:PE-PE]... محدوده ابتدا و طول (شمارش از ۰): PV[:PE+PE]...
- String
- برای اطلاعات در مورد محتوای رشته، به توضیحات همان گزینه رجوع کنید.
- Size[UNIT]
- اندازه یک عدد ورودی است که یک واحد اختیاری را میپذیرد. واحدهای ورودی همواره صرفنظر از بزرگی یا کوچکی حروف به عنوان مقادیر بر مبنای دو تفسیر میشوند؛ برای نمونه 'k' و 'K' هر دو به معنی ۱۰۲۴ هستند. واحد پیشفرض ورودی با حرف و در ادامه با |UNIT مشخص شده است. مقدار UNIT بیانگر دیگر واحدهای ورودی ممکن است: b|B بایت، s|S سکتورهای ۵۱۲ بایتی، 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)
مقداردهی
اولیه یک
پارتیشن و
یک دستگاه
کامل:
pvcreate /dev/sdc4 /dev/sde
اگر یک
دستگاه
دارای
سکتورهای
۴ KiB باشد که
برای
پارتیشنبندی
ویندوز
جبرانسازی
شده است
(سکتور ۷
پایینترین
بلوک منطقی
تراز شده
است،
سکتورهای
۴ KiB از LBA -1 شروع
میشوند و
در نتیجه
سکتور ۶۳
روی مرز ۴ KiB
تراز شده
است)، این
مورد را
هنگام
مقداردهی
اولیه برای
استفاده در
LVM به صورت
دستی لحاظ
کنید:
pvcreate --dataalignmentoffset 7s /dev/sdb
همچنین ببینید (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 |