web-dev-qa-db-ja.com

1つのRAID1パーティションを2つに分割できますか?

CentOS 6.2とRAID1(2x 2Tb)構成のLinuxボックスがあります。

/dev/md1 -> / (10G)
/dev/md2 -> /home (1.9T)

Md2を2つの異なるパーティションに分割したいので、次の構成を取得できます。

/dev/md1 -> / (10G)
/dev/md2 -> /home (1T)
/dev/md3 -> /example (900G)

どうすればこれを達成できますか?パーティションのサイズを変更できることはすでに知っていますが、実際のパーティションテーブル(mdデバイスのみ)は変更されないので、どうすればよいですか?

4
Prosys

[〜#〜] lvm [〜#〜] を使用していない場合は、次のことを行う必要があります。

  • mdデバイスを削除します(mdadmを使用)、
  • パーティションを削除し(fdiskを使用)、
  • 必要なパーティションを再作成します(fdiskを使用)。
  • 次に、mdデバイスを再作成します(mdadmを使用)。
3
Khaled

論理ボリュームを使用するのが最善です。

その後、作成、拡張して、必要なだけ実行できます。

ここに素敵なガイドがあります

http://www.gagme.com/greg/linux/raid-lvm.php

1
Sc0rian

正しい(最初の)方法は、RAIDアレイの上にLVMをオーバーレイし、必要に応じてボリュームを再割り当てすることでした。しかし、あなたはこれがおそらく実現可能である時点ではありません。

あなたはまだ逃げ道があるかもしれません。 Ext3/Ext2はサイズ変更可能ですが、ファイルシステムを契約している場合は少し危険です。他に選択肢がない場合、またはデータを危険にさらす意思がない場合を除いて、これはお勧めしません。

  1. アレイを別のマシンにマウントします。これが必要なのは、ブート/ルートがアレイ上にあり、プロセスが複雑になるためです。これは読み取り専用マウントなどで行うことができますが、単純にしましょう。
  2. ext2/3ファイルシステムを新しいサイズに縮小します。これにより「空間」が生まれます。縮小サイズはディスクに保存されているデータの量に制限されていることに注意してください... 3Gバイトのデータがある場合、2.5Gバイトに縮小して機能することを期待することはできません。
  3. 次に、ハードドライブを縮小しますパーティション一致します。これは難しい部分です。縮小しすぎると、データが失われる原因となる厄介なオーバーラップが発生します。パーティションがファイルシステムのサイズよりわずかに大きい場合でも問題はありません。既存のパーティションをいつでも追加のスペースに拡張できます。
  4. パーティションテーブルをMDデバイスに書き出します。

現在、2つのパスがあります。1つはLVMあり、もう1つはLVMなしです。

古いスタイルのパーティションの場合:

  1. 1つ以上の新しいディスクパーティションを作成します(必要な数だけ)
  2. 各パーティションをファイルシステムとしてフォーマットします。
  3. 既存のファイルシステムデータを新しく作成されたパーティションに移動します
  4. / etc/fstabを編集して、起動時に新しいパーティションをマウントします

LVMの場合:

  1. 既存のすべての「新しい」スペースをLVMパーティションとしてマークします。パーティションの変更をディスクに書き込みます。
  2. パーティションから新しいボリュームグループを作成します。
  3. ボリュームグループから論理ボリュームを割り当てます
  4. 各論理ボリュームをファイルシステムとしてフォーマットします。
  5. 既存のファイルシステムを新しく作成された論理ボリュームに移動します
  6. / etc/fstabを編集して、起動時に新しいLVMボリュームをマウントします
1
Avery Payne