این دستور virt-alignment-scan است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
virt-alignment-scan - تراز پارتیشن های ماشین مجازی را بررسی کنید
خلاصه
virt-alignment-scan [--options] -d domname
virt-alignment-scan [--options] -a disk.img [-a disk.img ...]
virt-alignment-scan [--گزینه ها]
شرح
هنگامی که سیستم عامل های قدیمی خود را نصب می کنند، ابزارهای پارتیشن بندی پارتیشن ها را قرار می دهند
در یک بخش که با فضای ذخیره سازی اصلی هماهنگ نیست (معمولاً اولین پارتیشن روشن می شود
بخش 63). پارتیشنهای نامناسب میتوانند منجر به صدور I/O بیشتر از یک سیستم عامل شوند
باید ضروری باشد.
ابزار virt-alignment-scan تراز پارتیشن ها را در ماشین های مجازی بررسی می کند و
تصاویر دیسک را دریافت می کند و در صورت وجود مشکل در تراز به شما هشدار می دهد.
در حال حاضر هیچ ابزار virt برای رفع مشکلات تراز وجود ندارد. شما فقط می توانید دوباره نصب کنید
سیستم عامل مهمان سند زیر NetApp مشکل و احتمال را خلاصه می کند
راه حل ها: http://media.netapp.com/documents/tr-3747.pdf
OUTPUT
برای اجرای مستقیم این ابزار بر روی تصویر دیسک، از -a گزینه:
$ virt-alignment-scan -a winxp.img
/dev/sda1 32256 512 بد (تراز < 4K)
$ virt-alignment-scan -a fedora16.img
/dev/sda1 1048576 1024K خوب است
/dev/sda2 2097152 2048K خوب است
/dev/sda3 526385152 2048K خوب است
برای اجرای ابزار بر روی مهمان شناخته شده به libvirt، از -d گزینه و احتمالا -c گزینه:
# virt-alignment-scan -d RHEL5
/dev/sda1 32256 512 بد (تراز < 4K)
/dev/sda2 106928640 512 بد (تراز < 4K)
$ virt-alignment-scan -c qemu:///system -d Win7TwoDisks
/dev/sda1 1048576 1024K خوب است
/dev/sda2 105906176 1024K خوب است
/dev/sdb1 65536 64K خوب
virt-alignment-scan را بدون هیچ گونه اجرا کنید -a or -d گزینه هایی برای اسکن تمام دامنه های libvirt.
# virt-alignment-scan
F16x64:/dev/sda1 1048576 1024K خوب
F16x64:/dev/sda2 2097152 2048K خوب
F16x64:/dev/sda3 526385152 2048K خوب
خروجی از 4 یا چند ستون جدا شده با فضای خالی تشکیل شده است. فقط 4 ستون اول
اگر بخواهید این را از یک برنامه تجزیه کنید، مهم هستند. ستون ها عبارتند از:
col 1
نام دستگاه و پارتیشن (به عنوان مثال / dev / sda1 به معنی اولین پارتیشن روی اول
دستگاه بلوک).
هنگام فهرست کردن همه دامنه های libvirt (شماره -a or -d گزینه داده شده) این ستون با پیشوند است
نام libvirt یا UUID (اگر --uuid داده شده است). به عنوان مثال: "WinXP:/dev/sda1"
col 2
شروع پارتیشن بر حسب بایت
col 3
تراز در بایت یا کیلوبایت (مثلاً 512 یا "4K")
col 4
اگر تراز برای عملکرد بهترین است، "ok" یا اگر تراز می تواند باعث ایجاد "بد" شود
مشکل در عملکرد
cols 5+
توضیح متن آزاد اختیاری
کد خروج از برنامه بسته به اینکه پارتیشنها تراز ضعیفی داشته باشند تغییر میکند
یافت. "وضعیت خروج" را در زیر ببینید.
اگر فقط کد خروج را بدون خروجی می خواهید، از آن استفاده کنید -q گزینه.
OPTIONS
--کمک
نمایش راهنمایی مختصر
-a پرونده
--اضافه کردن پرونده
اضافه کردن پرونده که باید یک تصویر دیسک از یک ماشین مجازی باشد.
فرمت تصویر دیسک به طور خودکار شناسایی می شود. برای نادیده گرفتن این و مجبور کردن a
فرمت خاص استفاده کنید --فرمت=.. گزینه.
-a URI
--اضافه کردن URI
یک دیسک راه دور اضافه کنید. به "افزودن حافظه از راه دور" در اینجا مراجعه کنید ماهی مهمان(1).
-c URI
-- اتصال URI
اگر از libvirt استفاده می کنید، به داده شده متصل شوید URI. اگر حذف شد، به آن متصل می شویم
هایپروایزر پیش فرض libvirt
اگر مستقیماً دستگاههای بلوک مهمان را مشخص کنید (-a، پس از libvirt اصلا استفاده نمی شود.
-d مهمان
--دامنه مهمان
همه دیسکهای مهمان libvirt را اضافه کنید. UUID های دامنه را می توان به جای استفاده کرد
نامها
--format=raw|qcow2|..
--قالب
پیش فرض برای -a گزینه تشخیص خودکار فرمت تصویر دیسک است. استفاده كردن
این فرمت دیسک را برای -a گزینه هایی که در خط فرمان دنبال می شوند. استفاده كردن
--قالب بدون آرگومان به تشخیص خودکار برای موارد بعدی باز می گردد -a گزینه.
مثلا:
virt-alignment-scan --format=raw -a disk.img
فرمت خام (بدون تشخیص خودکار) را برای disk.img.
virt-alignment-scan --format=raw -a disk.img --format -a Another.img
فرمت خام (بدون تشخیص خودکار) را برای disk.img و به تشخیص خودکار برای
other.img.
اگر تصاویر دیسک مهمان با فرمت خام غیرقابل اعتماد دارید، باید از این گزینه استفاده کنید
فرمت دیسک را مشخص کنید با این کار از یک مشکل امنیتی احتمالی با مخرب جلوگیری می شود
مهمانان (CVE-2010-3851).
-P nr_threads
از libguestfs 1.22، virt-alignment-scan چند رشته ای است و مهمانان را در
موازی. بهطور پیشفرض تعداد رشتههای مورد استفاده بر اساس مقدار انتخاب میشود
حافظه رایگان در زمانی که virt-alignment-scan شروع می شود در دسترس است. شما می توانید مجبور شوید
virt-alignment-scan برای استفاده حداکثر از "nr_threads" با استفاده از -P گزینه.
توجه داشته باشید که -P 0 به معنی تشخیص خودکار، و -P 1 به معنای استفاده از یک رشته است.
-q
--ساکت
هیچ خروجی تولید نکنید فقط کد خروج را تنظیم کنید (به "وضعیت خروج" در زیر مراجعه کنید).
--uuid
چاپ UUID به جای نام. این برای دنبال کردن یک مهمان حتی زمانی مفید است
مهمان مهاجرت یا تغییر نام داده می شود، یا زمانی که دو مهمان به یک نام هستند.
این گزینه فقط برای فهرست کردن همه دامنههای libvirt اعمال میشود (در صورتی که هیچ -a or -d گزینه های
مشخص شده اند).
-v
-- پرحرف
پیام های پرمخاطب را برای اشکال زدایی فعال کنید.
-V
- نسخه
نمایش شماره نسخه و خروج
-x ردیابی تماس های API libguestfs را فعال کنید.
می شود. هم ترازی
سیستم عامل های قدیمی تر از ویندوز 2008 و لینوکس قبل از حدود 2010 اولین بخش را قرار می دهند
از اولین پارتیشن در بخش 63، با اندازه بخش 512 بایت. این اتفاق می افتد به دلیل
یک حادثه تاریخی درایوها باید هندسه سیلندر / سر / بخش (CHS) را گزارش کنند
بایوس هندسه در درایوهای مدرن کاملاً بی معنی است، اما این اتفاق می افتد
هندسه گزارش شده همیشه دارای 63 بخش در هر آهنگ است. بنابراین سیستم عامل
پارتیشن اول را در شروع دومین "تراک"، در بخش 63 قرار می دهد.
هنگامی که سیستم عامل مهمان مجازی سازی می شود، سیستم عامل میزبان و هایپروایزر ممکن است ترجیح دهند
دسترسی های تراز شده با یکی از:
· 512 بایت
اگر سیستم عامل میزبان مستقیماً روی پارتیشن های هارد دیسک و هارد از حافظه محلی استفاده کند
درایو دارای بخش های فیزیکی 512 بایتی است.
· 4 کیلوبایت
برای ذخیره سازی محلی در هارد دیسک های جدید با بخش های فیزیکی 4 کیلوبایت. برای پشتیبانی از فایل
ذخیره سازی در فایل سیستم های با اندازه بلوک 4 کیلوبایت. یا برای برخی از انواع متصل به شبکه
ذخیره سازی.
· 64 کیلوبایت
برای ذخیره سازی متصل به شبکه سطح بالا. این اندازه بلوک بهینه برای برخی از NetApp است
سخت افزار
· 1 مگابایت
"تراز پارتیشن 1 مگابایتی" را در زیر ببینید.
پارتیشن هایی که به درستی با فضای ذخیره سازی زیرین تراز نشده اند باعث I/O اضافی می شوند. برای
مثال:
فرقه شماره 63
┌─────────────────
│ مهمان │
│ بلوک سیستم فایل │
─ ┬──────────────────┴──────┬───────────────────┴── ───┬ ─ ─
│ بلوک میزبان │ بلوک میزبان │
│ │ │
─ ┴─────────────────────────┴────────────────────── ───┴ ─ ─
در این مثال، هر بار که یک بلوک مهمان 4K خوانده می شود، باید دو بلوک روی هاست باشد
دسترسی داشته باشید (بنابراین دو برابر I/O انجام می شود). وقتی یک بلوک مهمان 4K نوشته می شود، دو میزبان
ابتدا باید بلوک ها خوانده شوند، داده های قدیمی و جدید با هم ترکیب شوند و دو بلوک دوباره نوشته شوند
(4x I/O).
لینوکس HOST BLOCK و I / O اندازه
نسخه های جدید هسته لینوکس اندازه بلوک فیزیکی و منطقی و حداقل را نشان می دهد
و اندازه I/O توصیه می شود.
برای یک هارد دیسک معمولی مصرف کننده با بخش های 512 بایت:
گربه دلار /sys/block/sda/queue/hw_sector_size
512
گربه دلار /sys/block/sda/queue/physical_block_size
512
گربه دلار /sys/block/sda/queue/logical_block_size
512
گربه دلار /sys/block/sda/queue/minimum_io_size
512
گربه دلار /sys/block/sda/queue/optimal_io_size
0
برای یک هارد دیسک جدید مصرف کننده با بخش های 4 کیلوبایتی:
گربه دلار /sys/block/sda/queue/hw_sector_size
4096
گربه دلار /sys/block/sda/queue/physical_block_size
4096
گربه دلار /sys/block/sda/queue/logical_block_size
4096
گربه دلار /sys/block/sda/queue/minimum_io_size
4096
گربه دلار /sys/block/sda/queue/optimal_io_size
0
برای NetApp LUN:
$ cat /sys/block/sdc/queue/logical_block_size
512
$ cat /sys/block/sdc/queue/physical_block_size
512
$ cat /sys/block/sdc/queue/minimum_io_size
4096
$ cat /sys/block/sdc/queue/optimal_io_size
65536
NetApp اجازه دسترسی 512 بایت را می دهد (اما آنها بسیار ناکارآمد خواهند بود)، حداقل را ترجیح می دهد
اندازه ورودی/خروجی 4K، اما اندازه ورودی/خروجی بهینه 64K است.
برای اطلاعات دقیق در مورد معنای این اعداد، نگاه کنید به
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/newstorage-iolimits.html
[با تشکر از Matt Booth برای ارائه داده های درایو 4K. با تشکر از مایک اسنیتزر برای ارائه
داده های NetApp و اطلاعات اضافی.]
1 MB تقسیم بندی هم ترازی
مایکروسافت 1 مگابایت را به عنوان تراز پیش فرض برای همه پارتیشن هایی که با ویندوز شروع می شوند انتخاب کرد
سرور 2008، و لینوکس این را دنبال کرده است.
با فرض 512 بخش بایتی در مهمان، اکنون اولین پارتیشن را خواهید دید که از آن شروع می شود
سکتور 2048 و پارتیشن های بعدی (در صورت وجود) از مضربی از سکتورهای 2048 شروع می شوند.
تراز 1 مگابایتی با تمام نیازهای تراز فعلی (4K، 64K) سازگار است و
فضایی را برای رشد آینده در اندازه بلوک های فیزیکی فراهم می کند.
تنظیمات هم ترازی
virt-Resize(1) می تواند تراز پارتیشن های برخی از مهمانان را تغییر دهد. در حال حاضر آن را
می تواند تمام پارتیشن های تمام مهمان های ویندوز را به طور کامل تراز کند و بوت لودر را تعمیر می کند
هر کجا که لازم باشد. برای مهمانهای لینوکس، میتواند پارتیشنهای دوم و بعدی را تراز کند، بنابراین
اکثر دسترسی های سیستم عامل به جز در هنگام بوت تراز خواهند شد.
راه دیگر برای تصحیح مشکلات تراز پارتیشن، نصب مجدد عملیات مهمان خود است
سیستم های. اگر سیستم عامل ها را از قالب ها نصب می کنید، مطمئن شوید که آنها درست هستند
تراز پارتیشن نیز
برای نسخههای قدیمیتر ویندوز، سند NetApp زیر حاوی اطلاعات مفیدی است:
http://media.netapp.com/documents/tr-3747.pdf
برای Red Hat Enterprise Linux ≤ 5، از یک اسکریپت Kickstart استفاده کنید که حاوی %pre صریح باشد.
بخشی که با استفاده از پارتیشن های تراز شده ایجاد می کند جدا(8). از "بخش" Kickstart استفاده نکنید
فرمان سند NetApp بالا حاوی یک مثال است.
خروج وضعیت
این برنامه برمی گرداند:
· 0،XNUMX
خروج موفقیت آمیز، همه پارتیشن ها ≥ 64K برای بهترین عملکرد تراز شده اند
· 1،XNUMX
خطا در اسکن تصویر دیسک یا مهمان
· 2،XNUMX
خروج موفقیت آمیز، برخی از پارتیشن ها تراز کمتر از 64K دارند که می تواند منجر به ضعیف شود
عملکرد در ذخیره سازی شبکه بالا
· 3،XNUMX
خروج موفقیت آمیز، برخی از پارتیشن ها تراز کمتر از 4K دارند که می تواند منجر به ضعیف شود
عملکرد در اکثر هایپروایزرها
از virt-alignment-scan آنلاین با استفاده از خدمات onworks.net استفاده کنید