31.3. 데이터 효율성 테스트 작업


VDO의 성공적인 검증은 잘 구조화된 테스트 절차에 따라 다릅니다. 이 섹션에서는 평가에 참여할 때 고려할 테스트의 예로 예상 결과와 함께 수행할 일련의 단계를 제공합니다.

테스트 환경

다음 섹션의 테스트 사례를 통해 테스트 환경에 대해 다음과 같은 가정을 수행합니다.
  • 하나 이상의 Linux 물리적 블록 장치를 사용할 수 있습니다.
  • 대상 블록 장치(예: /dev/sdb)는 512GB보다 큽니다.
  • 유연한 I/O Tester(fio) 버전 2.1.1 이상이 설치되어 있습니다.
  • VDO가 설치되어 있어야 합니다.
테스트 환경이 완전히 이해되도록 각 테스트 시작 시 다음 정보를 기록해야 합니다.
  • 커널 빌드 번호를 포함하여 사용된 Linux 빌드입니다.
  • rpm -qa 명령에서 얻은 전체 설치된 패키지 목록입니다.
  • 전체 시스템 사양:
    • CPU 유형 및 양( /proc/cpuinfo에서 사용 가능).
    • 기본 OS가 실행된 후 사용 가능한 메모리 및 양( /proc/meminfo에서 사용 가능)
    • 사용된 드라이브 컨트롤러의 유형입니다.
    • 사용된 디스크 유형 및 수량이 있습니다.
  • 실행 중인 프로세스( ps aux 또는 유사한 목록)의 전체 목록입니다.
  • VDO와 함께 사용하기 위해 생성된 물리 볼륨 이름 및 볼륨 그룹 이름(pvsvgs 목록).
  • VDO 볼륨을 포맷할 때 사용되는 파일 시스템(있는 경우).
  • 마운트된 디렉토리에 대한 권한입니다.
  • /etc/vdoconf.yaml 콘텐츠.
  • VDO 파일의 위치입니다.
sosreport 를 실행하여 필요한 많은 정보를 캡처할 수 있습니다.

워크로드

VDO를 효과적으로 테스트하려면 실제 워크로드를 시뮬레이션하는 데이터 세트를 사용해야 합니다. 데이터 세트는 서로 다른 조건에서 성능을 시연하기 위해 중복되거나 압축 및/또는 압축될 수 있는 데이터 간의 균형을 제공해야 합니다.
반복 가능한 특성을 사용하여 데이터를 합성할 수 있는 여러 도구가 있습니다. 특히 두 개의 유틸리티인 VDbench 및 fio 를 테스트 중에 사용하는 것이 좋습니다.
이 가이드는 페오를 사용합니다. 인수를 이해하면 성공적인 평가에 중요합니다.
표 31.1. Fio 옵션
인수설명
--size 데이터 fio의 수량은 작업당 대상으로 보냅니다(아래 numjobs 참조). 100GB
--bs fio에서 생성된 각 읽기/쓰기 요청의 블록 크기입니다. Red Hat은 VDO의 4KB 기본값과 일치하도록 4KB 블록 크기를 권장합니다. 4k
--numjobs
벤치마크를 실행하기 위해 fio가 생성할 작업 수입니다.
각 작업은 --size 매개변수에서 지정한 데이터 양을 전송합니다.
첫 번째 작업은 --offset 매개변수로 지정된 오프셋의 장치로 데이터를 전송합니다. 후속 작업은 --offset_increment 매개변수를 제공하지 않는 한 동일한 디스크 영역(덮어쓰기)을 작성합니다. 이 매개변수는 이전 작업이 해당 값으로 시작된 각 작업을 오프셋합니다. 적어도 두 개 이상의 작업에서는 플래쉬에서 최대 성능을 달성하는 것이 좋습니다. 한 작업은 일반적으로 회전 디스크(HDD) 처리량을 최소화하기에 충분합니다.
1 (HDD)
2 (SSD)
--thread 포크가 아닌 스레드에서 fio 작업을 실행하도록 지시하여 컨텍스트 전환을 제한하여 더 나은 성능을 제공할 수 있습니다. <N/A>
--ioengine
Linux에는 fio를 사용하여 테스트할 수 있는 여러 I/O 엔진을 사용할 수 있습니다. Red Hat 테스트는 버퍼 없는 비동기 엔진(libaio)을 사용합니다. 다른 엔진에 관심이 있으시면 Red Hat 영업 엔지니어와 상의하십시오.
Linux libaio 엔진은 하나 이상의 프로세스가 동시에 임의의 요청을 수행하는 워크로드를 평가하는 데 사용됩니다. libaio 여러 요청이 동기 엔진을 통해 여러 스레드에서 제공한 경우 필요한 컨텍스트 스위치 수를 제한하기 전에 단일 스레드에서 비동기적으로 여러 요청을 수행할 수 있습니다.Allows multiple requests to be made asynchronously from a single thread before any data has been retrieved, which limits the number of context switches that would be required if the requests were provided by manythreads via a synchronous engine.
libaio
--direct
설정된 경우 직접 Linux 커널의 페이지 캐시를 바이패스하는 장치에 요청을 전송할 수 있습니다.
libaio Engine: libaiodirect 활성화(=1)와 함께 사용해야 하며 커널이 모든 I/O 요청에 대해 sync API를 사용할 수 있습니다.
1 (libaio)
--iodepth
언제든지 비행 중 I/O 버퍼 수입니다.
iodepth 가 높으면 특히 임의의 읽기 또는 쓰기의 경우 성능이 향상됩니다. 깊이가 높아 컨트롤러에 항상 배치 요청이 있는지 확인합니다. 그러나 iodepth 너무 높은 (일반적으로 1K 이하)을 설정하면 바람직하지 않은 대기 시간이 발생할 수 있습니다. Red Hat은 iodepth 에서 128~512 사이를 권장하지만 최종 값은 절충 시점이며 애플리케이션이 대기 시간을 허용하는 방법에 따라 다릅니다.
128 (최소)
--iodepth_batch_submit iodepth 버퍼 풀이 비어 있을 때 생성할 I/O 수입니다. 이 매개변수는 테스트 중 I/O에서 버퍼 생성으로 작업을 제한합니다. 16
--iodepth_batch_complete 배치를 제출하기 전에 완료해야 하는 I/O 수(iodepth_batch_complete). 이 매개변수는 테스트 중 I/O에서 버퍼 생성으로 작업을 제한합니다. 16
--gtod_reduce 대기 시간을 계산하는 일별 호출을 비활성화합니다. 이 설정은 활성화된 경우 처리량이 감소하므로 대기 시간 측정이 필요하지 않는 한 (=1) 활성화되어야 합니다. 1

31.3.1. VDO 테스트 볼륨 구성

31.3.1.1. 1. 512GB 물리 볼륨에 논리 크기가 1TB인 VDO 볼륨 만들기

  1. VDO 볼륨을 생성합니다.
    • 동기 스토리지 상단에서 VDO async 모드를 테스트하려면 --writePolicy=async 옵션을 사용하여 비동기 볼륨을 생성합니다.
      # vdo create --name=vdo0 --device=/dev/sdb \
                   --vdoLogicalSize=1T --writePolicy=async --verbose
      
    • 동기 스토리지 상단에서 VDO 동기화 모드를 테스트하려면 --writePolicy=sync 옵션을 사용하여 동기 볼륨을 생성합니다.
      # vdo create --name=vdo0 --device=/dev/sdb \
                   --vdoLogicalSize=1T --writePolicy=sync --verbose
      
  2. XFS 또는 ext4 파일 시스템으로 새 장치를 포맷합니다.
    • XFS의 경우:
      # mkfs.xfs -K /dev/mapper/vdo0
      
    • ext4의 경우:
      # mkfs.ext4 -E nodiscard /dev/mapper/vdo0
      
  3. 포맷된 장치를 마운트합니다.
    # mkdir /mnt/VDOVolume
    # mount /dev/mapper/vdo0 /mnt/VDOVolume && \
      chmod a+rwx /mnt/VDOVolume
    
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.