NVMe SoftRAID CentOS 7にさらにパーティションを追加する

NVMe SoftRAID CentOS 7にさらにパーティションを追加する

CentOSのNVMeドライブ(2x1TB)にSoftRAIDを設定しました。問題は80 GBしか構成していませんが、今より多くのスペースを構成したいということです。誰かが私がこれをするのを助けることができますか?出力は次のとおりですlsblk

nvme0n1                                               259:1    0 894.3G  0 disk
├─nvme0n1p1                                           259:3    0   511M  0 part  /boot/efi
├─nvme0n1p2                                           259:5    0  78.1G  0 part
│ └─md2                                                 9:2    0  78.1G  0 raid1 /
└─nvme0n1p3                                           259:7    0   511M  0 part  [SWAP]
nvme1n1                                               259:0    0 894.3G  0 disk
├─nvme1n1p1                                           259:2    0   511M  0 part
├─nvme1n1p2                                           259:4    0  78.1G  0 part
│ └─md2                                                 9:2    0  78.1G  0 raid1 /
└─nvme1n1p3                                           259:6    0   511M  0 part  [SWAP]

[root@cloud963 ~]# cat /proc/partitions
major minor  #blocks  name

 259        0  937692504 nvme1n1
 259        2     523264 nvme1n1p1
 259        4   81918976 nvme1n1p2
 259        6     523264 nvme1n1p3
 259        1  937692504 nvme0n1
 259        3     523264 nvme0n1p1
 259        5   81918976 nvme0n1p2
 259        7     523264 nvme0n1p3
   9        2   81918912 md2
   8        0 5860522584 sda
   8        1 5860520960 sda1
   8       16 5860522584 sdb
   8       17 5860520960 sdb1
   9        4 5860388864 md4
 253        0   52428800 dm-0
 253        1  314572800 dm-1
 253        2   20971520 dm-2
 253        3   20971520 dm-3

答え1

長すぎてバージョンを読みませんでした。

「新しいRAIDパーティションを作成する方法mdadm」を参照できますが、実際には別々のRAIDパーティションを持つことで何の利点も得られません。代わりに、ボリュームマネージャを使用してスペースを最大限に活用し、SSDの寿命を最大化します。 SSDは、重複または削除されたブロックを適切に削除することで、より長く持続します。

完全な物語

したがって、特に複数のディスクと多数のストレージを使用して作業している場合は、ボリュームマネージャがある場合は賢明です。

次のようにしましょう。

  • 新しいミラーリングされたブロックデバイスを作成します。したがって、Linuxは現在nvme0n1p2 / nvme1n1p2と同様にデータ冗長性を管理しています。
  • スナップショットボリューム(ボリュームは基本的にパーティションですがより柔軟な用語)を自由に作成、削除、サイズ変更できるスペースを作成します。これは…ボリュームグループ
  • その空間の中にいわゆる話をする。薄い草これは、そのスペース内のボリュームが実際に必要なスペースのみを占有することを意味します(ファイルを削除すると、他のボリュームに使用できるメモリが提供されます)。
  • そのシーンプールに大容量ボリュームを作成し、シンプロビジョニングをサポートする最新のファイルシステムにフォーマットします(ストレージセクタが使用されなくなったときにボリュームマネージャに通知し、利用可能なストレージとして計算できるようにします)。
  • 最後に、fstabにボリュームを追加し、使用可能であることを示します。

これらすべての要点は、転送する必要がある場合に備えてファイルをコピーするために外部ドライブを購入する必要がなく、RAID間のバックアップがスムーズに行われ、できるだけ多くのスペースを節約することです(つまり、お金です)。

それをする方法

私は次のことをします:

  1. お気に入りのパーティショニングツール1を使用して、nvme0n1とnvme1n1にそれぞれ新しいパーティションを追加します。以下では $PA と $PB と呼びますが、実際にはそれぞれ /dev/nvme0n1p4 および /dev/nvme1n1p4² です。
    使用可能なすべてのスペースを使用するようにします(または使用可能なスペースでRAMスペースの2倍を予約し、後でスワップスペースを拡張します。これは非常に小さいスワップスペースのように見えます)。ここでフォーマットしないでください(または「LVM物理ボリューム」をフォーマットとして使用してください)。
  2. /dev/md3これら2つのパーティションからRAID1を作成します。 (現在1つが存在しないとします。ls /dev/md*まだ存在していない番号を確認して選択してください。)
    sudo mdadm --create /dev/md3 --level=1 --raid-devices=2 $PA $PB
    今、ミラーリングされたブロックデバイス/ dev / md3を作成します。
  3. LVM2(論理ボリュームマネージャ)新しいRAIDブロックデバイスを含むボリュームグループ:
    sudo vgcreate raidvg /dev/md3
    「raidvg」という名前のボリュームグループがあります。
  4. このボリュームグループにシーンプールを作成してみましょう。
    sudo lvcreate -l 100%FREE -T raidvg/thinpool
    これで「thinpool」というシーンプールができました。これはボリュームグループ内のすべてのスペースを埋めます。つまり、1で作成したRAIDボリューム全体を占めるということです。
    いいですね。今、非常に柔軟に使用できます!

したがって、必要に応じて多くのボリュームを作成できるという条件があります。こうしてみよう。

  1. 最後に、100GB³の「仮想」サイズでボリュームを作成しましょう。
    sudo lvcreate -V 100G -T raidvg/thinpool -n firstvolume
    これで(シンプロビジョニングされた)ボリューム「firstvolume」が作成されました。ブロックデバイスだと思います/dev/mapper/raidvg-firstvolume
  2. その上にファイルシステムを作成します。ファイルシステムが特定のブロックを使用していないことをベースレイヤに通知できるようにするには、XFSとbtrfs(状態:2021年6月)の中から選択してスペースを再利用できます。 CentOSから:XFS。
    sudo mkfs.xfs /dev/mapper/raidvg-firstvolume
  3. それをインストールしてください!まず、使用する準備が整った/catpictures
    sudo mkdir /catpictures
    sudo mount /dev/mapper/raidvg-firstvolume /catpictures Tadahのようなマウントポイントを作成します。/catpicturesルート以外のユーザーがコンテンツを配置できるようにするには、フォルダの権限を必要に応じて調整します。
  4. (オプションですが起動時にマウントを有効にする)これを含めるように/ etc / fstabを編集してください。を押して、
    /dev/mapper/raidvg-firstvolume /catpictures xfs noatime 0 0
    / etc / fstabに追加します。

それで、本当に!

後で別のボリュームを追加するには、次のように実行します。

sudo lvcreate -V 100G -T raidvg/thinpool -n name_of_new_volume

マウントされたファイルシステムで実行して、ファイルシステムで使用されていないタグスペースを明示的に見つけることができますsudo fstrim(ただし、CentOSでは自動的にこれを実行することもあります)。

以下を使用してボリュームを削除できます。

sudo lvremove /dev/mapper/raidvg-name_of_volume_to_be_deleted.

猫の写真が100GB以上の場合は、次のことができます。

sudo lvextend -L200G -r /dev/mapper/raidvg-firstvolume

ボリュームサイズを200 GB(または最大サイズ - まだシンプロビジョニングされており、実際にデータを保存するために使用するSSDスペースのみを使用)に増やします。スイッチは、-rサイズ変更について XFS に通知するように指示します。一度/catpicturesインストールすると、これらすべてをオンラインで実行できます。

LVMシンプールには多くの素晴らしい機能があります。 RAID1を使用しているため、データのアーカイブに関する懸念がある可能性があります。スナップ写真データバージョンをそのまま残すことができます。今日変更されていないデータをコピーせずに、単独で別のボリュームとして使用します。


1 blivet-guiCentOS 8を使用している場合EPELのツールが優れており、CentOS 7を使用している場合gparted

²文字通りに行う必要がありますexport PA=/dev/nvme0n1p4 ; export PB=/dev/nvme1n1p4。これにより、長い文字列を再入力する必要はありません。

³このスペースは使用されません。、あなたが持つことができますもっとシンプロビジョニングには、実際に保持しているよりも多くのメモリがあります。 5TBを仮想空間として使用することもできました!スペースは、ファイルシステムでボリュームを使用するときに実際にボリュームに割り当てられます。sudo lvsパーセントの使用方法を学びます。実際に利用可能なスペースよりも多くのデータを保存しようとする場合にのみ問題が発生します。これにより、LVMは多くの操作を実行できますが、魔法のようには使用できないため、システムにさらにSSDを追加する必要があります。

関連情報