2台の80Gb7200rpm SATAHDにSnowLeopard Server(10.6)を搭載したIntel Xserve(Quad core Xeon)をインストールしています。
これら2つのドライブでディスクユーティリティを使用してミラー化されたRAIDセットを作成しましたが、すべてうまくいきました。
それから私はこれが本当に良い考えであるかどうか自問していました。ハードウェアRAIDシステムの方が優れていることは知っていますが、このソフトウェアRAIDについてはどうでしょうか。
これについて何かフィードバックはありますか? 1つのHDが故障した場合、正常に動作しますか?これはパフォーマンスに影響しますか?
[更新]
要するに:ハードウェアRAIDはソフトウェアRAIDよりも優れており、ソフトウェアRAIDよりも優れています。
回答ありがとうございました。とても参考になりました。
特に、障害を監視するためのゴードンのスクリプト。 AppleのソフトウェアRAIDは、ドライブの障害についてかなり沈黙しているためです。
私の個人的な好みは常にハードウェアRAIDですが、ソフトウェアを使用することはありません。反対意見を持っている人もいることも承知しています。はい、ドライブの1つに障害が発生しても、引き続き機能します。それがRAIDを使用する主な理由です。 「R」は冗長を表します。
CPUはより多くのことをしなければならないため、ソフトウェアRAIDはパフォーマンスに影響を与える必要があります。ただし、実際には、その違いが目立つようになると、サーバーを強く押しすぎてしまい、CPUサイクルが数回失われるよりも多くの問題が発生します。例えば熱は深刻な問題になります。
私が尋ねる1つの質問は、なぜそのような小さなドライブなのかということです。ほんの少しだけ、はるかに大きなドライブを手に入れることができます。何といっても、80GBドライブの調達は非常に困難になりつつあり、これは将来のメンテナンスの観点から問題になる可能性があります。
サイレント障害に関するSvenWの警告を2番目にします。どちらかといえば、ドライブ障害を乗り切るには少し良すぎます。何らかの理由で1台のドライブがソフトウェアミラーからドロップアウトしたサーバーがいくつかあった後のことを目にしました(再起動後、時間内に準備ができていないのではないかと思います)。数か月後、そのドライブに問題が発生するまで、残りのドライブですべてが正常に機能します。最初にグリッチが発生したドライブに戻り、最後の数か月が消えます。
これを修正するために作成した短いシェルスクリプトを次に示します。メールアドレスに置き換えて、/ etc/periodic/daily/150.check-raidのように保存し、実行可能にします。RAIDが低下した場合は、警告をメールで送信します(翌朝3:15)。それをテストするには(スパムブロックなどの場合に強くお勧めします)、いくつかの使い捨てドライブ(USBキーチェーンドライブなど)を接続し、それらをミラーリングし、一方を取り外し、もう一方を一晩置いて、メールボックスに警告があるかどうかを確認します午前中に。
#!/bin/sh
# This script checks for any degraded/offline/failed/whatever software
# RAIDs, and if any are found emails a note to an admin. To use it,
# replace the ADMIN_EMAIL value with your own email address, drop it in
# /etc/periodic/daily, and change the owner to root. This'll make it
# run its check every morning at 3:15am.
#
# Warning: this script doesn't check anything other than software RAIDs
# built with the Apple (i.e. Disk Utility) RAID tools. It does not check
# any hardware RAIDs (including Apple's RAID card), or even any third-party
# software RAIDs. If "diskutil listraid" doesn't list it, it's not going
# to be checked.
#
ADMIN_EMAIL="[email protected]"
if diskutil listraid | grep "^Status:" | grep -qv "Online$"; then
diskutil listraid | mail -s 'RAID problem detected' "$ADMIN_EMAIL"
fi
私はソフトウェアRAIDの経験が豊富ですが、システムドライブとしてのみ使用しています。少なくともMacOS10.4では、システムは故障したドライブについてまったく無音であるため、ドライブのステータスを確認するには、必ずサーバーモニターまたはディスクユーティリティを使用してください。これが10.5/10.6で良くなったのかどうかはわかりませんが、これは私のテストリストにあるものです。私が本当に見逃していることの1つは、RAID5です。3つ以上のドライブがある場合、できることはストライピングだけです。
私の場合、パフォーマンスに大きな影響はありませんでしたが、データ用のFC RAIDを備えた、システムドライブとしてのみ使用されています。
まだテストプロセスにある場合は、ドライブを取り外して障害/回復をテストし、ドライブに障害が発生した場合にどのように行われるかを確認してください。
XServe RAIDカードは699ドルです。ハードウェアRAIDの方がはるかに好きですが、OSXのソフトウェアRAIDは、このような高価なハードウェアコントローラの正当性を著しく損なうのに十分だと思います。
基本的には心配する必要はありません。このお金の一部を=> 80GBのUSBディスクに費やし、ミラーを紛失した場合に回復可能なバックアップを提供するためにTimeMachineに任せてください。
AppleのハードウェアRAIDカードをチェックするためのGordonのスクリプトの修正バージョン。
#!/bin/sh
# This script checks for any degraded/offline/failed/whatever software
# RAIDs, and if any are found emails a note to an admin. To use it,
# replace the ADMIN_EMAIL value with your own email address, drop it in
# /etc/periodic/daily, and change the owner to root. This'll make it
# run its check every morning at 3:15am.
ADMIN_EMAIL="[email protected]"
if raidutil list status | grep "^General" | grep -qv "Good$"; then
raidutil list status | mail -s 'RAID problem detected' "$ADMIN_EMAIL"
fi
OS X RAID(ハードウェアまたはソフトウェア)を監視するのに最適なユーティリティは RAID Monitor です。私はRAIDを備えたすべてのOSXボックスでそれを使用していますが、それは素晴らしいものであり、AppleがOSに含まれているはずです。