Jest to polecenie virt-alignment-scan, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
virt-alignment-scan - Sprawdź wyrównanie partycji maszyny wirtualnej
STRESZCZENIE
virt-alignment-scan [--options] -d nazwadomeny
virt-alignment-scan [--opcje] -a dysk.img [-a dysk.img ...]
skanowanie-wyrównania virt [--opcje]
OPIS
Kiedy starsze systemy operacyjne instalują się same, narzędzia do partycjonowania umieszczają partycje
w sektorze niedopasowanym do podstawowej pamięci masowej (zwykle rozpoczyna się pierwsza partycja
sektor 63). Nieprawidłowo wyrównane partycje mogą spowodować, że system operacyjny wykona więcej operacji we/wy niż
powinno być konieczne.
Narzędzie virt-alignment-scan sprawdza wyrównanie partycji na maszynach wirtualnych i
obrazy dysków i ostrzega w przypadku problemów z wyrównaniem.
Obecnie nie ma narzędzia virt do rozwiązywania problemów z wyrównaniem. Można jedynie ponownie zainstalować
system operacyjny gościa. Poniższy dokument NetApp podsumowuje problem i możliwe
rozwiązania: http://media.netapp.com/documents/tr-3747.pdf
WYDAJNOŚĆ
Aby uruchomić to narzędzie bezpośrednio na obrazie dysku, użyj pliku -a opcja:
$ virt-alignment-scan -a winxp.img
/dev/sda1 32256 512 zły (wyrównanie < 4K)
$ virt-alignment-scan - plik fedora16.img
/dev/sda1 1048576 1024K OK
/dev/sda2 2097152 2048K OK
/dev/sda3 526385152 2048K OK
Aby uruchomić narzędzie na gościu znanym z libvirt, użyj metody -d opcja i ewentualnie -c opcja:
# virt-alignment-scan -d RHEL5
/dev/sda1 32256 512 zły (wyrównanie < 4K)
/dev/sda2 106928640 512 zły (wyrównanie < 4K)
$ virt-alignment-scan -c qemu:///system -d Win7TwoDisks
/dev/sda1 1048576 1024K OK
/dev/sda2 105906176 1024K OK
/dev/sdb1 65536 64 KB OK
Uruchom virt-alignment-scan bez żadnego -a or -d opcje skanowania wszystkich domen libvirt.
# virt-alignment-scan
F16x64:/dev/sda1 1048576 1024K tak
F16x64:/dev/sda2 2097152 2048K tak
F16x64:/dev/sda3 526385152 2048K tak
Dane wyjściowe składają się z 4 lub więcej kolumn oddzielonych białymi znakami. Tylko pierwsze 4 kolumny
są istotne, jeśli chcesz przeanalizować to z programu. Kolumny to:
col 1
Nazwa urządzenia i partycji (np. / Dev / sda1 co oznacza pierwszą partycję na pierwszej
urządzenie blokujące).
Podczas wystawiania listy wszystkich domen libvirt (nr -a or -d podana opcja) ta kolumna jest poprzedzona prefiksem
nazwa libvirt lub UUID (jeśli --uid jest podawany). np.: „WinXP:/dev/sda1”
col 2
początek partycji w bajtach
col 3
wyrównanie w bajtach lub kilobajtach (np. 512 lub „4K”)
col 4
„ok”, jeśli ustawienie jest najlepsze pod względem wydajności, lub „złe”, jeśli ustawienie może powodować
Problemy z wydajnością
kol. 5+
opcjonalne wyjaśnienie w formie dowolnego tekstu.
Kod wyjścia z programu zmienia się w zależności od tego, czy partycje były źle wyrównane
znaleziony. Zobacz „STATUS WYJŚCIA” poniżej.
Jeśli chcesz tylko kodu wyjścia bez danych wyjściowych, użyj metody -q opcja.
OPCJE
--help
Wyświetl krótką pomoc.
-a filet
--Dodaj filet
Dodaj filet który powinien być obrazem dysku z maszyny wirtualnej.
Format obrazu dysku jest wykrywany automatycznie. Aby to obejść i wymusić
konkretny format użyj --format=.. opcja.
-a URI
--Dodaj URI
Dodaj dysk zdalny. Zobacz „DODAWANIE PAMIĘCI ZDALNEJ” w gość(1).
-c URI
--łączyć URI
Jeśli używasz libvirt, połącz się z podanym URI. Jeśli zostanie pominięty, łączymy się z
domyślny hiperwizor libvirt.
Jeśli określisz bezpośrednio urządzenia blokujące gości (-a), to libvirt nie jest w ogóle używany.
-d gość
--domena gość
Dodaj wszystkie dyski z nazwanego gościa libvirt. Identyfikatory UUID domeny mogą być używane zamiast
nazwy.
--format=surowy|qcow2|..
--format
Wartość domyślna dla -a Opcją jest automatyczne wykrycie formatu obrazu dysku. Za pomocą
to wymusza format dysku dla -a opcje, które pojawiają się w wierszu poleceń. Za pomocą
--format bez argumentu przełącza z powrotem na automatyczne wykrywanie dla kolejnych -a opcje.
Na przykład:
virt-alignment-scan --format=raw -a dysk.img
wymusza format surowy (brak automatycznego wykrywania) dla dysk.img.
virt-alignment-scan --format=raw -a disk.img --format -a inny.img
wymusza format surowy (brak automatycznego wykrywania) dla dysk.img i powraca do automatycznego wykrywania dla
inny.img.
Jeśli masz niezaufane obrazy dysków gości w formacie raw, powinieneś użyć tej opcji, aby:
określ format dysku. Pozwala to uniknąć potencjalnego problemu z bezpieczeństwem ze złośliwym
gości (CVE-2010-3851).
-P nr_wątków
Od wersji libguestfs 1.22 skanowanie virt-alignment-scan jest wielowątkowe i sprawdza gości w
równoległy. Domyślnie liczba używanych wątków jest wybierana na podstawie ilości
wolna pamięć dostępna w momencie rozpoczęcia skanowania wirtualnego. Możesz zmusić
virt-alignment-scan, aby użyć co najwyżej „nr_threads” za pomocą -P opcja.
Należy pamiętać, że -P 0 oznacza automatyczne wykrywanie i -P 1 oznacza użycie jednego wątku.
-q
--cichy
Nie twórz żadnych wyników. Wystarczy ustawić kod wyjścia (patrz „STATUS WYJŚCIA” poniżej).
--uid
Drukuj identyfikatory UUID zamiast nazw. Jest to przydatne do śledzenia gościa, nawet gdy
gość jest migrowany lub ma zmienioną nazwę, lub gdy dwóch gości ma takie samo imię.
Ta opcja ma zastosowanie tylko w przypadku wyświetlania wszystkich domen libvirt (jeśli nie -a or -d Opcje
są określone).
-v
--gadatliwy
Włącz szczegółowe komunikaty do debugowania.
-V
--wersja
Wyświetl numer wersji i wyjdź.
-x Włącz śledzenie wywołań API libguestfs.
POLECAMY WYRÓWNANIE
Na pierwszym sektorze znajdują się systemy operacyjne starsze niż Windows 2008 i Linux sprzed ok. 2010 roku
pierwszej partycji w sektorze 63, o rozmiarze sektora 512 bajtów. Dzieje się tak z powodu
historyczny wypadek. Napędy muszą raportować geometrię cylindra/głowicy/sektora (CHS).
BIOS-u. Geometria jest zupełnie bez znaczenia na nowoczesnych dyskach, ale tak się zdarza
podana geometria zawsze ma 63 sektory na ścieżkę. Dlatego system operacyjny
umieszcza pierwszą partycję na początku drugiej „ścieżki”, w sektorze 63.
Gdy system operacyjny gościa jest zwirtualizowany, preferowany może być system operacyjny hosta i hypervisor
dostępy dostosowane do jednego z:
· 512 bajtów
jeśli system operacyjny hosta korzysta z pamięci lokalnej bezpośrednio na partycjach dysku twardego i na dysku twardym
dysk ma 512-bajtowe sektory fizyczne.
· 4 KB
do lokalnego przechowywania na nowych dyskach twardych z sektorami fizycznymi o wielkości 4 KB; dla kopii zapasowych plików
przechowywanie w systemach plików o rozmiarze bloku 4 KB; lub w przypadku niektórych typów urządzeń podłączonych do sieci
przechowywanie.
· 64 KB
do wysokiej klasy sieciowej pamięci masowej. Jest to optymalny rozmiar bloku dla niektórych aplikacji NetApp
sprzętu.
· 1 MB
zobacz „WYRÓWNANIE PARTYCJI 1 MB” poniżej.
Partycje, które nie są prawidłowo dopasowane do podstawowej pamięci masowej, powodują dodatkowe operacje we/wy. Dla
przykład:
sekta nr 63
┌──────────────────────────┬ ─ ─ ─ ─
│ gość │
│ blok systemu plików │
─ ┬──────────────────┴──────┬──────────────── ───────┴── ───┬ ─ ─
│ blok hosta │ blok hosta │
│ │
─ ┴─────────────────────────┴──────────────────── ────────── ───┴ ─ ─
W tym przykładzie za każdym razem, gdy odczytywany jest blok gościa 4K, na hoście muszą znajdować się dwa bloki
dostępne (więc wykonuje się dwa razy więcej operacji we/wy). Kiedy zapisywany jest blok gościa 4K, dwa hosty
najpierw należy odczytać bloki, połączyć stare i nowe dane, a następnie ponownie zapisać oba bloki
(4x we/wy).
LINUX HOST BLOK ROLNICZE I / O ROZMIAR
Nowe wersje jądra Linuksa ujawniają fizyczny i logiczny rozmiar bloku oraz minimalny
i zalecany rozmiar we/wy.
Dla typowego konsumenckiego dysku twardego z sektorami o wielkości 512 bajtów:
$ kota /sys/block/sda/queue/hw_sector_size
512
$ kota /sys/block/sda/queue/physical_block_size
512
$ kota /sys/block/sda/queue/logiczny_rozmiar_bloku
512
$ kota /sys/block/sda/queue/minimum_io_size
512
$ kota /sys/block/sda/queue/optimal_io_size
0
W przypadku nowego konsumenckiego dysku twardego z sektorami o wielkości 4 KB:
$ kota /sys/block/sda/queue/hw_sector_size
4096
$ kota /sys/block/sda/queue/physical_block_size
4096
$ kota /sys/block/sda/queue/logiczny_rozmiar_bloku
4096
$ kota /sys/block/sda/queue/minimum_io_size
4096
$ kota /sys/block/sda/queue/optimal_io_size
0
W przypadku jednostki LUN NetApp:
$ cat /sys/block/sdc/queue/ological_block_size
512
$ cat /sys/block/sdc/queue/fizyczny_rozmiar_bloku
512
$ cat /sys/block/sdc/queue/minimum_io_size
4096
$ cat /sys/block/sdc/queue/optimal_io_size
65536
NetApp umożliwia dostęp o długości 512 bajtów (ale będzie on bardzo nieefektywny), preferuje minimum
Rozmiar we/wy 4K, ale optymalny rozmiar we/wy to 64K.
Aby uzyskać szczegółowe informacje na temat znaczenia tych liczb, zobacz
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/newstorage-iolimits.html
[Podziękowania dla Matta Bootha za udostępnienie danych z dysku 4K. Dziękuję Mike'owi Snitzerowi za udostępnienie
Dane NetApp i dodatkowe informacje.]
1 MB PRZEGRODA WYRÓWNANIE
Firma Microsoft wybrała 1 MB jako domyślne wyrównanie dla wszystkich partycji, począwszy od systemu Windows
2008 Server i Linux poszły za tym.
Zakładając, że sektor gościa ma 512 bajtów, zobaczysz teraz pierwszą partycję zaczynającą się od
sektor 2048, a kolejne partycje (jeśli istnieją) zaczną się od wielokrotności 2048 sektorów.
Wyrównanie 1 MB jest zgodne ze wszystkimi obecnymi wymaganiami dotyczącymi wyrównania (4K, 64K) i
zapewnia miejsce na przyszły wzrost rozmiarów bloków fizycznych.
OPRAWA WYRÓWNANIE
Wirtualna zmiana rozmiaru(1) może zmienić ustawienie przegród niektórych gości. Obecnie to
może w pełni wyrównać wszystkie partycje wszystkich gości systemu Windows i naprawić program ładujący
gdzie jest to konieczne. Dla gości Linuksa może wyrównać drugą i kolejne partycje, tzw
większość dostępów do systemu operacyjnego z wyjątkiem rozruchu zostanie wyrównana.
Innym sposobem rozwiązania problemów z wyrównaniem partycji jest ponowna instalacja systemu gościa
systemy. Jeśli instalujesz systemy operacyjne z szablonów, upewnij się, że mają one poprawne
wyrównanie partycji też.
W przypadku starszych wersji systemu Windows przydatne informacje zawiera następujący dokument NetApp:
http://media.netapp.com/documents/tr-3747.pdf
W przypadku systemu Red Hat Enterprise Linux ≤ 5 użyj skryptu Kickstart zawierającego jawny plik %pre
sekcja, która tworzy wyrównane partycje za pomocą rozstał się(8). Nie używaj „części” Kickstart
Komenda. Powyższy dokument NetApp zawiera przykład.
EXIT STATUS
Ten program zwraca:
· 0
pomyślne wyjście, wszystkie partycje są wyrównane ≥ 64K w celu uzyskania najlepszej wydajności
· 1
błąd podczas skanowania obrazu dysku lub gościa
· 2
pomyślne wyjście, niektóre partycje mają wyrównanie < 64 KB, co może skutkować słabym
wydajność wysokiej klasy pamięci sieciowej
· 3
pomyślne wyjście, niektóre partycje mają wyrównanie < 4 KB, co może skutkować słabym
wydajność na większości hypervisorów
Użyj virt-alignment-scan online, korzystając z usług onworks.net