RAID テイクオーバーを実行するときに、割り当て可能な適切なエクステントが不足しているというエラーが発生する

RAID テイクオーバーを実行するときに、割り当て可能な適切なエクステントが不足しているというエラーが発生する

冗長性を維持しながらパフォーマンスを向上させるために、使用されるディスクの数を同じに保ちながら、NAS のルート ファイル システムを RAID 5 論理ボリュームから RAID 10 論理ボリュームに変換しようとしています。

これマニュアル ページのセクションではlvmraid、間接的な変換によって RAID 10 と RAID 5 を変換できることが示されています。

現在、以下の買収転換が可能です。

...

  • ストライプ/raid0とraid5の間。

...

  • ストライプ/raid0とraid10の間。

しかし、適切なlvconvertコマンドを(同様のtestLV 上で)繰り返し実行し、中間変換を実行するように求められた場合、最終的に RAID 0 から RAID 10 に変換する最後のステップで次のエラーが発生します。

root@nas:~# lvcreate --type raid5 -i 3 -n test -L 100M vg
  Using default stripesize 64.00 KiB.
  Rounding size 100.00 MiB (25 extents) up to stripe boundary size 108.00 MiB (27 extents).
  Logical volume "test" created.

root@nas:~# lvconvert vg/test --type raid10 -m 1 -i 2
  Using default stripesize 64.00 KiB.
  Replaced LV type raid10 (same as raid10_near) with possible type raid5_n.
  Repeat this command to convert to raid10 after an interim conversion has finished.
  Converting raid5 (same as raid5_ls) LV vg/test to raid5_n.
Are you sure you want to convert raid5 LV vg/test? [y/n]: y
  Logical volume vg/test successfully converted.

root@nas:~# lvconvert vg/test --type raid10 -m 1 -i 2
  Using default stripesize 64.00 KiB.
  Replaced LV type raid10 (same as raid10_near) with possible type raid0_meta.
  Repeat this command to convert to raid10 after an interim conversion has finished.
Are you sure you want to convert raid5_n LV vg/test to raid0_meta type? [y/n]: y
  Logical volume vg/test successfully converted.

root@nas:~# lvconvert vg/test --type raid10 -m 1 -i 2
  Using default stripesize 64.00 KiB.
Are you sure you want to convert raid0_meta LV vg/test to raid10 type? [y/n]: y
  Insufficient suitable allocatable extents for logical volume : 30 more required

root@nas:~#

物理エクステントを解放して LV サイズを縮小しても、同じエラーが発生します。すべての物理ボリュームは割り当て可能です。

出力は次のとおりですvgdisplay

  --- Volume group ---
  VG Name               vg
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  333
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               2
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               <3.64 TiB
  PE Size               4.00 MiB
  Total PE              953864
  Alloc PE / Size       943654 / <3.60 TiB
  Free  PE / Size       10210 / 39.88 GiB
  VG UUID               PF08Ce-xvsS-7KsA-0Vw6-zkXR-jyUf-ocDWDW

このエラーを解決するにはどうすればよいですか? 必要に応じてファイル システムを縮小し、変換された LV に同じ PE を使用したいと思います。

答え1

この説明では、ディスクディスク、パーティション、その他の論理コンテナを意味します。ディスク同じ大きさであると考えられ、ユニットストレージ容量(1GB、1TBなど、何でも構いません)。

  • RAID 5は2つの有効なストレージユニットに3つのディスクを使用します
  • RAID 0は2つのディスクを使用して2つの有効なストレージユニットを構成します。
  • RAID 10 は、1 つの有用なストレージ ユニットに 2 つのディスクを使用します。通常、RAID 10 は RAID 0 (または vv) の上に RAID 1 が追加されたものとして考えることができるため、2 つの有用なストレージ ユニットに 4 つのディスクを使用することになります。

また

  • RAID 5からRAID 0に変換すると、ストレージユニットが1つ残ります(つまり、1つのディスクが予備になります)。
  • RAID 0 から RAID 10 に変換する場合、変換するユニットごとに追加のストレージ ユニットが必要になります (つまり、現在使用している 2 つのディスクに加えて 2 つの追加ディスク)。

結果: 最初は 3 枚のディスクがあったので、ディスクが 1 枚足りません。

1 つのオプションとしては、RAID 0 アレイを 2 つのディスクから 1 つに減らすことができるかどうか確認することが考えられますが、これは元の RAID 5 アレイが半分しか使用されていないことを前提としています。もう 1 つのオプションは、4 つ目のディスクを入手することです。

関連情報