web-dev-qa-db-ja.com

既存のシステムドライブにRAIDを作成する最良の方法

データベースのパフォーマンスをテストするために、RAID1として別のディスクを追加したいと思います。システム全体をやり直さないようにしていますが、可能ですか?

現在、1つの100GBシステムパーティション(およびswapboot)と850GB /homeパーティションを備えた単一の1TBHDDがあります。可能であれば、別の1TBドライブを追加してシステム全体をRAID 1に変換するか、少なくとも/homeパーティションをRAIDします(そして、2番目のディスクの残りの150GBを破棄します)。

出来ますか?少なくともソフトウェアRAID(CentOS 6.4上)

2
xcorat

プライマリパーティションにLVMを使用している場合は、いつでも別のディスクをプールに追加して、そのディスクに拡張できます。 CentOSを使用している場合、ストレージを提供するLVMパーティションがあり、それらは/homeおよび/のLVMからの論理ボリュームになるようにシステムがセットアップされていると想定します。

このCentOS6.xシステムでは、次の物理ボリュームがLVMに含まれています。

$ Sudo -i

$ pvs
  PV         VG         Fmt  Attr PSize   PFree
  /dev/sda2  VolGroup00 lvm2 a--  465.66G    0 

HDD /dev/sda2は、単一のボリュームグループの一部です。

$ vgs
  VG         #PV #LV #SN Attr   VSize   VFree
  VolGroup00   1   3   0 wz--n- 465.66G    0 

論理ボリュームは次のとおりです。

$ lvs
  LV       VG         Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  LogVol00 VolGroup00 -wi-ao 442.19G                                      
  LogVol01 VolGroup00 -wi-ao  13.69G                                      
  LogVol02 VolGroup00 -wi-a-   9.78G                  

これらの論理ボリュームは次のようにマウントされます。

$ mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)

したがって、ボリュームグループに別のディスクを追加して、論理ボリュームがスペースを必要とする場所でそのディスクを利用できます。

ダイアグラム

ss of LVM

上記は、うまくいけば、LVMがアーキテクチャ的にどのように機能するかを示しています。多くの場合、人々はRAIDアレイの上に配置されるLVMボリュームグループを作成します。これにより、LVMを使用してファイルシステムを拡張できますが、冗長性を確保するためにRAIDアレイを使用することで保護が提供されます。

したがって、VG(ボリュームグループ)に別の物理ボリュームを追加できます。この新しい物理ボリュームは、新しいスペースとして表示され、LGの1つ(論理ボリューム)に割り当てることができます。

RAIDへの移行

  1. 既存のHDDと一緒にRAIDをセットアップすることをお勧めします。 RAIDアレイをRAID1としてセットアップできます(その後、HDDを1つ追加するだけで劣化します)。

  2. RAIDアレイをセットアップしたら、上記のようにLVMをその上に配置し、既存のHDDからLVMを搭載したRAID1アレイにデータを移行します。

  3. データが移行されたら、元のディスクをRAID1アレイに取り込み、再同期できます。

本質的な詳細については、このHowtoForgeの記事をよく参照します: 実行中のLVMシステムでソフトウェアRAID1をセットアップする方法(GRUB2構成を含む)(Ubuntu 10.04) 。 Ubuntuへの参照を怖がらせないでください。ほとんどの手順は同じです。この特定の記事の詳細レベルは、LVM + RAID1セットアップに移行するときにさまざまな手順で実際に行っていることを理解するために重要です。 。

参考文献

3
slm

LVMを使用していない場合でも、既存のブロックデバイスで壊れたミラーを作成してから、2番目のブロックデバイスを追加できます。それは些細なことではなく、DBデータを危険にさらしています。また、-2番目のブロックデバイスが同期を完了するのを待つ必要があります。そうしないと、再構築中にIO)をテストします。

0
Dan Garthwaite