GoGPT Best VPN GoSearch

OnWorksファビコン

virt-alignment-scan - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで virt-alignment-scan を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド virt-alignment-scan です。

プログラム:

NAME


virt-alignment-scan - 仮想マシンのパーティションのアライメントをチェック

SYNOPSIS


virt-alignment-scan [--options] -d domname

virt-alignment-scan [--オプション] -a disk.img [-a disk.img ...]

virt-alignment-scan [--オプション]

DESCRIPTION


古いオペレーティング システムが自動的にインストールされると、パーティショニング ツールがパーティションを配置します。
基礎となるストレージと位置合わせされていないセクター (通常、最初のパーティションは
セクター63)。 パーティションのアライメントがずれていると、オペレーティング システムがより多くの I/O を発行する可能性があります。
必要があるはずです。

virt-alignment-scan ツールは、仮想マシンのパーティションのアライメントをチェックし、
ディスク イメージを表示し、アラインメントの問題がある場合は警告します。

現在、アライメントの問題を修正するための virt ツールはありません。 のみ再インストールできます。
ゲスト オペレーティング システム。 次の NetApp ドキュメントは、問題と考えられることをまとめたものです。
ソリューション: http://media.netapp.com/documents/tr-3747.pdf

出力


このツールをディスク イメージで直接実行するには、 -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 OK

何も指定せずに 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 列のみ
プログラムからこれを解析したい場合は重要です。 列は次のとおりです。

1襟
デバイスとパーティションの名前 (例: の/ dev / sda1 最初の最初のパーティションを意味します
ブロックデバイス)。

すべての libvirt ドメインを一覧表示する場合 (no -a or -d オプションを指定) この列には接頭辞が付けられます
libvirt 名または UUID (場合 --uuid が与えられます)。 例: 「WinXP:/dev/sda1」

2襟
パーティションの開始バイト数

3襟
バイト単位またはキロバイト単位のアラインメント (例: 512 または "4K")

4襟
アラインメントがパフォーマンスに最適な場合は「ok」、アラインメントが原因である可能性がある場合は「bad」
パフォーマンスの問題

列 5+
オプションのフリーテキストの説明。

プログラムからの終了コードは、アライメントが不十分なパーティションが使用されたかどうかに応じて変化します。
見つかった。 以下の「終了ステータス」を参照してください。

出力のない終了コードだけが必要な場合は、 -q オプションを選択します。

OPTIONS


- 助けて
簡単なヘルプを表示します。

-a file
- 追加 file
追加 file これは、仮想マシンからのディスクイメージである必要があります。

ディスクイメージのフォーマットは自動検出されます。 これをオーバーライドして強制するには
特定の形式は --format =。。 オプションを選択します。

-a URI
- 追加 URI
リモートディスクを追加します。 の「リモートストレージの追加」を参照してください。 ゲストフィッシュとします。

-c URI
- 接続 URI
libvirtを使用している場合は、指定されたものに接続します URI。 省略した場合は、に接続します
デフォルトのlibvirtハイパーバイザー。

ゲストブロックデバイスを直接指定する場合(-a)、libvirtはまったく使用されません。

-d ゲスト
- ドメイン ゲスト
指定されたlibvirtゲストからすべてのディスクを追加します。 代わりにドメインUUIDを使用できます
名前。

--format = raw | qcow2 |。。
- フォーマット
のデフォルト -a オプションは、ディスクイメージのフォーマットを自動検出することです。 使用する
これにより、ディスクフォーマットが強制されます -a コマンドラインに続くオプション。 使用する
- フォーマット 引数なしで、後続の自動検出に戻ります -a オプション。

具体的な例を挙げますと、以下の通りです。

virt-alignment-scan --format=raw -a disc.img

のraw形式(自動検出なし)を強制します ディスク.img.

virt-alignment-scan --format=raw -a disc.img --format -a another.img

のraw形式(自動検出なし)を強制します ディスク.img の自動検出に戻ります
別の.img.

信頼できないraw形式のゲストディスクイメージがある場合は、このオプションを使用して次のことを行う必要があります。
ディスクフォーマットを指定します。 これにより、悪意のあるセキュリティ問題の可能性を回避できます
ゲスト(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を出力します。 これは、次の場合でもゲストをフォローするのに役立ちます。
ゲストが移行または名前変更された場合、またはXNUMX人のゲストが同じ名前を持っている場合。

このオプションは、すべての libvirt ドメインを一覧表示する場合にのみ適用されます (ない場合)。 -a or -d オプション
が指定されています)。

-v
-詳細
デバッグ用の詳細メッセージを有効にします。

-V
- バージョン
バージョン番号を表示して終了します。

-x libguestfsAPI呼び出しのトレースを有効にします。

推奨 調整


Windows 2008 および Linux より古いオペレーティング システム (ca.2010 より前) は、最初のセクターを配置します。
63バイトのセクターサイズで、セクター512の最初のパーティションの。 これは、
歴史的な事故。 ドライブは、シリンダー/ヘッド/セクター (CHS) ジオメトリをレポートする必要があります。
BIOS。 最新のドライブではジオメトリはまったく意味がありませんが、
報告されるジオメトリには、常にトラックごとに 63 のセクターがあります。 したがって、オペレーティングシステム
最初のパーティションを 63 番目の「トラック」の先頭、セクター XNUMX に配置します。

ゲスト OS が仮想化されている場合、ホスト オペレーティング システムとハイパーバイザーが優先する場合があります。
次のいずれかにアラインされたアクセス:

・512バイト

ホスト OS がハード ドライブ パーティションでローカル ストレージを直接使用している場合、およびハード ドライブ
ドライブには 512 バイトの物理セクターがあります。

・4Kバイト

4K バイトの物理セクターを備えた新しいハード ドライブ上のローカル ストレージ用。 ファイルバックアップ用
ブロックサイズが 4K バイトのファイルシステム上のストレージ。 または一部のタイプのネットワーク接続の場合
ストレージ。

・64Kバイト

ハイエンドのネットワーク接続ストレージ向け。 これは、一部の NetApp にとって最適なブロック サイズです。
ハードウェア

・1Mバイト

以下の「1 MB パーティション アラインメント」を参照してください。

基礎となるストレージに正しく配置されていないパーティションは、余分な I/O を引き起こします。 にとって
例:

宗派#63
┌──────────────────────────┬ ─ ─ ─
│ゲスト│
│ファイルシステムブロック│
─ ┬──────────────────┴──────┬──────────────────┴── ────┬────
│ ホストブロック │ ホストブロック │
│││
─ ┴──────────────────────────┴────────────────────── ────┴ ────

この例では、4K のゲスト ブロックが読み取られるたびに、ホスト上の XNUMX つのブロックを読み取る必要があります。
アクセスされます (つまり、4 倍の I/O が行われます)。 XNUMXK ゲスト ブロックが書き込まれると、XNUMX 台のホスト
最初にブロックを読み取り、古いデータと新しいデータを結合し、XNUMX つのブロックを書き戻す必要があります。
(4x I/O)。

リナックス 主催者 BLOCK そして I / O サイズ
Linux カーネルの新しいバージョンでは、物理ブロック サイズと論理ブロック サイズ、および最小値が公開されています。
および推奨される 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

4K バイト セクタの新しいコンシューマ ハード ドライブの場合:

$猫 /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 バイトのアクセスを許可します (ただし、非常に非効率的です)。
I/O サイズは 4K ですが、最適な I/O サイズは 64K です。

これらの数値の意味の詳細については、次を参照してください。
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/newstorage-iolimits.html

[4K ドライブ データを提供してくれた Matt Booth 氏に感謝します。 提供してくれた Mike Snitzer に感謝します
ネットアップのデータと追加情報。]

1 MB パーティション 調整
Microsoft は、Windows で始まるすべてのパーティションのデフォルトのアラインメントとして 1 MB を選択しました
2008 Server、および Linux はこれに従いました。

ゲストに 512 バイトのセクターがあると仮定すると、最初のパーティションが
セクター 2048、および後続のパーティション (存在する場合) は、2048 セクターの倍数で開始されます。

1 MB アライメントは、現在のすべてのアライメント要件 (4K、64K) と互換性があり、
将来的に物理ブロック サイズが大きくなる余地を提供します。

SETTING 調整
virt-サイズ変更(1) 一部のゲストのパーティションの配置を変更できます。 現在それ
すべての Windows ゲストのすべてのパーティションを完全に整列させることができ、ブートローダーを修正します
必要に応じて。 Linux ゲストの場合、XNUMX つ目以降のパーティションを揃えることができるため、
起動時を除く OS アクセスの大部分は整列されます。

パーティション アラインメントの問題を修正する別の方法は、ゲスト オペレーティング システムを再インストールすることです。
システム。 テンプレートからオペレーティング システムをインストールする場合は、テンプレートが正しいことを確認してください。
パーティションの配置も。

古いバージョンの Windows については、次の NetApp ドキュメントに役立つ情報が含まれています。
http://media.netapp.com/documents/tr-3747.pdf

Red Hat Enterprise Linux ≤ 5 の場合、明示的な %pre を含むキックスタート スクリプトを使用します。
を使用して整列パーティションを作成するセクション parted(8). キックスタートの「パーツ」は使用しないでください
指図。 上記の NetApp ドキュメントには例が含まれています。

EXIT ステータス


このプログラムは以下を返します:

0

正常に終了し、最高のパフォーマンスを得るために、すべてのパーティションが 64K 以上に配置されます

1

ディスク イメージまたはゲストのスキャン エラー

2

正常に終了しますが、一部のパーティションのアラインメントが 64K 未満であるため、パフォーマンスが低下する可能性があります
ハイエンド ネットワーク ストレージでのパフォーマンス

3

正常に終了しますが、一部のパーティションのアラインメントが 4K 未満であるため、パフォーマンスが低下する可能性があります
ほとんどのハイパーバイザーでのパフォーマンス

onworks.net サービスを使用してオンラインで virt-alignment-scan を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad




×
Advertisement
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。