目次:
- 概要
- ソフトウェアRAIDについて
- 前提条件
- アレイを構成するディスクの選択
- RAIDレベルの選択。
- ひび割れさせよう
- Linux RAID10アレイの作成
- 配列上のファイルシステムの設定
- 取り付け
- RAIDアレイの電子メールアラート
- Sambaの設定
- トラブルシューティング


概要
最近の話題にもかかわらず、すべての強力なクラウドに移動することがありますが、時々あなたの情報を他の誰かのサーバーに入れたくない場合や、毎回インターネットから必要な量のデータをダウンロードすることができない場合があります。 )。だから、ストレージソリューションのために予算内の場所をクリアする前に、Linuxでライセンスを無料にする設定を検討してください。
それが安い/無料で行くということは、「風に注意を払う」ことを意味するものではなく、ソフトウェアRAIDを使用することに加えて設定すべき設定を意識して指摘します。最大価格対信頼性比。
Filomena Scaliseによる画像
ソフトウェアRAIDについて
この名前が示すように、これは専用のハードウェアカードを使用せずにソフトウェアで完全に実行されるRAID(Redundant Array of Inexpensive Disks)の設定です。そのようなものの主な利点は、この専用カードがシステムの基本構成に追加されたプレミアムであるため、コストです。主な欠点は基本的に性能と信頼性ですが、そのようなカードには通常、冗長演算に必要な計算、性能向上のためのデータキャッシング、キャッシュに書き込まれていない操作をキャッシュに残すオプションのバックアップバッテリが搭載されています。電源が切れた場合に電源が復元されました。
ソフトウェアRAIDの設定ではシステム全体のコストを下げるためにシステムのCPU性能を犠牲にしていますが、今日のCPUではオーバーヘッドはごくわずかです(特に、主にこのサーバを「ファイルサーバ」にする場合)。ディスク性能に関しては、ペナルティがあります…しかし、ディスク・サブシステムのサーバーからのボトルネックにはそれほど深刻ではないことには一度も触れていません。トムのハードウェアガイド「Tom's goes RAID5」は、私が個人的に参考にしている、昔ながらのものですが、個人的に参考にしていますが、ソフトウェアRAIDのWindows実装について話しているように、それ以外は、Linuxははるかに優れていると確信しています:P)。
前提条件
- 忍耐若い、これは長い読書です。
- あなたはRAIDが何であり、どのようなものが使用されているかを知っていると仮定します。
- このガイドはUbuntu server9.10 x64を使って書かれていますので、Debianベースのシステムでも動作することが前提です。
- あなたは私がVIMをエディタプログラムとして使用するのを見るでしょう、これは私がそれに慣れているからです…あなたが望む他のエディタを使うことができます。
- このガイドの作成に使用したUbuntuシステムは、ディスクオンキーにインストールされていました。そうすることで、sda1をRAIDアレイの一部として使用できるようになりましたので、セットアップに合わせて調整してください。
- 作成するRAIDのタイプに応じて、システムに少なくとも2台のディスクが必要です。このガイドでは、6台のドライブを使用しています。
アレイを構成するディスクの選択
トラップを避けるための最初のステップは、その存在を知ることです(砂丘からのThufir Hawat)。
ディスクを選択することは軽く取られるべきではありません。あなたは本当にあなたの経験を生かすことが賢明であり、この警告に注意してください。
行う NOT 「コンシューマグレード」ドライブを使用してアレイを作成し、「サーバーグレード」ドライブを使用してください!!!!!!
今私はあなたの考えを知っています、私たちは安くするつもりはないと言いましたか?はい、私たちはしましたが、これはまさしくそのようなことが無謀で避けられるべき場所の一つです。彼らの魅力的な価格にもかかわらず、コンシューマーグレードのハードドライブは、24/7「オン」タイプの用途で使用するようには設計されていません。本当にあなたのためにこれを試してきました。このような設定をしている3台のサーバー(少なくとも予算制約のため)で少なくとも4台のコンシューマーグレードのドライブがサーバーの初回起動日から約1.5〜1.8年後に失敗しました。データの損失はありませんでしたが、RAIDがそれを達成したため よく そして生き残った…このような瞬間は、サーバメンテナンスのための会社の時間が減ったことは言うまでもなく、システム管理者の平均余命を短くします。
2つのタイプの間には失敗率に差がないと言う人もいます。しかし、これらの主張にもかかわらず、サーバグレードのドライブは、依然としてより高いレベルのSMART制限とその背後にあるQAingを持っています(コンシューマドライブが出てすぐに市場にリリースされないことがわかります)。アップグレードのために余分な$$$を用意することを強くお勧めします。
RAIDレベルの選択。
私はすべてのオプションを利用するつもりはありませんが(これはRAID wikipediaのエントリーによく書かれています)、RAID 6以上のものを常に選択すべきだと言えるのは注目に値すると思います私たちは Linux RAID10)。これは、ディスクに障害が発生すると、隣接するディスクに障害が発生した可能性が高くなり、手動で「2ディスク」障害が発生する可能性があるからです。さらに、大型のドライブを使用する場合、大きなディスクはプラッタ表面のデータ密度が高いほど、故障の可能性が高くなります。 2T以降のIMHOディスクは常にこのカテゴリに分類されるので注意してください。
ひび割れさせよう
ディスクのパーティション化
Linux / GNUではストレージのニーズにブロックデバイス全体を使うことができますが、パーティションを使用するのは、システムが苦労した場合に備えてディスクレスキューツールを使いやすくするためです。ここでは "fdisk"プログラムを使用していますが、2Tを超えるディスクを使用する場合は、partedのようなGPTパーティショニングをサポートするパーティションプログラムを使用する必要があります。
sudo fdisk /dev/sdb
注意:パーティションタイプを変更せずにアレイを作成することは可能ですが、これはネット全体にわたって記述されている方法であるため、(これはブロックデバイス全体を使用する場合は不要です)
fdiskに入ると、キーストロークは次のようになります。
n;新しいパーティションの場合 入る p;プライマリパーティションの場合 入る 1;パーティションの数 入る;デフォルトを受け入れる 入る;デフォルトを受け入れる t;タイプを変更する fd;タイプを "Linux raid auto detect"(83h)に設定します。 w;変更をディスクに書き込んで終了する
アレイの一部となるすべてのディスクについて、すすぎ洗いを繰り返します。
Linux RAID10アレイの作成
"Linux raid10 "は、バニラRAID10よりもパフォーマンスと弾力性を向上させるために非偶数のディスクを活用する方法を知っているということだけでなく、それを使用するときに「10」のアレイを1つのシングルステップ。
最後のステップで準備したディスクからアレイを作成するには、次のコマンドを発行します。
sudo mdadm --create /dev/md0 --chunk=256 --level=10 -p f2 --raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 --verbose
注意これは表現が2つに分けるという事実にもかかわらず、これはただ1つの行です。
パラメータを下げてみましょう:
- "-chunk = 256" - RAIDストライプが破損しているバイトのサイズです。このサイズは、新規/大容量ディスク(このガイドを作成するために使用された2Tドライブは、このカテゴリでは間違いありませんでした)に推奨されます。
- "-level = 10" - Linux raid10(伝統的な襲撃が必要な場合、何らかの理由で2つの配列を作成して結合する必要があります)。
- "-p f2" - "遠い"ローテーションプランを使用します。詳細については下記の注を参照してください。また、 "2"は、アレイがデータの2つのコピーを保持することを示します。
注意:ディスク上の物理データのレイアウトが同じではないため、遠いプランを使用します。これは、ドライブのハードウェアが製造上の不具合のために失敗する状況を克服するのに役立ちます(そして、あなたのような "これは私には起こりません"とは思わない)。 2つのディスクが同じ製造元とモデルのものであるため、同じ方法で使用され、伝統的に同じ物理的な場所にデータを保管していたため…データのコピーを保持するドライブが故障したというリスクがあります交換用のディスクが到着するまで、必要な弾力性に近づきすぎたり、必要な弾力性を提供したりしません。 「遠い」計画は、コンピュータのケース内で互いに接近していないディスクを使用することに加えて、コピードライブ上の全く異なる物理的な場所にデータを配布する。より多くの情報は、ここと以下のリンクにあります。
アレイが作成されると、その同期プロセスが開始されます。伝統を待つことができますが(これには時間がかかることがあります)、すぐにアレイの使用を開始することができます。
進捗状況は以下を使用して確認できます。
watch -d cat /proc/mdstat
mdadm.conf構成ファイルの作成
Ubuntuは起動時にアレイを自動的にスキャンしてアクティブ化することを知っていることが証明されていますが、完全性のために次のsysadminのためにファイルを作成します。あなたのシステムは自動的にファイルを作成せず、あなたのRAIDセットのすべてのコンポーネント/パーティションを覚えようとしますが、システム管理者の正気の腰です。この情報は、mdadm.confファイルに保存することができます。書式設定は難しいかもしれませんが、幸いにもmdadm -detail -scan -verboseコマンドの出力はそれを提供します。
注意:「ほとんどのディストリビューションでは、mdadm.confファイルは/ etc / mdadmではなく、/ etc /にあることを期待しています。私はこれが/etc/mdadm/mdadm.confとして "ubuntu-ism"であると信じています。私たちが は ここでUbuntuを使って、ちょうどそれと一緒に行くでしょう。
sudo mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf
重要!新しく作成されたファイルから "0"を削除する必要があります。これは、上記のコマンドの構文が完全に正しくないためです(GNU / LinuxはまだOSではありません)。
この間違った設定が原因で発生する問題を確認したい場合は、スキャン" この時点で、調整を行う前のコマンド:
mdadm --examine --scan
これを解決するには、ファイルを編集します /etc/mdadm/mdadm.conf 変更:
metadata=00.90
読むには:
metadata=0.90
ランニング mdadm -examine -scan コマンドはエラーなしで戻るはずです。
配列上のファイルシステムの設定
この例ではext4を使用していました。なぜなら私にとっては、これまでに提供されていたext3ファイルシステムの親しみやすさを踏まえて、より良い性能と機能を約束してくれたからです。 どのファイルシステムがあなたのニーズに合っているのかを調査することをお勧めします。そのための良いスタートは、「どのLinuxファイルシステムを選ぶべきか」という記事です。
sudo mkfs.ext4 /dev/md0
注意:この場合、要求側が少なくとも3.5Tの連続スペースを要求していたので、私はその時にそれを必要としなかったため、結果の配列を分割しませんでした。それで、私はパーティションを作成したかったので、私は "parted"のようなGPTパーティション化可能なユーティリティを使用しなければならなかったでしょう。
取り付け
マウントポイントを作成します。
sudo mkdir /media/raid10
注意:これは任意の場所にすることができますが、上記は一例に過ぎません。
私たちは "組み立てられたデバイス"を扱っているので ない マウントするデバイス上のファイルシステムのUUIDを使用してください(他のタイプのデバイスでは「linux fstabとは何ですか?どのように動作するのか」を参照してください)。システムは実際には個々のディスク上のファイルシステムの一部を見るかもしれません。しようとする 間違って 直接マウントしてください。これを克服するために、デバイスをマウントする前に明示的にデバイスが「アセンブル」されるのを待ってから、組み立てられたアレイの名前(「md」)を fstab これを達成する。 fstabファイルを編集します。
sudo vim /etc/fstab
この行に次の行を追加します。
/dev/md0 /media/raid10/ ext4 defaults 1 2
注意:マウント位置やファイルシステムをこの例から変更した場合は、それに応じて上記を調整する必要があります。
システム・ブートをシミュレートするには、自動パラメータ(-a)を指定してmountを使用して、構成が正しく機能していること、およびシステムの再起動時にRAIDデバイスが自動的にマウントされることを確認します。
sudo mount -a
これで、パラメータなしで "mount"コマンドでマウントされた配列を見ることができるはずです。
RAIDアレイの電子メールアラート
ハードウェアRAIDアレイとは異なり、ソフトウェアアレイを使用すると、何か問題が発生したときに通知するためのビープ音を鳴らすコントローラーはありません。したがって、Emailアラートは、アレイ内の1つまたは複数のディスクに何か問題が発生したかどうかを知るための唯一の方法です。したがって、 最も重要なステップ.
「GmailまたはSMTPを使用してLinux上で電子メールアラートを設定する方法」のガイドに従ってください。ここに戻ってRAID固有の手順を実行してください。
mdadmが電子メールで送信できることを確認する 以下のコマンドは、mdadmにメールを1つだけ送信して終了するよう指示します。
sudo mdadm --monitor --scan --test --oneshot
成功した場合は、電子メールを受け取ってアレイの状態を詳述する必要があります。
起動時に電子メールを送信するようにmdadm設定を設定する 絶対必要ではありませんが、電子メール機能がまだ動作していることとアレイの状態を知らせるために、マシンから随時更新情報を入手するのは良いことです。この設定はスタートアップ(サーバ上にはたくさんあるべきではない)にのみ影響するため、おそらくあなたはメールに圧倒されることはありません。 mdadm設定ファイルを編集します。
sudo vim /etc/default/mdadm
追加する -テスト パラメータを DAEMON_OPTIONS セクションのようになります:
DAEMON_OPTIONS='--syslog --test'
あなたはあなたの "ループ内"を確認するためにマシンを再起動することができますが、それは必須ではありません。
Sambaの設定
LinuxサーバにSaMBaをインストールすると、Windowsファイルサーバのように動作します。ですから、Windowsクライアントが利用できるLinuxサーバーでホストしているデータを取得するために、SaMBaをインストールして構成します。 SaMBaのパッケージ名は、SMB(Service Message Block)と呼ばれるファイル共有に使用されるMicrosoftのプロトコルに悪用されていることに注意してください。
このガイドでは、サーバーはテスト目的で使用されるため、その共有にアクセスできるようにします なし パスワードが必要な場合は、セットアップが完了したらアクセス権を設定する方法を少し詳しく調べることをお勧めします。
また、非特権ユーザーを作成してファイルの所有者にすることをお勧めします。この例では、このタスク用に作成した「geek」ユーザーを使用します。ユーザーを作成し、所有権とアクセス権を管理する方法については、「Ubuntu Server 9.10で新規ユーザーを作成する」と「Linuxでユーザーとグループを管理するための初心者向けガイド」のガイドを参照してください。
Sambaをインストールする:
aptitude install samba
samba設定ファイルを編集します:
sudo vim /etc/samba/smb.conf
マウントポイント "/ media / raid10 / general"へのアクセス権をファイルに追加することで、 "general"という共有を追加します。
[general] path = /media/raid10/general force user = geek force group = geek read only = No create mask = 0777 directory mask = 0777 guest only = Yes guest ok = Yes
上記の設定は共有をアドレス可能にします なし 誰にでもパスワードを与え、ファイルのデフォルトの所有者をユーザー "オタク"にします。
参考までに、このsmb.confファイルは稼働中のサーバから取得したものです。
設定が反映されるように、sambaサービスを再起動します。
sudo /etc/init.d/samba restart
完了したら、 テストパルム コマンドを使用して、sambaサーバーに適用される設定を表示します。 それで、サーバーは、次のようなウィンドウボックスからアクセスできるはずです:
server-namegeneral
トラブルシューティング
問題のトラブルシューティングが必要な場合、またはアレイ内でディスクが故障した場合は、mdadmのチートシートを参照することをお勧めします。
一般的には、ディスクに障害が発生した場合、アレイからディスクを取り出してシャットダウンし、故障したドライブを交換して交換し、適切なディスクを作成した後に新しいドライブをアレイに追加する必要があります必要に応じてレイアウト(パーティション)を作成します。
これが完了したら、配列が再構築されていることを確認し、進行状況を監視することができます:
watch -d cat /proc/mdstat
がんばろう!:)
参考文献: mdadmのチートシート RAIDレベルが低下する Linux RAID10の説明 mdadmコマンドのマニュアルページ mdadm設定ファイルのマニュアルページ パーティションの制限について説明しました
ソフトウェアRAIDを使用しても多くの費用はかかりません…ちょうどあなたの声;-)