SSD / HDD 향상을위한 최고의 / etc / fstab 설정


12

나는 이미 다른 저자의 테스트 블로그 게시물을 확인하여 3y로 EXT4가 가장 빠르다는 것을 알고 있습니다.하지만 SSD를 더 빠르게 만드는 다른 설정도 있습니다 . 우분투를위한 더 나은 성능 /

sudo gedit /etc/fstab
add to / partition <options> noatime,nodiratime,
and also if kernel is >2.6.33 also add discard,
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

그리고 https://wiki.ubuntu.com/MagicFab/SSDchecklist

sudo gedit /etc/fstab
add to / partition <options> noatime, and thats it
and data=writeback mounting option if you formatted the disk without journaling. Otherwise add data=ordered which sould be a good compromise between full journaling and none at all.
tmpfs   /tmp  tmpfs  nodev,nosuid,noexec,mode=1777  0 0

왜 noatime입니까? 설치에서 저널링이없는 디스크인지 확인하는 방법은 무엇입니까? 그리고 뭐가 더 빠릅니까? Jornaling 또는 반대? 그리고 저널링 데이터 = 쓰기 또는 저널링 된 데이터 = 정렬되지 않습니까?

그리고 tmpfs / tmp가 두 북극에서 왜 다른지 그리고 그들이 어떻게 다르고 마녀가 더 좋고 왜 그럴까요?

이 모든 것이 SSD에 관한 것이지만 HDD에서 동일한 설정을 사용할 수 있습니까? https://wiki.ubuntu.com/Kangarooo/AfterCleanInstallation 에서 한 번 설정하여 HDD와 SSD에 대한 답변을 찾고 싶습니다.

답변:


10

howtogeek 사이트는 언급 한 두 사이트 중 더 책임이 있습니다. 시간 조정은 파일이 특정 타임 스탬프 업데이트를받을 때 파이프 라인이되는 메타 데이터 최적화 일뿐입니다. 사용하는 미디어에 관계없이 적용 가능하며 응용 프로그램이 해당 메타 데이터의 일관성에 얼마나 민감한 지에 따라 다릅니다. 대부분의 데스크탑 사용자는 그것을 놓치지 않을 것입니다.

이제 저널링을 사용하지 않도록 설정하는 것은 정말 미친 짓입니다. 이것이 바로 이러한 고급 파일 시스템 사용의 요점입니다. 데이터 무결성을 유지하면서 성능을 향상시킵니다. 이 거래를하면 개인 데이터를 교환하여 속도가 약간 증가한다는 것을 이해하십시오. 나는 개인적으로 그것을 추천하지 않을 것입니다. 대부분의 사람들은 이러한 위험을 감수하기 위해 좋은 백업을 유지하지 않습니다.

파티션 정렬 은 중요 하지만 해당 비트를 조정 해도 문제가 해결 되지는 않습니다. 실제로 디스크에 얼마나 많이 액세스하는지에 달려 있습니다. 정렬되지 않은 것으로 가정하면, 정기적으로 (서버) 많은 양의 I / O가 진행된다면 개선 된 것을 보게 될 것입니다. 평균적인 데스크톱 사용에 대해 아는 사람은 아마 이해할 수 없을 것입니다.

파티션 정렬이 중요하다는 개념을 제외하고 언급 한 우분투 위키는 무시합니다. 보다 책임감있는 링크는 다음과 같습니다.

http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/index.html?ca=dgr-lnxw074KB-Disksdth-LX

"nodev"를 사용하여 tmpfs를 재구성하는 것과 같이 우분투 위키의 권장 사항은 잘못되었습니다. 이미 RAMFS입니다!

파이어 폭스 캐시를 / tmp로 옮기면 현재 세션에서 속도가 빨라질 수 있습니다. 보안 위험 (더 이상 가정에서는 보안되지 않음) 일 수 있지만 tmpfs가 영구적이지 않기 때문에 부팅 할 때마다 다시 작성됩니다.

요약:

discardext4 옵션에 추가 하는 것은 신중하고, 쓰기 저장은 기본 모드이며, 저널링 설정 만 그대로 두십시오. 나머지는 이층입니다.


시간 조정은 훌륭하지만 궁극적으로 무의미합니다. relatime은 큰 타협이며 파일에 마지막으로 액세스 한 이후에 파일이 수정 된 경우에만 한 번 쓰기가 발생합니다. 이것은 시간 기능을 완전히 잃지 않고 이미 시간 쓰기를 크게 줄입니다.
세슘

1
나는 그것이 relatime최선의 타협 이라고 동의 하지만 제시된 사실에 대한 분석을 제한하고 있었다. 서버 워크로드가없는 한 이러한 많은 조정은 실제로 중요하지 않습니다. 나는 마모 레벨링이 아닌 성능에 대해 이야기하고 있습니다. 이 사용자가 할 수있는 가장 중요한 일은 discard지원을 활성화 하는 것입니다. 나는 1.5 년 동안 SSD를 소유하고 있으며, 그것을 개조하고, 훌륭하게 작동하며, 자체 폐기를 관리하지 않았습니다.
ppetraki

1
nodev바보일까요? 파일 시스템이 장치임을 시스템에 알리지 않지만 장치 파일이 장치로 처리되지 않도록합니다. 를 사용하여 다른 것을 테스트 할 수 있습니다 sudo mknod -m666 test c 1 3( test쓰기 가능한 null 장치 역할을하는 파일 을 만듭니다 /dev/null). 파일 시스템에 탑재 nodev, echo > test그리고 cat test당신이 루트 또는하지 실행에 관계없이하면 실패합니다.
Lekensteyn

맨 페이지의 내용을 알고 있습니다. 특히 SSD와 관련하여 이것이 성능에 어떤 영향을 미치는지 설명해 주시겠습니까?
ppetraki

4

discardLinux 호스트에 최적화되지 않은 명령 구현이 있기 때문에 속도가 느려지므로 SSD 호스트 파일 시스템에 대해서는 이 옵션이 더 이상 권장되지 않습니다. (IIRC, TRIM 요청은 한 번에 하나의 ATA 섹터 범위 만 사용하므로 속도가 느려집니다.)

대신 매일 실행되는 크론 작업 fstrim -v /(또는 SSD 파티션이 무엇이든)을 작성하십시오. 이것이 Ubuntu 14.04 LTS와 함께 제공되는 솔루션입니다.


"폐기 옵션은 더 이상 제안되지 않습니다"— 출처, 제발?
eMPee584

1
… XFS dev marc.info/?l=linux-xfs&m=133047907914622&w=2에 의해이 게시물을 찾았습니다 . "온라인 폐기는 실제로 소비자 SSD에 사용하기에 현명한 것은 아닙니다. "대기열을 지원하는 대부분의 하드웨어에서 대기 가능한 작업입니다." 그래서 systemctl enable fstrim.timer그것은 ...이다
eMPee584

1

/ tmp에서 'noexec'를 활성화하지 않으면 / tmp에서 실행해야하는 특정 3D 드라이버에 문제가 발생합니다. 최신 하드웨어 용 NVIDIA 드라이버에는이 요구 사항이 있습니다. 'noexec'가 활성화되어 있으면 xscreensaver glmatrix와 같은 모든 응용 프로그램이 segfault됩니다.


그래서 noexec없이 줄을 추가 할 수 있습니까? 이처럼? tmpfs / tmp tmpfs nodev, nosuid, mode = 1777 00
Kangarooo

0

ppetraki의 답변 외에도 플래시 마모가 우려되는 경우 /tmp폴더 의 RAM 파일 시스템을 마운트해야 합니다.

tmpfs /tmp tmpfs defaults,size=15%,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,size=10%,mode=1777 0 0

하지만 당신의 움직이지 않는 /var/log당신이 충돌하지 않습니다 확신하지 않는 한 RAM에 파일을)과 이미 새 만든 모든 서버 패키지를 설치 한 /var/log을 가지고 있지처럼 아파치처럼 (디렉토리) 및 수행을 부츠 사이에 사라 :

tmpfs /var/log tmpfs defaults,mode=0755 0 0 
tmpfs /var/log/apt tmpfs defaults 0 0
none /var/cache unionfs dirs=/tmp:/var/cache=ro 0 0

JR0cket의 답변 과 주제에 대한 다른 블로그 기사 가 혼합되어 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.