Ubuntu는 SSD와 함께 사용할 TRIM 명령을 지원합니까?


34

성능을 유지하기 위해 드라이브가 가득 차면 SSD 드라이브를 "삭제 / 재설정"해야합니다. 이는 새 SSD 드라이브에 대한 TRIM 명령을 통해 수행됩니다. Ubuntu는 이러한 드라이브의 지우기 / 재설정을 위해 TRIM 명령 (hdparm 등을 통해)을 지원합니까?


그러나 TRIM이 성능을 향상시키는 정도는 SSD마다 다르지만 일부는 생각보다 큰 차이를 만들지 않습니다.
Nicholas Knight

1
나는 성능이 공장 기본값과 동일 (가까운 경우)으로 복원 될 것이라고 생각합니다. 에 대한 설명은 여기를 보라 -> anandtech.com/show/2738/10
ssanj

답변:


24

10.10 및 최신 릴리스에서 TRIM 기능이 지원되는 것 같습니다.

또한 TRIM 작업은 자동으로 수행됩니다. 디스크에서 TRIM을 지원한다고보고하면 빈 블록은 더 이상 필요하지 않은 경우 (예 : 파일 삭제) 자동으로 해제됩니다. 이 작업을 위해 hdparm 명령을 수동으로 실행할 필요는 없습니다.


TRIM 명령을 SDD에 "보낸"도구를 사용해야한다고 생각했습니다. 지정한대로 작동하면 좋습니다. :)이 Anandtech 기사-> ( anandtech.com/show/2738/10 )에서는 TRIM이 작동하려면 OS와 SSD 모두 TRIM 지원이 필요하다고 지정합니다. 내 질문은 TRIM 인식 SSD 드라이브와 함께 사용할 때 TRIM에 대한 OS / Linux 지원에 관한 것입니다.
ssanj

3
TRIM 명령은 해제 할 블록을 알아야하므로 디스크의 어떤 블록이 사용되지 않는지 정확히 알지 못하면이 명령을 발행하는 것이 위험합니다. 예, OS와 디스크 모두 트림 지원이 필요합니다. Linux에서는 커널 버전 2.6.33에 추가되었으므로 Maverick에 포함됩니다. 사용중인 파일 시스템의 디스크 드라이버가 모두 제대로 작동하려면 트림을 지원해야합니다. Maverick에서 ext4를 파일 시스템으로 사용하고 있다면 괜찮을 것입니다.
Jeremy Kerr

OS를 지원하는 TRIM 이전에 축적 된 기존 크래프트를 정리하기 위해 기존 SSD가 "개조 된 TRIM"을받을 수 있는지 궁금합니다. 아니면 다시 설치해야합니까?
Kent Boogaart

20

Jeremy의 대답은 완전히 정확한 AFAIK는 아닙니다. 나는 Lucid에서 최신 안정된 커널을 얼마 동안 운영해 왔으며 OCZ Agility를 메인 디스크로 사용하면서 TRIM의 상태를 매우 예리하게 따르고 있습니다.

내가 아는 바는 다음과 같습니다.

  • 커널은 2.6.33부터 TRIM을 지원합니다 (매버릭은 2.6.35입니다).

  • EXT4는 TRIM을 지원하지만 저널링 이 해제 된 경우에만 가능 합니다.

  • 커널에서 TRIM이 작동하는 방식은 매우 기본적이고 느립니다. 사양을 따르는 디스크는 여러 범위를 허용 할 수 있지만 커널은 현재 한 번에 하나의 범위 만 수행 할 수 있습니다. 한 달 전에 읽은 내용에서 비롯된 것입니다. 이것이 사실이 아니거나 더 이상 적용되지 않을 수 있기 때문에 출처를 원합니다.

저널링은 나를 위해 그것을 죽이는 것입니다. 데이터 손상은 PITA입니다.

그러나 최신 버전의 hdparm (v9.25-Maverick은 v9.27에 있음) wiper.sh에는 드라이브를 빠르게 분석 한 다음 빈 공간을 모두 잘라내는 스크립트가 있습니다. 기능을 잃지 않고 wiper.sh일주일에 한 번 (또는 하루 / 월 / 무엇이든) 크론 을 실행 하는 것이 훨씬 쉽다는 것을 알았습니다 . 끊임없이 드라이브를 찢지 않으면 OS 드라이브의 SSD 성능 저하가 그렇게 빠르지 않습니다. 실시간 트리밍이 필요 하지 않습니다 .

DiskTRIM 이라는 GUI 프론트 엔드도 있는데 , 이는 repos에없는 것처럼 보입니다. 경험이 적은 사용자는 cron 작업을 설정하는 것보다 사용이 더 쉽다는 것을 알 수 있습니다.

hdparm 및 disktrim에 대한 PPA가 있으며 2.6.33+ 커널이 없어도 Lucid에서 다시 실행할 수 있습니다.


해당 PPA에 링크 할 수 있습니까?
Jorge Castro

discardext4에 마운트 옵션을 활성화하면 저널링이 비활성화됩니까? 방금 참조를 검색했지만이 답변과 다른 것을 찾을 수 없습니다. 소스를 제공 할 수 있습니까?
Hamish Downer

2
우분투 12.04에 wiper.sh는 fstrim로 대체되었습니다
tomodachi

1
@Oli : 나는 더 많은 독서를했고 이제는 버리기 옵션 저널을 비활성화 하지 않는다고 확신합니다 . 원래 폐기 옵션 은 저널 에서만 작동했습니다 (저는 저널없이 폐기 할 수있는 이 패치 를 찾았습니다 ). 커널에서 ext4 페이지 문서는 폐기 선택이 아닌 저널이 호환되지 언급하지 않습니다.
Hamish Downer

8

Linux는 커널 2.6.33 이후 ETX4 파일 시스템에서 자동 TRIM을 지원합니다.

자동 TRIM을 지원하는 첫 번째 Ubuntu 릴리스는 10.10 (Maveric)이지만 fstab에서 활성화해야합니다 ( 여기 에서 설명 ).


4

일반적으로 그렇습니다. 새로운 커널을 얻는 방법에는 한계가 있기 때문입니다. 귀하의 질문에 "10.04 LTS가 해당 명령을 즉시 지원합니까?" 대답은 '아니요'입니다. 그러나 두 매버릭의와 단정 한의 커널 (-generic, -generic-PAE를, -server 및 -virtual 맛), 예를 들어, 10.04 LTS에 백 포트 우분투 저장소에서 $ 릴리스 업데이트에서 사용할 수 있습니다되고 linux-image-generic-lts-backport-maverick있다 루시드에 매버릭의 백 포트 .


2

11.04를 실행 중이며 TRIM이 기본적으로 작동하는 것처럼 보이지 않습니다.

내가 테스트 , 파일을 만들고 삭제하고, 섹터 제로 아웃 얻을 있는지 확인하기 위해 여기에 지침을 사용하여 / 삭제 .

여기 지침 을 사용하여 TRIM을 활성화하려고 시도 했지만 주사위는 없습니다.

와이퍼를 실행합니다.

/sbin/wiper.sh --verbose --commit / dev / sda1
wiper.sh : Mark Lord의 Linux SATA SSD TRIM 유틸리티 버전 3.3.
rootdev = / dev / sda1
fsmode2 : fsmode = 읽기-쓰기
/ : fstype = ext4
freesize = 13785252KB, 예약 된 = 137852KB
/ dev / sda1에 여유 공간의 온라인 TRIM 준비 (ext4는 /에 읽기 / 쓰기 마운트).

이 작업으로 인해 데이터가 자동으로 손상 될 수 있습니다. 확실합니까 (y / N)? 와이
임시 파일 생성 (13647400KB)
디스크 동기화 중 ..
TRIM 작업 시작 ..
get_trimlist = / sbin / hdparm --fibmap WIPER_TMPFILE.9689

/ dev / sda :
462 개 범위에서 27294800 개의 섹터 트리밍
성공
임시 파일을 제거하는 중입니다 ..
디스크 동기화 중 ..
끝난.

그러나 다시 실행하면 동일한 수의 섹터 / 범위를 다듬어야하고 성공을 다시보고합니다. 매번 똑같은 것을 얻습니다. 섹터가 삭제 / 해제 된 것처럼 보이지 않습니다. 그것들을 읽으면 여전히 같은 데이터를 보여줍니다.

다른 사람이 작동하는지 궁금합니다.


폐기 옵션을 fstab에 추가했는데 여전히 작동하지 않는 경우 알파의 버그 일 수 있습니다. 버그 신고서를 제출해야합니다.
Uli

방금 natty에서 이것을 테스트했으며 ( askubuntu.com/questions/18903/how-to-enable-trim 지침에 따름 ) TRIM은 거의 즉각적으로 작동합니다.
Uli

TRIM을 지원하지 않는 SSD가있을 수 있습니다. 초기 SSD 중 상당수가 TRIM을 지원하지 않았습니다.
Hamish Downer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.