ZFS 디스크 이미지 성능

ZFS 디스크 이미지 성능

새 서버의 원시 VM/디스크 이미지에 대한 백업 저장소로 LVM에서 ZFS로 마이그레이션하려고 합니다. 저는 Ubuntu 18.04를 사용하고 있으며 SSD는 Intel D3-S4510입니다.

제가 겪고 있는 문제는 디스크 이미지의 파일 액세스가 매우 느리다는 것입니다(50MB/s 또는 예상 속도의 10% 미만). 방정식에서 가상화를 제거하고 호스트에 드라이브만 설치했지만 성능은 여전히 ​​좋지 않습니다.

나는 다음과 같은 실험을 시도했습니다.

  1. 원시 SSD를 사용합니다.
    • 원시 디스크 복사 - 401MB/초[1]
    • 마운트된 드라이브에 파일 복사 234MB/s [2]
  2. ZVOL이 포함된 ZFS. 이는 매우 실망스럽고 예상보다 훨씬 느립니다. ZVOL로 수행하는 모든 작업(디스크 이미지의 초기 복사본 포함)은 #3보다 훨씬 느립니다.
    • 원시 디스크 복사 - 76MB/초[3]
    • 마운트된 드라이브에 파일 복사 23MB/s [4]
  3. ZFS는 장치 대신 파일을 사용합니다. 원시 장치 복사는 정말 잘 작동하지만 마운트된 파일은 성능에 큰 영향을 미칩니다.
    • 원본 디스크(파일) 복사 - 344MB/s [5]
    • 마운트된 드라이브에 파일 복사 46MB/s [6]
  4. ZFS는 장치가 아닌 파일을 사용하지만 blktap 드라이버를 사용하여 노출됩니다. #3과 다르지 않습니다.
    • 원본 디스크(파일) 복사 - 343MB/s
    • 마운트된 드라이브에 파일 복사 48MB/s

ZFS를 사용한 성능 저하가 예상보다 훨씬 높은 것 같았고, 너무 심해서 ZFS를 사용할 수 없고 LVM으로 대체해야 했습니다.

어떤 제안이나 제안이라도 대단히 감사하겠습니다.


  • 참고로 호스트 메모리는 4G로 제한되어 있고 현재 다른 것은 실행되고 있지 않습니다.
  • ZFS는 단일 VDEV 내의 단일 드라이브입니다. 이게 형편없다는 건 알지만, 저는 단일 SSD에 필적할 만한 것을 원합니다.
  • zpool은 ashift=12로 초기화됩니다.
  • fdisk가 반환됩니다.
    • Sector size (logical/physical): 512 bytes / 4096 bytes
    • I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Results of iostat -xm 10

[1] sdg is the raw SSD
Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sdg           2603.70    0.00    325.44      0.00     0.00     0.00   0.00   0.00    0.00    0.00   1.15   127.99     0.00   0.33  85.12

[2]
Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sdg           2648.30    0.30    102.50      0.00     9.70     0.00   0.36   0.00    0.00    0.00   1.60    39.63     4.00   0.17  43.84

[3] sda is the ssd in the vdev and zd0 is the zvol
Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda           8674.70    0.00     73.96      0.00     0.00     0.00   0.00   0.00    0.00    0.00   1.49     8.73     0.00   0.10  87.08
zd0           13942.50    0.00     72.62      0.00     0.00     0.00   0.00   0.00    0.05    0.00   0.73     5.33     0.00   0.04  62.64

[4]
Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda           3088.90    0.00     28.54      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.49     9.46     0.00   0.12  37.52
zd0           4580.40    0.00     22.93      0.00     0.00     0.00   0.00   0.00    0.28    0.00   1.29     5.13     0.00   0.18  84.56

[5]
%wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda           2667.30    8.10    333.17      0.09     1.10     0.00   0.04   0.00    0.00   42.77   3.18   127.91    11.01   0.37  99.24

[6] loop0 is the mounted file device
Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
loop0          998.60    0.50     42.06      0.00     0.00     0.00   0.00   0.00    4.13    8.00   6.11    43.13     4.00   0.89  89.40
sda            811.10   11.70     99.06      0.13     0.00     0.00   0.00   0.00    0.00    0.00   0.49   125.06    11.80   0.58  48.12


관련 정보