NVMe SoftRAID CentOS 7에 더 많은 파티션 추가

NVMe SoftRAID CentOS 7에 더 많은 파티션 추가

CentOS의 NVMe 드라이브(2x1TB)에 SoftRAID를 설정했습니다. 문제는 80GB만 구성했는데 이제 더 많은 공간을 구성하고 싶다는 것입니다. 누군가 내가 이 일을 하도록 도와줄 수 있나요? 출력은 다음과 같습니다 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 공간의 두 배를 예약하고 나중에 스왑 공간을 확장하는데 이는 매우 작은 스왑 공간처럼 보입니다). 여기에서 포맷하지 마십시오(또는 "LVM 물리 볼륨"을 포맷으로 사용하십시오).
  2. /dev/md3이 두 파티션에서 RAID1을 생성합니다. ( 현재 하나가 존재하지 않는다고 가정합니다 . 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

볼륨 크기를 200GB(또는 최대 크기 - 여전히 씬 프로비저닝되어 있으며 실제로 데이터를 저장하는 데 사용하는 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를 추가해야 합니다.

관련 정보