단일 노드에서 nvme SSD 드라이브를 풀링하는 가장 쉬운 비 RAID 방법-glusterfs?

단일 노드에서 nvme SSD 드라이브를 풀링하는 가장 쉬운 비 RAID 방법-glusterfs?

우리는 전적으로 nvme-ssd를 기반으로 RHEL OS 비디오 편집 서버를 구성하고 있습니다. 높은 처리량과 매우 낮은 대기 시간이 필요합니다. RAID 컨트롤러로 인해 속도가 느려질 수 있습니다. 상용 소프트웨어 RAID(xiRAID)는 이미 사용 가능하며 테스트에서 잘 작동했습니다. 그러나 개별 디스크가 각 드라이브에 전체 파일을 저장할 수 있을 만큼 빠르면 RAID의 복잡성과 유연성이 불필요하다고 생각합니다. Unraid와 MergerFS는 훌륭해 보였지만 우리 경영진은 한 사람의 오픈 소스 프로젝트에 프로덕션 서버를 기반으로 하는 것이 불편했습니다.

GlusterFS는 어떻습니까? 단일 노드에서 이것을 실행하는 사람의 참조를 찾을 수 없습니다. 분산 파일 시스템은 필요하지 않으며, 선택적으로 중복성을 위한 일부 패리티가 있는 단일 노드의 풀링된 스토리지만 있으면 됩니다.

답변1

GlusterFS는 정말 나쁜 선택인 것 같습니다. 제공되는 기능이 전혀 필요하지 않으며(이것이 아무도 단일 노드에서 사용하지 않는 이유이며, 이는 말이 되지 않습니다) 모든 성능 및 복잡성 단점을 갖습니다.

이것은 실제로이것최신 Linux에서 LVM2로 구현되는 논리 볼륨 관리의 전형적인 사용 사례는 볼륨 세트를 정의하고, 각 물리적 NVM을 물리적 볼륨으로 추가하고, 그 위에 하나(또는 임의 개수)의 논리 볼륨을 생성하고, 어떤 파일이든 사용합니다. 체계. 내 테스트에서 오버헤드는 미미했으며 실제로 설정하려면 3가지 명령줄 작업이 필요했습니다.

  1. /dev/nvmeA, /dev/nvmeB, ..., 을(를) 결합하려고 합니다 /dev/nvmeX. 따라서 볼륨 그룹("swamigroup"이라고 함, 필요에 따라 선택)을 생성할 수 있습니다(이 장치에 있는 기존 데이터는 삭제됩니다)
    sudo vgcreate swamigroup /dev/nvmeA /dev/nvmeB /dev/nvmeC./dev/nvmeX
  2. 여유 공간을 100% 사용하여 그룹에 "datavol"이라는 논리 볼륨을 생성합니다.
    sudo lvcreate -l '100%FREE' -n datavol swamigroup
  3. 그 위에 원하는 파일 시스템을 생성하세요. 여기서는 ext4를 선택했습니다. 귀하에게 가장 적합한 것을 선택하세요.
    sudo mkfs.ext4 /dev/mapper/swamigroup-datavol

그게 다야. 완벽한. 이제 설치하고 /dev/mapper/swamigroup-datavol컴퓨터에 추가 할 수 있습니다 /etc/fstab.

/dev/nvmeY그룹에 새 장치를 추가하려는 경우 (예:

  1. 물리볼륨으로 설정하세요 sudo pvcreate /dev/nvmeY,,
  2. 기존 볼륨 그룹에 추가합니다.sudo vgextend swamigroup /dev/nvmeY

그런 다음 일반적으로 실제로 새로 발견된 여유 공간을 논리 볼륨에서 사용하게 하려고 합니다. sudo lvresize -l +100%FREE -r이는 -r기본 파일 시스템의 크기 조정 유틸리티(여기서는 resize2fs)가 자동으로 호출된다는 의미입니다. 이 모든 작업은 전체 작동 중에 수행될 수 있습니다.

LVM은 더 많은 일을 할 수 있습니다(포함하다소프트웨어 RAID, 스냅샷, 씬 볼륨, 작동 중 오류가 발생한 디스크 교체...) 그러나 그러면 필연적으로 "페이지를 읽어야 합니다 man"라는 복잡성이 발생하며 내 생각에는 이를 피하고 싶어한다는 것입니다.

답변2

여러 볼륨을 직접 지원하는 파일 시스템을 볼 수 있습니다.BTFS. 또는 dmsetup2개의 블록 장치를 하나로 직접 매핑할 수 있습니다. 이것매뉴얼 페이지샘플 테이블이 있습니다.

성능 권장 사항이 있습니다.빨간 모자귀하의 파일 시스템을 위해.

관련 정보