Is your Elasticsearch "Trimmed"? | Elastic Blog
엔지니어링

Elasticsearch에 Trim이 되어 있나요?

2018년 6월 9일 : 이 블로그 포스트에는 셧다운 방지를 위해 trim을 하지 말아야 하는 경우에 대한 내용이 업데이트 되었습니다.

Elasticsearch Trim ?

Elastic Elasticsearch , . .

recurring-elasticsearch-slowness

2016 9 26 2016 10 3 , 2016 10 10 . ?

2016 9 26
2016 10 3
2016 10 10

, . Ubuntu 16.04 RAID-0 SSD 2 .

Ubuntu Server 16.04 LTS VM cron.weekly . fstrim .

vagrant@ubuntu1604vbox:/etc/cron.weekly$ ls
fstrim  man-db

TRIM ?

Wikipedia :

trim (ATA TRIM, SCSI UNMAP) (SSD) .

SSD (NAND) . 3 SSD .

  1. . .
  2. / .
  3. , SSD !

(Garbage Collection) , . SSD OS IO , (Write amplification) .

OS . GC SSD . OS TRIM SSD . .

  • GC (OS )
  • GC

?

SSD SSD . Ubuntu fstrim crontab .

?

! 2016 10 17 fstrim cronjob .

elasticsearch-performance-after-trim

TRIM (PMC) 10 . TRIM .

ten-rally-benchmark-iterations-notrim

trim 을 실행하지 말아야 하는 경우가 있나요?

(예를 들면) 벤치마크 실행 전에 디스크를 trim 하는 것은 의미가 있지만, 운영 환경에서는 함부로 실행하면 안되는 경우도 있습니다.

얼마나 오래 전에 디스크를 trim 했었는지에 따라, trim이 진행되는 동안 디스크 성능이 저하되고 완료되기 까지 시간이 오래 걸릴 수 있습니다.

  • Elastic Cloud Enterprise (ECE) 사용 중에는, 긴 trim 의 반환 시간 때문에 중에 컨트롤 플레인이 불안정해질 수 있습니다. 결과적으로 ECE 디스크를 수동으로 트리밍하지 않는 것을 권장합니다.
  • 다른 제품의 경우, 트래픽이 낮은 기간에만 실행을 예약하거나, 시스템이 계속 과도하게 사용중이라면 trim을 완전히 사용하지 않도록 설정하는 것이 좋습니다.

CentOS-7 fstrim.service systemd timer . .

LVM issue_discards /etc/lvm/lvm.conf 1 . dm-crypt Linux . lvm/dm-crypt TRIM ArchLinux wiki .

TRIM SSD . Amazon Instance Store-Backed Linux AMI .

Elasticsearch IO . SSD , TRIM , TRIM . !