این دستور virt-resize است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
virt-resize - تغییر اندازه دیسک ماشین مجازی
خلاصه
virt-resize [--resize /dev/sdaN=[+/-] [%]]
[--expand /dev/sdaN] [--shrink /dev/sdaN]
[--نادیده گرفتن /dev/sdaN] [--حذف /dev/sdaN] [...] indisk outdisk
شرح
Virt-resize ابزاری است که می تواند اندازه دیسک ماشین مجازی را تغییر داده و آن را بزرگتر یا کوچکتر کند
به طور کلی، و تغییر اندازه یا حذف هر پارتیشن موجود در داخل.
تغییر اندازه نمی توان تغییر اندازه تصاویر دیسک در محل. تغییر اندازه باید نه در زنده استفاده شود
ماشین های مجازی - برای نتایج ثابت، قبل از تغییر اندازه، ماشین مجازی را خاموش کنید
آن است.
اگر با ابزارهای مرتبط آشنا نیستید: سیستم های فایل virt(1) و virt-df(1)، ما
توصیه می کنم ابتدا بروید و آن صفحات راهنما را بخوانید.
مثال ها
1. "olddisk" را در "newdisk" کپی کنید، یکی از پارتیشن های مهمان را گسترش دهید تا پارتیشن های اضافی پر شود.
5 گیگابایت فضا.
virt-filesystems --long -h --all -a olddisk
کوتاه کردن -r دیسک جدید دیسک
کوتاه کردن -s +5G newdisk
# توجه "/dev/sda2" یک پارتیشن در داخل فایل "olddisk" است.
virt-resize --expand /dev/sda2 olddisk newdisk
2. همانطور که در بالا، اما را / boot پارتیشن 200 مگابایت بزرگتر است، در حالی که فضای باقیمانده را می دهد
به /dev/sda2:
virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \
دیسک جدید دیسک
3. مانند مثال اول، اما یک حجم منطقی را به عنوان مرحله نهایی گسترش دهید. این چیزی است که
شما معمولاً برای مهمانان لینوکس که از LVM استفاده می کنند استفاده می کنید:
virt-resize --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root \
دیسک جدید دیسک
4. مانند مثال اول، اما فرمت خروجی به جای دیسک خام، qcow2 خواهد بود:
qemu-img create -f qcow2 -o preallocation=metadata newdisk.qcow2 15G
virt-resize --expand /dev/sda2 olddisk newdisk.qcow2
جزئیات طریقه استفاده
در حال گسترش A VIRTUAL دستگاه خطر
1. ماشین مجازی را خاموش کنید
2. تصویر دیسک ورودی را بیابید
تصویر دیسک ورودی (یعنی فایل یا دستگاه موجود در میزبان حاوی عکس مهمان) را پیدا کنید
دیسک). اگر مهمان توسط libvirt مدیریت می شود، می توانید از "virsh dumpxml" مانند این استفاده کنید
نام تصویر دیسک را پیدا کنید:
# virsh dumpxml guestname | xpath / دامنه / دستگاه ها / دیسک / منبع
1 گره پیدا شد:
-- گره --
3. به اندازه فعلی نگاه کنید
استفاده کنید سیستم های فایل virt(1) برای نمایش پارتیشن ها و اندازه های فعلی:
# virt-filesystems --long --parts --blkdevs -h -a /dev/vg/lv_guest
نوع نام اندازه والد
پارتیشن /dev/sda1 101M /dev/sda
پارتیشن /dev/sda2 7.9G /dev/sda
/dev/sda دستگاه 8.0G -
(این مثال یک ماشین مجازی با یک دیسک 8 گیگابایتی است که مایلیم آن را گسترش دهیم
تا 10 گیگابایت).
4. دیسک خروجی ایجاد کنید
Virt-size نمی تواند تغییرات در محل دیسک را انجام دهد. شما باید فضایی برای ذخیره داشته باشید
دیسک خروجی تغییر اندازه
برای ذخیره تصویر دیسک تغییر اندازه در یک فایل، یک فایل با اندازه مناسب ایجاد کنید:
# rm -f بیرون دیسک
# کوتاه کردن -s 10G outdisk
یا استفاده کنید lvcreate(1) برای ایجاد یک حجم منطقی:
# lvcreate -L 10G -n lv_name vg_name
یا استفاده کنید ویرش(1) vol-create-as برای ایجاد حجم ذخیره سازی libvirt:
# virsh pool-list
# virsh vol-create-as poolname newvol 10G
5. تغییر اندازه
virt-resize دو پارامتر اجباری، دیسک ورودی (به عنوان مثال، دستگاه، فایل یا یک URI) را می گیرد.
به یک دیسک راه دور) و دیسک خروجی. دیسک خروجی همان دیسکی است که در
مرحله قبل
# virt-Resize indisk outdisk
این دستور فقط تصویر دیسک "indisk" را به تصویر دیسک "outdisk" کپی می کند. بدون تغییر اندازه
یا تغییر هر پارتیشن موجود اگر "Outdisk" بزرگتر است، یک اضافی خالی است
پارتیشن در انتهای دیسک ایجاد می شود که فضای اضافی را پوشش می دهد. اگر «اوت دیسک» باشد
کوچکتر، سپس خطا می دهد.
به طور واقع بینانه تر، شما می خواهید پارتیشن های موجود در تصویر دیسک را گسترش دهید
گذراندن گزینه های اضافی (برای لیست کامل به بخش "OPTIONS" در زیر مراجعه کنید).
"--expand" مفیدترین گزینه است. پارتیشن نامگذاری شده را در داخل دیسک گسترش می دهد
برای پر کردن هر فضای اضافی:
# virt-resize --expand /dev/sda2 indisk outdisk
(در این مورد، یک پارتیشن اضافی است نه در انتهای دیسک ایجاد شده است، زیرا وجود دارد
فضای بلا استفاده نخواهد بود).
"--resize" گزینه رایج دیگری است که استفاده می شود. موارد زیر باعث افزایش سایز می شود
/dev/sda1 در 200M، و /dev/sda2 را گسترش دهید تا بقیه فضای موجود را پر کنید:
# virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \
indisk outdisk
اگر پارتیشن توسعه یافته در تصویر حاوی یک سیستم فایل یا LVM PV باشد، در صورتی که
تغییر اندازه می داند که چگونه، آن را تغییر اندازه محتویات، معادل فراخوانی یک دستور
مانند pvresize(8) resize2fs(8) ntfsresize(8) btrfs(8) یا xfs_growfs(8). با این حال
virt-resize نمی داند که چگونه اندازه برخی از سیستم های فایل را تغییر دهد، بنابراین باید به صورت آنلاین انجام دهید
بعد از راه اندازی مهمان، اندازه آنها را تغییر دهید.
# virt-resize --expand /dev/sda2 nbd://example.com outdisk
دیسک ورودی می تواند یک URI باشد تا از یک دیسک راه دور به عنوان منبع استفاده شود. URI
فرمت با guestfish سازگار است. به "افزودن حافظه از راه دور" در اینجا مراجعه کنید ماهی مهمان(1).
گزینه های دیگر در زیر پوشش داده شده است.
6 تست
تصویر دیسک جدید را به طور کامل تست کنید قبل از دور انداختن قدیمی
اگر از libvirt استفاده می کنید، XML را طوری ویرایش کنید که به دیسک جدید اشاره کند:
# virsh ویرایش نام مهمان
تغییر دادن ، دیدن http://libvirt.org/formatdomain.html#elements دیسک ها
سپس دامنه را با دیسک جدید و تغییر اندازه راه اندازی کنید:
# نام مهمان شروع virsh
و بررسی کنید که هنوز کار می کند. همچنین برای اطلاعات بیشتر به بخش «یادداشتها» در زیر مراجعه کنید
اطلاعات.
7. اندازه LVs و غیره را در داخل مهمان تغییر دهید
(این کار را می توان به صورت آفلاین نیز انجام داد ماهی مهمان(1))
هنگامی که مهمان بوت شد، باید فضای جدید موجود را ببینید، حداقل برای
فایل سیستم هایی که virt-resize می دانند چگونه اندازه را تغییر دهند و برای PV ها. ممکن است کاربر نیاز داشته باشد
تغییر اندازه LV ها در داخل PV و همچنین تغییر اندازه انواع فایل سیستمی که virt-size نمی داند
چگونه گسترش دهیم
کوچک شدن A VIRTUAL دستگاه خطر
کوچک شدن تا حدودی پیچیده تر از گسترش است، و فقط یک نمای کلی در اینجا ارائه می شود.
اولا virt-resize تلاشی برای کوچک کردن محتوای پارتیشن (PVs، فایل سیستم) نخواهد کرد.
کاربر باید قبل از ارسال تصویر دیسک به تغییر اندازه، محتوا را کوچک کند، و virt-
تغییر اندازه بررسی می کند که محتوا به درستی کوچک شده است.
(کوچک کردن را می توان با استفاده از حالت آفلاین نیز انجام داد ماهی مهمان(1))
پس از کوچک کردن PV ها و فایل سیستم ها، مهمان را خاموش کنید و مراحل 3 و 4 را ادامه دهید.
در بالا برای اختصاص یک تصویر دیسک جدید.
سپس virt-resize را با هر یک از اینها اجرا کنید --کوچک شدن و / یا --تغییر اندازه گزینه.
نادیده گرفتن OR در حال حذف پارتیشن ها
virt-resize همچنین راه مناسبی برای نادیده گرفتن یا حذف پارتیشن ها هنگام کپی کردن از آن ارائه می دهد
دیسک ورودی به دیسک خروجی نادیده گرفتن یک پارتیشن سرعت کپی را در جایی که شما دارید افزایش می دهد
به محتوای موجود یک پارتیشن اهمیت ندهید. حذف یک پارتیشن آن را حذف می کند
به طور کامل، اما توجه داشته باشید که هر پارتیشن را بعد از پارتیشنی که حذف شده، مجددا شماره گذاری می کند.
که می تواند برخی از مهمانان را غیر قابل راه اندازی کند.
QCOW2 و غیر پراکنده RAW فرمها
اگر دیسک ورودی در فرمت qcow2 باشد، ممکن است ترجیح دهید که خروجی در qcow2 باشد.
فرمت نیز متناوبا، virt-resize میتواند فرمت را در لحظه تبدیل کند. خروجی
فرمت به سادگی با فرمت ظرف خروجی خالی که ارائه می کنید تعیین می شود.
بنابراین برای ایجاد خروجی qcow2 از:
qemu-img create -f qcow2 -o preallocation=دیسک فراداده [اندازه]
به جای دستور کوتاه کردن
به طور مشابه، برای به دست آوردن خروجی خام غیر پراکنده از:
فالوکات -l اندازه بیرون دیسک
(در سیستم های قدیمی که این را ندارند سقوط کردن(1) از دستور "dd if=/dev/zero of=outdisk استفاده کنید
bs=1M تعداد=..")
منطقی پارتیشن ها
پارتیشن های منطقی (معروف به /dev/sda5+ روی دیسک هایی که از جداول پارتیشن DOS استفاده می کنند) نمی تواند باشد
تغییر اندازه
برای اینکه بفهمید چه خبر است، ابتدا یکی از چهار پارتیشن را انجام دهید /dev/sda1-4 باید
پارتیشن MBR نوع 05 یا "0f". به این می گویند تمدید شده تقسیم. استفاده از
سیستم های فایل virt(1) برای دیدن نوع پارتیشن MBR.
پارتیشن های منطقی در داخل پارتیشن توسعه یافته زندگی می کنند.
پارتیشن توسعه یافته را می توان گسترش داد، اما کوچک نشد (مگر اینکه آن را مجبور کنید، که اینطور نیست
توصیه می شود). هنگامی که پارتیشن توسعه یافته در سراسر، تمام پارتیشن های منطقی کپی می شود
موجود در داخل به طور ضمنی کپی شده است. Virt-resize به داخل آن نگاه نمی کند
پارتیشن توسعه یافته، بنابراین پارتیشن های منطقی را کورکورانه کپی می کند.
شما نمی توانید یک پارتیشن منطقی تعیین کنید (/dev/sda5+) اصلا در خط فرمان. انجام این کار
خطا خواهد داد
OPTIONS
--کمک
نمایش راهنما
- اول تراز کردن خودکار
- اول تراز کردن هرگز
- اول تراز کردن همیشه
پارتیشن اول را برای بهبود عملکرد تراز کنید (همچنین به --هم ترازی گزینه).
پیش فرض این است - اول تراز کردن خودکار که فقط در صورت ایمن بودن پارتیشن اول را تراز می کند
برای انجام این کار. یعنی فقط زمانی که بدانیم چگونه بوت لودر را به طور خودکار تعمیر کنیم و در
لحظه ای که فقط برای مهمانان ویندوز قابل انجام است.
- اول تراز کردن هرگز یعنی ما هرگز پارتیشن اول را جابه جا نمی کنیم. این امن ترین است
گزینه. اگر مهمان پس از تغییر اندازه بوت نشد، این را امتحان کنید.
- اول تراز کردن همیشه یعنی ما همیشه اولین پارتیشن را تراز می کنیم (اگر لازم باشد
هم راستا). برای برخی از مهمانان این کار بوت لودر را خراب می کند و مهمان را می سازد
غیر قابل راه اندازی
--هم ترازی N
تراز پارتیشن ها را روی بخش های "N" تنظیم کنید. پیش فرض در virt-resize < 1.13.19
64 بخش و پس از آن 128 بخش است.
با فرض اندازه بخش 512 بایت در مهمان، در اینجا مقادیر مناسبی برای آن وجود دارد
این:
--هم ترازی 1 (بایت 512)
پارتیشن ها تا حد امکان به هم نزدیک می شوند، اما می شوند
کاملاً ناهمسو در برخی موارد این می تواند باعث عملکرد بسیار ضعیف شود. دیدن
virt-alignment-scan(1) برای جزئیات بیشتر.
--هم ترازی 8 (4K)
این حداقل تراز قابل قبول برای عملکرد معقول خواهد بود
میزبان های مدرن
--هم ترازی 128 (64K)
این هم ترازی زمانی که هاست از شبکه های سطح بالا استفاده می کند عملکرد خوبی را ارائه می دهد
ذخیره سازی.
--هم ترازی 2048 (1M)
این تراز استانداردی است که توسط همه مهمانان تازه نصب شده از اطراف استفاده می شود
2008.
-d
- رفع اشکال
(منسوخ شده: استفاده کنید -v در عوض گزینه)
پیام های اشکال زدایی را فعال کنید.
--debug-gc
اشکال زدایی جمع آوری زباله و تخصیص حافظه. این فقط در هنگام اشکال زدایی مفید است
مشکلات حافظه در virt-resize یا OCaml libguestfs bindings.
--حذف بخش
پارتیشن نامگذاری شده را حذف کنید. دقیق تر است که این را به عنوان "کپی نکنید
it over"، زیرا virt-resize تغییرات در محل انجام نمی دهد و تصویر اصلی دیسک انجام می شود
دست نخورده باقی مانده است
توجه داشته باشید که وقتی یک پارتیشن را حذف می کنید، پس هر چیزی که در پارتیشن وجود دارد وجود دارد
نیز حذف شده است. علاوه بر این، این باعث می شود که هر پارتیشنی که بعد از آن می آید، باشد
شماره گذاری مجدد، که به راحتی می تواند مهمان شما را غیر قابل بوت کند.
می توانید این گزینه را چندین بار بدهید.
--بسط دادن بخش
پارتیشن نامگذاری شده را گسترش دهید تا از تمام فضای اضافی استفاده کند (فضای باقی مانده پس از هر کدام
سایر تغییرات تغییر اندازه که درخواست کرده اید انجام شده است).
اگر virt-resize بداند چگونه، محتوای مستقیم پارتیشن را گسترش خواهد داد. برای
به عنوان مثال، اگر پارتیشن یک LVM PV باشد، PV را به تناسب گسترش می دهد (مانند فراخوانی
pvresize(8)). Virt-Resize هر محتوای دیگری را که درباره آن نمی داند به تنهایی باقی می گذارد.
در حال حاضر virt-resize می تواند اندازه را تغییر دهد:
· فایل سیستم های ext2، ext3 و ext4.
· سیستم های فایل NTFS، اگر libguestfs با پشتیبانی از NTFS کامپایل شده باشد.
فایل سیستم باید در آخرین باری که استفاده شده است به طور مداوم خاموش شده باشد.
علاوه بر این، ntfsresize(8) سیستم فایل تغییر اندازه را به عنوان نیاز به a علامت گذاری می کند
سازگاری را بررسی کنید، بنابراین در اولین بوت پس از تغییر اندازه ویندوز، آن را بررسی می کند
دیسک
· PV های LVM (حجم های فیزیکی). virt-resize معمولاً اندازه چیزی را در داخل تغییر نمی دهد
PV، اما ببینید --LV-گسترش گزینه. کاربر همچنین می تواند اندازه LV ها را به دلخواه تغییر دهد
بعد از بوت
· سیستم های فایل Btrfs، اگر libguestfs با پشتیبانی از btrfs کامپایل شده باشد.
· سیستم های فایل XFS، اگر libguestfs با پشتیبانی از XFS کامپایل شده باشد.
توجه داشته باشید که نمی توانید استفاده کنید --بسط دادن و --کوچک شدن با هم.
--قالب خام
فرمت تصویر دیسک ورودی را مشخص کنید. اگر این پرچم داده نمی شود پس داده می شود
به طور خودکار از روی خود تصویر شناسایی می شود.
اگر با تصاویر دیسک مهمان با فرمت خام غیرقابل اعتماد کار می کنید، باید از فرمت آن اطمینان حاصل کنید
همیشه مشخص می شود.
توجه داشته باشید که این گزینه میکند نه بر فرمت خروجی تاثیر می گذارد. به "QCOW2 AND NON-SPARSE" مراجعه کنید
فرمت های خام".
--چشم پوشی بخش
پارتیشن نامگذاری شده را نادیده بگیرید. در واقع این بدان معنی است که پارتیشن بر روی تخصیص داده می شود
دیسک مقصد، اما محتوا از دیسک مبدأ کپی نشده است. را
محتوای پارتیشن خالی خواهد بود (همه صفر بایت).
می توانید این گزینه را چندین بار بدهید.
--LV-گسترش logvol
این حجم منطقی را می گیرد و به عنوان آخرین مرحله، آن را گسترش می دهد تا تمام فضا را پر کند
در گروه حجم آن موجود است. یک استفاده معمولی، با فرض یک مهمان لینوکس با تک
PV / dev / sda2 و یک دستگاه روت به نام /dev/vg_guest/lv_root خواهد بود:
تغییر اندازه indisk outdisk \
--expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root
این کار ابتدا پارتیشن (و PV) را گسترش میدهد و سپس دستگاه ریشه را گسترش میدهد
فضای اضافی را در PV پر کنید.
اگر virt-resize بداند چگونه این کار را انجام دهد، محتویات LV نیز تغییر اندازه میدهند. تو می توانی
با استفاده از این گزینه از تلاش برای گسترش محتوا جلوگیری کنید
--بدون گسترش محتوا.
استفاده کنید سیستم های فایل virt(1) برای لیست کردن فایل سیستم ها در مهمان.
می توانید این گزینه را چندین بار بدهید، اما انجام این کار منطقی نیست مگر اینکه
حجم های منطقی که شما مشخص می کنید همه در گروه های حجمی مختلف هستند.
-- قابل خواندن توسط ماشین
از این گزینه برای سازگاری بیشتر خروجی با ماشین هنگام تجزیه توسط استفاده می شود
برنامه های دیگر «خروجی قابل خواندن با ماشین» را در زیر ببینید.
-n
--dryrun
خلاصه ای از کارهایی که باید انجام شود چاپ کنید، اما کاری انجام ندهید.
--no-copy-boot-loader
بهطور پیشفرض، virt-size روی برخی از بخشها در ابتدای دیسک کپی میشود (تا
ابتدای پارتیشن اول). معمولاً این بخش ها حاوی Master Boot هستند
ضبط (MBR) و بوت لودر، و برای بوت شدن مهمان مورد نیاز است
به درستی.
اگر این پرچم را مشخص کنید، این کپی اولیه انجام نشده است. ممکن است نیاز داشته باشید
در این حالت بوت لودر را دوباره نصب کنید.
--بدون پارتیشن اضافی
به طور پیشفرض، virt-resize یک پارتیشن اضافی در صورت وجود فضای اضافی و بدون استفاده ایجاد میکند
بعد از اینکه همه تغییر اندازه اتفاق افتاد. از این گزینه برای جلوگیری از پارتیشن اضافی استفاده کنید
در حال ایجاد اگر این کار را انجام دهید، فضای اضافی تا زمانی که اجرا نکنید، غیر قابل دسترس خواهد بود
fdisk، parted یا ابزارهای پارتیشن بندی دیگر در مهمان.
توجه داشته باشید که اگر فضای اضافی کمتر از 10 مگابایت باشد، پارتیشن اضافی وجود نخواهد داشت
ایجاد شده است.
--بدون گسترش محتوا
بهطور پیشفرض، virt-resize سعی میکند محتوای مستقیم پارتیشنها را گسترش دهد
می داند چگونه (نگاه کنید به --بسط دادن گزینه بالا).
اگر شما بدهید --بدون گسترش محتوا گزینه سپس virt-resize این کار را انجام نخواهد داد.
-- بدون پراکنده
کپی پراکنده را خاموش کنید. "کپی پراکنده" را در زیر ببینید.
--ntfsresize-force
عبور کن --زور گزینه ای برای ntfsresize(8)، امکان تغییر اندازه حتی اگر دیسک NTFS باشد
به عنوان نیاز به بررسی سازگاری علامت گذاری شده است. در صورت تمایل باید از این گزینه استفاده کنید
اندازه یک مهمان ویندوز را چندین بار بدون بوت شدن در ویندوز بین هر کدام تغییر دهید
تغییر اندازه
--فرمت خروجی خام
فرمت تصویر دیسک خروجی را مشخص کنید. اگر این پرچم داده نمی شود پس داده می شود
به طور خودکار از روی خود تصویر شناسایی می شود.
اگر با تصاویر دیسک مهمان با فرمت خام غیرقابل اعتماد کار می کنید، باید از فرمت آن اطمینان حاصل کنید
همیشه مشخص می شود.
توجه داشته باشید که این گزینه میکند نه ایجاد فرمت خروجی این گزینه فقط می گوید
libguestfs چیست، بنابراین سعی نمی کند آن را حدس بزند. شما هنوز باید آن را ایجاد کنید
دیسک خروجی با فرمت مناسب "QCOW2 و فرمت های خام غیر پراکنده" را ببینید.
-q
--ساکت
خلاصه را چاپ نکنید
--تغییر اندازه قسمت = اندازه
اندازه پارتیشن نامگذاری شده را تغییر دهید (بسط یا کوچک کردن آن) به طوری که اندازه داده شده را داشته باشد.
"اندازه" را می توان به عنوان یک عدد مطلق و سپس b/K/M/G به معنی بایت بیان کرد.
کیلوبایت، مگابایت یا گیگابایت؛ یا به عنوان درصدی از اندازه فعلی؛ یا به عنوان یک
تعداد نسبی یا درصد مثلا:
--resize /dev/sda2=10G
--resize /dev/sda4=90%
--resize /dev/sda2=+1G
--resize /dev/sda2=-200M
--resize /dev/sda1=+128K
--resize /dev/sda1=+10%
--resize /dev/sda1=-10%
شما می توانید اندازه هر پارتیشن را افزایش دهید. Virt-resize مستقیم را گسترش می دهد
محتوای پارتیشن اگر بداند چگونه است (نگاه کنید به --بسط دادن در بالا).
تو فقط میتونی کاهش اندازه پارتیشن هایی که حاوی فایل سیستم یا PV هستند که
قبلا کوچک شده اند. Virt-resize بررسی می کند که قبلاً انجام شده است
ادامه دهید، در غیر این صورت یک خطا چاپ خواهد شد (همچنین مراجعه کنید - تغییر اندازه-نیروی).
می توانید این گزینه را چندین بار بدهید.
- تغییر اندازه-نیروی قسمت = اندازه
این همان است --تغییر اندازه با این تفاوت که به شما امکان می دهد اندازه هر کدام را کاهش دهید
تقسیم بندی. به طور کلی این به این معنی است که شما هر داده ای را که در انتهای آن بود از دست خواهید داد
پارتیشن را کوچک می کنید، اما ممکن است به آن اهمیتی ندهید (مثلاً اگر یک پارتیشن استفاده نشده را کوچک کنید
پارتیشن، یا اگر بتوانید به راحتی آن را بازسازی کنید، مانند یک پارتیشن swap).
همچنین ببینید --چشم پوشی گزینه.
--کوچک شدن بخش
پارتیشن نامگذاری شده را کوچک کنید تا تصویر کلی دیسک در مقصد قرار گیرد. در
پارتیشن به نام باید شامل یک سیستم فایل یا PV است که قبلاً با استفاده از آن کوچک شده است
ابزار دیگری (مثلا ماهی مهمان(1) یا سایر ابزارهای آنلاین). Virt-resize این را بررسی می کند
و اگر این کار انجام نشده باشد خطا بدهید.
مقداری که دیسک کلی باید کوچک شود (پس از انجام همه موارد دیگر
عملیات درخواستی کاربر) "کسری" نامیده می شود. به عنوان مثال، یک مستقیم
کپی (فرض نکنید عملیات دیگری) از یک تصویر دیسک 5 گیگابایتی به یک تصویر دیسک 4 گیگابایتی منجر می شود
کسری 1 گیگابایتی در این حالت virt-resize خطا می دهد مگر اینکه کاربر
یک پارتیشن را برای کوچک شدن مشخص کرد و آن پارتیشن بیش از یک گیگابایت رایگان داشت
فضا.
توجه داشته باشید که نمی توانید استفاده کنید --بسط دادن و --کوچک شدن با هم.
--ناشناس-فایل سیستم ها چشم پوشی از
--ناشناس-فایل سیستم ها هشدار دادن
--ناشناس-فایل سیستم ها خطا
رفتار virt-resize را هنگام درخواست گسترش یک فایل سیستم پیکربندی کنید، و هیچ کدام
libguestfs از آن پشتیبانی می کند و virt-resize نمی داند چگونه محتوای آن را گسترش دهد
فایل سیستم
--ناشناس-فایل سیستم ها چشم پوشی از باعث می شود virt-resize بی سر و صدا چنین مواردی را نادیده بگیرد
سیستم های فایل، و چیزی در مورد آنها چاپ نشده است.
--ناشناس-فایل سیستم ها هشدار دادن (رفتار پیشفرض) باعث میشود virt-resize هشدار دهد
هر یک از فایل سیستمی که قابل گسترش نیستند، اما همچنان به تغییر اندازه آن ادامه می دهند
دیسک
--ناشناس-فایل سیستم ها خطا در ابتدا باعث می شود virt-resize خطا کند
فایل سیستمی که قابل گسترش نیست
همچنین به "روش ناشناخته/غیرقابل دسترسی برای گسترش سیستم فایل TYPE در DEVICE/LV" مراجعه کنید.
-v
-- پرحرف
پیام های اشکال زدایی را فعال کنید.
-V
- نسخه
نمایش شماره نسخه و خروج
-x ردیابی تماس های API libguestfs را فعال کنید.
دستگاه قابل خواندن OUTPUT
La -- قابل خواندن توسط ماشین می توان از گزینه برای سازگاری بیشتر خروجی با ماشین استفاده کرد، که
هنگام فراخوانی virt-resize از برنامه های دیگر، رابط کاربری گرافیکی و غیره مفید است.
دو راه برای استفاده از این گزینه وجود دارد.
ابتدا از این گزینه به تنهایی برای پرس و جو از قابلیت های باینری virt-resize استفاده کنید.
خروجی معمولی به صورت زیر است:
$ virt-resize --machine-readable
virt-Resize
ntfsresize-force
32 بیتک
ntfs
btrfs
لیستی از ویژگی ها چاپ می شود، یکی در هر خط، و برنامه با وضعیت 0 خارج می شود.
ثانیاً از گزینه در ارتباط با سایر گزینه ها برای ساخت برنامه معمولی استفاده کنید
خروجی ماشین دوستانه تر.
در حال حاضر این به این معنی است:
1. پیام های نوار پیشرفت را می توان با جستجوی این معمولی از stdout تجزیه کرد
اصطلاح:
^[0-9]+/[0-9]+$
2. برنامه تماس باید پیام های ارسال شده به stdout را بررسی کند (به جز نوار پیشرفت
پیام ها) به عنوان پیام های وضعیت. آنها را می توان ثبت کرد و/یا به کاربر نمایش داد.
3. برنامه فراخوانی باید پیام های ارسال شده به stderr را به عنوان پیام های خطا در نظر بگیرد. که در
علاوه بر این، تغییر اندازه virt با یک کد وضعیت غیر صفر در صورت وجود خطای مهلک خارج می شود.
نسخه های برنامه قبل از 1.13.9 پشتیبانی نمی کنند -- قابل خواندن توسط ماشین گزینه و
یک خطا را برمی گرداند.
NOTES
"تقسیم بندی 1 میکند نه پایان on سیلندر مرز."
Virt-Resize پارتیشن ها را با مضرب های 128 سکتور تراز می کند (به بخش مراجعه کنید --هم ترازی پارامتر).
معمولاً این بدان معنی است که پارتیشن ها با هندسه CHS باستانی تراز نمی شوند.
با این حال، هندسه CHS برای دیسکهایی که از اوایل دهه 1990 تولید شدهاند بیمعنی است، و
برای هاردهای مجازی دو برابر شده است. تراز کردن پارتیشن ها با سیلندرها لازم نیست
توسط هر سیستم عامل مدرن
مهمان BOOT گیر AT "گراب"
اگر مهمان لینوکس پس از تغییر اندازه بوت نمی شود و بوت پس از چاپ "GRUB" گیر می کند.
در کنسول، grub را دوباره نصب کنید.
guestfish -i -a newdisk
> cat /boot/grub/device.map
# بررسی کنید محتویات این فایل معقول باشد یا
# در صورت لزوم فایل را ویرایش کنید
> grub-install //dev/vda
> خروج
برای پیکربندی مجدد مهمان انعطاف پذیرتر، از جمله در صورت نیاز به تعیین پارامترهای دیگر
برای grub-install، استفاده کنید فضیلت نجات(1).
تغییر اندازه WINDOWS BOOT پارتیشن ها
در ویندوز ویستا و نسخههای بعدی، مایکروسافت به استفاده از بوت جداگانه روی آورد
تقسیم بندی. در این ماشین های مجازی معمولا / dev / sda1 پارتیشن بوت است و / dev / sda2 هست
درایو اصلی (C:). تغییر اندازه پارتیشن اول (بوت) باعث از کار افتادن بوت لودر می شود
خطای 0xC0000225. تغییر اندازه پارتیشن دوم (یعنی C: درایو) باید کار کند.
WINDOWS CHKDSK
دیسک های ویندوزی که از NTFS استفاده می کنند باید قبل از استفاده از virt-size سازگار باشند. اگر
عملیات ntfsresize ناموفق است، سعی کنید VM اصلی را بوت کنید و "chkdsk /f" را روی همه اجرا کنید.
پارتیشن های NTFS، سپس VM را به طور تمیز خاموش کنید. برای اطلاعات بیشتر رجوع کنید به:
https://bugzilla.redhat.com/show_bug.cgi?id=975753
پس از تغییر اندازه اگر پارتیشنهای NTFS داشته باشند، ویندوز ممکن است یک "chkdsk" طولانی را در اولین راهاندازی راهاندازی کند
گسترش یافته است. این فقط یک بررسی ایمنی است و (مگر اینکه خطا پیدا کند) چیزی نیست
نگران
WINDOWS UNMOUNTABLE_BOOT_VOLUME BSOD
پس از آماده کردن یک مهمان ویندوز و سپس تغییر اندازه آن با تغییر اندازه، ممکن است این مورد را مشاهده کنید
مهمان با BSOD "UNMOUNTABLE_BOOT_VOLUME" بوت نمی شود. این خطا ناشی از داشتن است
"ExtendOemPartition=1" در فایل sysprep.inf. حذف این خط قبل از sysprepping
باید مشکل را برطرف کند
WINDOWS 8
"راه اندازی سریع" ویندوز 8 می تواند از تغییر اندازه پارتیشن های NTFS جلوگیری کند. دیدن
"WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP" در مهمانان(3).
پراکنده کپی برداری
شما باید یک تصویر دیسک هدف جدید و صفر شده برای استفاده از تغییر اندازه ایجاد کنید.
Virt-resize به طور پیش فرض کپی پراکنده را انجام می دهد. این بدان معنی است که بلوک ها را کپی نمی کند
از دیسک منبع که همه صفر هستند. این سرعت و کارایی را بهبود می بخشد، اما این کار را انجام می دهد
اگر تصویر دیسک مورد نظر حاوی داده های صفر نشده باشد، نتایج نادرستی ایجاد می کند.
زمانی که این مشکل می تواند اصلی باشد این است که هدف یک پارتیشن میزبان باشد (به عنوان مثال.
"virt-resize source.img /dev/sda4") زیرا ابزارهای پارتیشن بندی معمولی تمایل به خروج دارند
هر داده ای که قبلاً روی دیسک بوده است.
اگر مجبور به استفاده مجدد از هدفی هستید که قبلاً حاوی داده است، باید از آن استفاده کنید -- بدون پراکنده
گزینه. توجه داشته باشید که این می تواند بسیار کندتر باشد.
"ناشناخته / در دسترس نیست روش برای گسترش la TYPE سیستم فایل on DEVICE/LV"
از Virt-resize خواسته شد تا یک پارتیشن یا یک حجم منطقی حاوی یک سیستم فایل را گسترش دهد
با نوع "TYPE"، اما هیچ روش در دسترس یا شناخته شده ای برای گسترش آن وجود ندارد
فایل سیستم
این ممکن است به دلیل یکی از موارد زیر باشد:
1. فایل سیستم مربوطه در libguestfs موجود نیست، زیرا وجود ندارد
پکیج مناسب در هاست با برنامه های کاربردی برای آن. این معمولا برای
فایل سیستم های "btrfs"، "ntfs" و "xfs".
بررسی نتایج:
virt-resize ---machine-readable
guestfish -a /dev/null run : موجود است
guestfish -a /dev/null run : filesystem_available TYPE
در این صورت کافی است بسته های مناسب را نصب کنید و از آنها پشتیبانی کنید.
به عنوان مثال، "libguestfs-xfs" در Red Hat Enterprise Linux، CentOS، Debian، Ubuntu و
توزیع های مشتق شده از آنها، برای پشتیبانی از سیستم فایل "xfs".
2. Virt-resize هیچ پشتیبانی برای گسترش آن نوع فایل سیستم ندارد.
در این مورد، هیچ کاری نمیتوان انجام داد تا به virt-resize اجازه دهیم آن نوع را گسترش دهد
فایل سیستم
در هر دو مورد، virt-resize سیستم فایل ذکر شده را گسترش نخواهد داد. نتیجه (مگر اینکه
--ناشناس-فایل سیستم ها خطا مشخص شده است) این است که پارتیشن های حاوی چنین
فایل سیستم ها در واقع به اندازه درخواست بزرگتر خواهند بود، اما فایل سیستم ها همچنان قابل استفاده خواهند بود
در اندازه های قدیمی ترشان
جایگزین ابزارها
چندین ابزار اختصاصی برای تغییر اندازه پارتیشن ها وجود دارد. ما در اینجا به هیچ کدام اشاره نمی کنیم.
جدا(8) و پوسته گرافیکی آن gparted می تواند برخی از انواع عملیات تغییر اندازه را روی دیسک انجام دهد
تصاویر. آنها می توانند اندازه پارتیشن ها را تغییر دهند و جابجا کنند، اما من فکر نمی کنم که آنها بتوانند کاری انجام دهند
محتویات، و آنها مطمئنا LVM را درک نمی کنند.
ماهی مهمان(1) می تواند هر کاری را که virt-resize می تواند انجام دهد و خیلی بیشتر، اما با مقدار بسیار کمتر انجام دهد
مرحله. احتمالاً در نهایت به محاسبه دستی افست بخش دست خواهید یافت، که چیزی است که
virt-resize برای اجتناب طراحی شده است. اگر می خواهید دستورهای معادل guestfish را ببینید
که virt-resize اجرا می شود، از - رفع اشکال پرچم.
دراکوت(8) شامل یک ماژول به نام "dracut-modules-growroot" است که می تواند برای رشد استفاده شود
پارتیشن ریشه زمانی که مهمان برای اولین بار بوت می شود. مستنداتی برای این ماژول در وجود دارد
یک فایل README مرتبط
خروج وضعیت
این برنامه در صورت موفقیت آمیز بودن 0 یا در صورت وجود خطا، عدد غیر صفر را برمی گرداند.
با استفاده از خدمات onworks.net از virt-resize آنلاین استفاده کنید