빠른 속도 때문에 사용하는 SSD도 적절히 TRIM을 하지 않으면 쓰기 폭증 효과로 SSD의 성능이 저하될 수 있습니다.
TRIM 기능을 이용하면 SSD의 삭제된 파일이 차지하는 공간을 비울 수 있고 위 문제를 해결할 수 있습니다.
문제는 USB 외장SSD는 TRIM이 불가능하다고 알려져 있는 것입니다.
TRIM이 가능한 썬더볼트 외장SSD는 썬더볼트 외장케이스 가격이 비싼 것을 떠나서 구하기도 어렵고, eSATA는 사용 여건이 안 되므로 제외입니다.
그런데 USB 외장SSD도 트림을 할 수 있는 경우가 있습니다.
- SSD : 2.5형 WD BLUE SSD 3D
- 외장케이스 : micro USB to USB 타입 A - USB 3.1(1세대) 인터페이스 - 2.5형 SSD/HDD 외장 케이스 StoreJet 25S3 - UASP(USB Attached SCSI Protocol) 지원
- 운영체계 : 윈도 7
- 소프트웨어 : 웨스턴 디지털 SSD 대시보드 2.6.0.0 출시일: 2019/12/02
- 파티션 종류 : 윈도 NTFS 형식이면 트림이 가능합니다. 리눅스 EXT4 형식은 마운트 할 수 없어서 TRIM을 사용할 수 없습니다.
1. USB 연결 후 WD 대시보드를 실행합니다.
2. USB 외장SSD로 변경합니다.
3. 성능 탭 - (최적화) TRIM - 지금 TRIM 실행 (Run TRIM Now) 또는 Windows TRIM 활성화를 선택하면 됩니다.
윈도에서 외장SSD의 TRIM이 가능하니까 똑같은 조건이라면 리눅스에서도 가능하지 않을까 하고 리눅스에서도 해봅니다.
운영체계 : 우분투 18.04.3 LTS
파티션 종류 : 윈도 NTFS 형식과 리눅스 EXT4 형식으로 테스트 합니다.
NTFS와 EXT4 파티션 둘다 SSD의 삭제된 파일이 차지한 공간을 비우는 작업(TRIM)을 할 수 없습니다.
하는 수 없이 구글에서 찾아보았지만 USB 외장SSD는 TRIM이 불가능하다고만 합니다.
"컨트롤러가 트림을 지원하지 않기 때문에 SSD를 메인보드 SATA 포트 중 하나에 연결하라"는 답변이 입니다.
하지만 위에서 보는 것처럼 윈도에서 WD SSD 대시보드를 이용해서 USB 외장SSD의 트림을 할 수 있으니 리눅스에서도 가능하겠죠. 그러다가 찾은 문서를 보고 그대로 따라 했지만... TRIM은 할 수 없었습니다. 다음은 그 과정입니다.
리눅스에서 외장SSD의 트림 사용
원문 링크. https://www.glump.net/howto/desktop/enable-trim-on-an-external-ssd-on-linux
문제.
lsblk --discard를 실행하여 Trim을 지원하는 커널에서 새 SSD가 초기화되었는지 확인하면 명령 프롬프트에 다음이 표시됩니다.
$ lsblk --discard /dev/sdc
리눅스는 기본적으로 USB를 통한 트림을 지원하지 않는 것 같습니다.
해결책.
1. 공급 업체 ID 및 제품 ID를 식별하십시오.
$ lsusb
Bus 004 Device 003: ID 8564:7000 Transcend Information, Inc.
공급 업체 ID : 8564 , 제품 ID : 7000 임을 알 수 있습니다.
2. udev 규칙 생성. 텍스트 편집기에서이 규칙을 입력하십시오.
$ sudo vim.tiny /etc/udev/rules.d/50-usb-ssd-trim.rules
ACTION=="add|change", ATTRS{idVendor}=="8564", ATTRS{idProduct}=="7000", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"
USB 외장SSD를 분리했다가 다시 장치를 연결할 때 트림이 작동합니다.
$ lsblk --discard /dev/sdc
$ cat /sys/block/sdc/device/scsi_disk/*/provisioning_mode
3. 파일 시스템이 트림을 지원하는지 확인하십시오
$ sudo fstrim -v "/media/사용자계정/SSD볼륨이름"
FITRIM ioctl failed: 원격 입출력 오류
the discard operation is not supported.
마운트한 NTFS, Ext4 파일시스템 모두 트림이 작동하지 않습니다.
lsblk에 DISC-GRAN 또는 DISC-MAX 열에 값이 있는데도 실패합니다.
fstrim 실패후 DISC-MAX 값이 4G에서 0B로 바뀝니다.
앞서도 말했지만 윈도에서 WD SSD 대시보드를 이용해서 USB 외장SSD의 트림을 할 수 있으니 리눅스에서도 할 수 있을 것입니다. 리눅스에서도 USB 외장SSD의 TRIM이 하는 날이 다가오기를 기대하며 문제 해결을 위해 노력하는 리눅서 분들을 응원합니다.
'리눅스' 카테고리의 다른 글
우분투 리눅스 grub 부트로더 복구 (다시 깔기) (0) | 2021.07.24 |
---|---|
리눅스에서 안드로이드 폰의 파일 가져오기 (0) | 2021.07.22 |
리눅스 디스크를 HDD에서 SSD로 옮기기 (0) | 2019.12.05 |
우분투 리눅스 10.10에서 컴피즈 기본 지원 (뛰어난 화면 효과) (0) | 2010.10.20 |
우분투 10.04를 새로 설치 (0) | 2010.07.21 |