web-dev-qa-db-ja.com

VMからパーティションの不整合を検出できますか?

まず第一に裏話-

突然(文字通り一晩)、インスタンスがCPU使用率アラートをスローし始めます。これはかなり低いVM(1 vCPU、2GB RAM)ですが、NFSサービングとCactiポーリングが非常に少なく、少数のシステムにサービングするだけです。これVMはvSphere4.xのIaaSプロバイダーでホストされ、エンタープライズキット(HP/NetApp SANなど)上にあります。

このシステムで最後に何かを変更したのは、ほぼ4週間前でした。マカフィー(cma)が使用するプロバイダーのエージェント/プロセスの1つが、週末にサービスを再開するcronジョブ(cronジョブがあります)まで、通常よりもはるかに多くのRAMこのエージェントにはメモリリークがあると確信しているためです)とにかく、問題は、このシステムでCacti(poller.phpを実行するhttpd/mysql/php cronジョブ)を実行できないことです-負荷が10を超え、 iowaitは本当に高いです(〜90%)。私は以下を試しました:

  • マカフィーサービスを停止した状態でCactiを実行する
  • cactiを実行しようとするたびに、体系的に更新されたphp *、httpd/mod_ssl、mysql-server
  • すべての最新パッケージへのyumアップデート、現在はRHEL 5.8(x86_64)

Yum update(all)は、システムに6の負荷をかけ、数時間かかりました。

ホスティングプロバイダーにストレージレイヤーに問題がないか尋ねましたが、問題はないと言われました。しかし、これは計算されません。これは、私が経験しているような症状を引き起こす可能性があることを読んだので、パーティションのミスアライメントに問題があるのではないかと思いました。これで、プロバイダーはvSphere/vCenterクライアントでこれらのVMFSパーティションを作成しました。これにより、整合性が確保されます。しかし、それは時間の経過とともに整列から外れる可能性がありますか?もしそうなら、これを検出できるVM /ゲストからの方法はありますか? mbrscan(NetApp)ユーティリティは検出したように見えますが、ホストのESXコンソールから実行する必要があります。

ありがとう!

編集:uSが追加されたsfdisk出力:

    [root@nfs1 ~]# sfdisk -luS /dev/sda

Disk /dev/sda: 13054 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sda1   *        63    208844     208782  83  Linux
/dev/sda2        208845 164055779  163846935  83  Linux
/dev/sda3     164055780 209712509   45656730  8e  Linux LVM
/dev/sda4             0         -          0   0  Empty

更新:

このインスタンスを再起動すると、パフォーマンスの問題が完全に解決されました。ホスティングプロバイダーによるさらなる分析は、いくらかの不整合があることを示しましたが、彼らの意見では、それは経験された症状をもたらさないでしょう。たとえば、WindowsVMの不整合が大きいと言われています。この時点で、それが再び発生するかどうかを確認し、発生する場合はセクターオフセットを変更します。

2
HTTP500

アライメントの問題を確認する唯一の方法は、マスターブートレコードを測定することです。 VMからそれを実行できる場合は、位置がずれているかどうかを確認できます。

とは言うものの、アライメントの問題はストレージに対して行うIOの数を増やしますが、この増加したIOの数を防ぐためにいくつかの制限を設ける必要があります。 Netappは、バックエンドで特別な注意が必要な「部分書き込み」の数が特定のレベルに達するとすぐにパフォーマンスを制限し始めるため、これによって特に大きな打撃を受けます。他のシステムは、それぞれのIOを最後のシステムと同じように扱うため、Netappが取得するストレージ遅延の大幅な急増はありません。

1
Basil

Linux上のsfdiskとのゲストの配置を見つけることができるはずです。パーティションの開始セクターを確認してください。 しかし、プロバイダーはストレージレイヤーでのデフォルトのOSアライメントを説明できる/説明する必要があるため、話の半分しかわかりません。

そのため、63セクターのように位置がずれているように見えても、ストレージには、位置合わせされた境界に修正するために、LUNまたはデータストアへのオフセットがある場合があります。しかし、少なくともあなたはあなたの新しい知識をあなたのプロバイダーに持って行き、彼らに確認させることができます。

更新(新しいsfdiskの結果の場合):どのパーティションも同じ4KBまたは8KBのブロック境界に配置されていないため、調整ミスの問題が発生している可能性があります。ストレージが使用するブロックアライメント(4KBなど)と、使用するアライメント補正がある場合は、プロバイダーに問い合わせる必要があります。配置の修正がない場合は、すべてのパーティションを8または16で均等に割り切れるセクター数で開始する必要があります。その間、1 MBの開始オフセット(2048で均等に割り切れる)でも、基になるすべてのパーティションが可能です。ストレージブロックのサイズは将来変更されます。

0
Eric Nicholson