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を使用して、nvme0n1とnvme1n1にそれぞれ新しいパーティションを追加します。以下では $PA と $PB と呼びますが、実際にはそれぞれ /dev/nvme0n1p4 および /dev/nvme1n1p4² です。
使用可能なすべてのスペースを使用するようにします(または使用可能なスペースでRAMスペースの2倍を予約し、後でスワップスペースを拡張します。これは非常に小さいスワップスペースのように見えます)。ここでフォーマットしないでください(または「LVM物理ボリューム」をフォーマットとして使用してください)。 /dev/md3
これら2つのパーティションからRAID1を作成します。 (現在1つが存在しないとします。ls /dev/md*
まだ存在していない番号を確認して選択してください。)
sudo mdadm --create /dev/md3 --level=1 --raid-devices=2 $PA $PB
今、ミラーリングされたブロックデバイス/ dev / md3を作成します。- LVM2(論理ボリュームマネージャ)新しいRAIDブロックデバイスを含むボリュームグループ:
sudo vgcreate raidvg /dev/md3
「raidvg」という名前のボリュームグループがあります。 - このボリュームグループにシーンプールを作成してみましょう。
sudo lvcreate -l 100%FREE -T raidvg/thinpool
これで「thinpool」というシーンプールができました。これはボリュームグループ内のすべてのスペースを埋めます。つまり、1で作成したRAIDボリューム全体を占めるということです。
いいですね。今、非常に柔軟に使用できます!
したがって、必要に応じて多くのボリュームを作成できるという条件があります。こうしてみよう。
- 最後に、100GB³の「仮想」サイズでボリュームを作成しましょう。
sudo lvcreate -V 100G -T raidvg/thinpool -n firstvolume
これで(シンプロビジョニングされた)ボリューム「firstvolume」が作成されました。ブロックデバイスだと思います/dev/mapper/raidvg-firstvolume
。 - その上にファイルシステムを作成します。ファイルシステムが特定のブロックを使用していないことをベースレイヤに通知できるようにするには、XFSとbtrfs(状態:2021年6月)の中から選択してスペースを再利用できます。 CentOSから:XFS。
sudo mkfs.xfs /dev/mapper/raidvg-firstvolume
- それをインストールしてください!まず、使用する準備が整った
/catpictures
sudo mkdir /catpictures
sudo mount /dev/mapper/raidvg-firstvolume /catpictures
Tadahのようなマウントポイントを作成します。/catpictures
ルート以外のユーザーがコンテンツを配置できるようにするには、フォルダの権限を必要に応じて調整します。 - (オプションですが起動時にマウントを有効にする)これを含めるように/ 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-gui
CentOS 8を使用している場合EPELのツールが優れており、CentOS 7を使用している場合gparted
²文字通りに行う必要がありますexport PA=/dev/nvme0n1p4 ; export PB=/dev/nvme1n1p4
。これにより、長い文字列を再入力する必要はありません。
³このスペースは使用されません。今、あなたが持つことができますもっとシンプロビジョニングには、実際に保持しているよりも多くのメモリがあります。 5TBを仮想空間として使用することもできました!スペースは、ファイルシステムでボリュームを使用するときに実際にボリュームに割り当てられます。sudo lvs
パーセントの使用方法を学びます。実際に利用可能なスペースよりも多くのデータを保存しようとする場合にのみ問題が発生します。これにより、LVMは多くの操作を実行できますが、魔法のようには使用できないため、システムにさらにSSDを追加する必要があります。