Pop!_OS 22.04 LUKS 파티션에서 수동 TRIM이 작동하지 않는 문제

by ANTIBIOTICS posted Apr 08, 2023
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Pop!_OS 22.04가 설치된 노트북의 LUKS 암호화된 파티션에서 수동 TRIM을 실행했더니 fstrim: /: the discard operation is not supported 이라는 안내가 뜨며 실행이 되지 않습니다.

 

이 문제를 해결할 수 있는 Reddit 게시글을 찾아서 번역하여 올립니다.

아래 글에서 나온 방법 중 systemd에 관한 부분을 순서대로 따라했고 다행히 제 노트북에서는 TRIM이 정상 작동했습니다.

 

trim.png

 

 


 

원글: https://www.reddit.com/r/linux4noobs/comments/j4jdjv/trim_on_encrypted_nvme_pop_os_2004/?utm_source=share&utm_medium=web2x&context=3

 

 

 

u/utopiaman99가 3년 전 게시함

제목: 암호화된 NVME Pop_OS 20.04에서 TRIM 실행

 

제곧내. 저는 삼성 970 EVO nvme 를 주 드라이브로 사용하고 있으며 주 파티션은 암호화되어 있습니다. 저는 TRIM을 확인했고 모두 정상적으로 설정되어 있었습니다. 또한 '/recovery' 및 '/boot/efi'에서도 정상적으로 TRIM이 실행된 것 같습니다. 그러나 '/' 에서 TRIM을 실행하려 하자 "fstrim: /: the discard operation is not supported"라는 오류가 나타났습니다. 인터넷을 찾아보니 아마도 파티션 암호화와 관련된 문제인 것 같았습니다. 인터넷에서 찾은 방법 중 하나로 해당 파티션에 대해 crypttab에 discard 옵션을 추가해 보았지만 작동하지 않습니다.

 

혹시 방법을 아는 분이 있을까요? 드라이브단의 garbage collection 시대에 TRIM이 꼭 필요한 것인가요?

 

추가적인 정보가 필요하다면 말씀해주세요.

 

 

 

Fearless_Process · 3년 전 · 3년 전 수정됨

 

정기적 TRIM을 실행하는 게 좋을 것 같습니다. TRIM을 하지 않으면 성능을 떨어트리고 드라이브의 수명에 부정적인 영향을 줄 수 있습니다.

 

POPOS는 어떤 부트로더를 사용하나요? 루트 파티션은 crypttab의 항목보다 먼저 마운트되기 때문에 discard 옵션을 부트로더와 함께 커널에 전달해야 합니다. GRUB인 경우 아주 간단하지만 다른 부트로더는 잘 모르겠습니다.

 

수정: Pop_OS 는 grub을 사용하는것 같네요.

 

sudoedit /etc/default/grub

 

아래와 같은 라인이 있을겁니다.

 

GRUB_CMDLINE_LINUX="cryptdevice=UUID=<uuid>:<mountname>"

 

cryptdevice 파라미터 다음에 'allow-discards'옵션을 추가합니다. 아래는 제 컴퓨터의 예시입니다. (아마 당신은 컴퓨터에는 다른 UUID가 나올테고 cryptroot 끝부분에 뭔가 다른 내용이 더 있을수도 있을 겁니다. 하지만 신경쓰지 않아도 됩니다.)

 

GRUB_CMDLINE_LINUX="cryptdevice=UUID=c7a6faf2-ee6e-4a81-8737-38706edf717d:cryptroot:allow-discards"

 

그 다음 아래 명령어를 실행해서 grubcfg를 업데이트합니다.

 

sudo grub-mkconfig -o /boot/grub/grub.cfg

 

이 방법이 도움이 되었으면 좋겠습니다. 저는 Pop_OS에는 그다지 친숙하지 않지만 GRUB을 설정하는 것은 다른 배포판에서도 상당히 표준적인 절차입니다. 도움이 더 필요하다면 말씀해주세요!

 

하고 싶은 말이 조금 더 있습니다. '/etc/fstab'에 'discard' 옵션을 추가할 필요는 없습니다. 이 방법은 '지속적 TRIM'을 활성화할 것이며 리눅스가 설치된 SSD에서 데이터 손실/장애와 같은 문제를 일으킬 수 있습니다. GRUB에 'allow-discards'를 추가했다면 fstrim 명령을 실행하고 싶을 것입니다. 아래 명령으로 fstrim이 매주 실행되도록 설정할 수 있습니다. (정기적 TRIM이라고 합니다.)

 

sudo systemctl enable fstrim.timer

 

 

 

# [삭제됨] · 3년 전

 

Pop은 systemd 부트로더를 사용합니다.

 

 

 

# utopiaman99 · 3년 전

 

이 댓글이 많은 도움이 되었습니다!

 

현재 Pop_OS 버전은 부팅을 위해 systemd를 사용하고 있습니다. 인터넷을 좀 찾아본 결과 다음과 같이 설정했습니다:

 

sudo nano /boot/efi/loader/entries/Pop_OS-current.conf

 

그 다음 옵션 끝에 아래 내용을 추가했습니다.

 

rd.luks.options=discard

 

시스템 재시작 후 fstrim을 실행했지만 여전히 작동하지 않습니다. 실수한 부분은 없습니다. 혹시 더 설정할 부분이 있을까요?

 

 

 

utopiaman99 · 3년 전

 

방법을 알아냈습니다!

 

세 가지 수정해야 할 부분이 있고 확인해야 할 것이 있었습니다.

 

먼저 '/etc/crypttab' 을 수정하여 아래와 같이 discard옵션을 추가했습니다..

 

blablablalba none luks,discard

 

그 다음 '/etc/lvm/lvm.conf'에 다음 내용이 있는지 확인했습니다.

 

issue_discards = 1

 

그 다음 initramfs을 다시 빌드했습니다.

 

sudo update-initramfs -u

 

이렇게 처리하고 나자 정상적으로 작동했습니다!!!

 

 


  1. Ubuntu에서 키보드 백라이트(조명) 밝기 설정하기

    Date2023.08.03 Views821
    Read More
  2. ident 데몬(oidentd) 활용한 ident 서비스 구축하기

    Date2023.07.05 Views733
    Read More
  3. Pop!_OS 22.04 LUKS 파티션에서 수동 TRIM이 작동하지 않는 문제

    Date2023.04.08 Views701
    Read More
  4. Ubuntu Desktop 'Failed to set new fan speed' 에러 처리

    Date2023.01.15 Views880
    Read More
  5. SFTP 'Received message too long' 에러 처리

    Date2023.01.10 Views2045
    Read More
  6. Ubuntu Desktop 모니터별 배경화면 설정하기

    Date2022.11.26 Views1248
    Read More
  7. ZFS trim 실행 및 autotrim 설정하기

    Date2022.11.03 Views766
    Read More
  8. Ubuntu 22.04에서 DNS 캐시 삭제(flush)하기

    Date2022.11.03 Views2222
    Read More
  9. nginx 'module "ngx_http_modsecurity_module.so" is not binary compatible' 에러 다루기

    Date2021.07.26 Views962
    Read More
  10. dnsmasq 'failed to create listening socket for port 53' 에러 다루기

    Date2021.07.07 Views1751
    Read More
Board Pagination Prev 1 2 Next
/ 2

menu