나는 다음과 같은 장치를 가지고 있습니다리눅스 민트 18.1노트북과GNU/리눅스 데비안 9서버에서.
(Cinnamon 데스크톱에서는 모두 64비트입니다.)
모든 드라이브 장치가 포맷되었습니다.ext4 파일 시스템;디스크 어레이 1사용하면 완료됩니다mdadm
.
노트북 1SSD(HDD와 혼동하지 마세요.)
드라이브 3개가 있는 노트북: 소비자 HDD 2개디스크 어레이 1그리고 SSD 1개.
5개 드라이브가 있는 서버: 엔터프라이즈 HDD 4개 2개디스크 어레이 1그리고 SSD 1개.
내 시스템은 이 SSD에 있으므로 SSD 조각 모음은 절대 하지 않습니다.
문제는 HHD와 SSHD에 관한 것입니다.
내가 찾은이전 PDF더 많은 기능 설명e4defrag
.
마운트되지 않은 파일 시스템의 조각 모음을 시도할 때 이 오류 메시지에 따라 파일 시스템을 마운트해야 하는 이유는 무엇입니까? 나는 이것이 왜인지 이해하고 싶습니다:
Filesystem is not mounted
여유 공간 조각 모음을 구현하고 싶습니다. AFAIK 현재 검토 중입니다. 이러한 사용 가능한 옵션을 사용할 수 있습니까
e4defrag
? 아니면 소스에서 컴파일할 수 있는 방법이 있습니까?e4defrag -f /deviceOrDirectory
또한 관련 데이터 기능을 사용하고 싶습니다.
e4defrag -r /deviceOrDirectory
나는 이러한 컴퓨터의 조각화로 인해 읽기 속도가 느려진다고 생각하는 다음과 같은 여러 가지 관련 이유가 있습니다.
서버에서 가져오기디스크 어레이 1하드 디스크:
[2556/30987]/raid1a/bitcoind/blocks/rev00820.dat: 100% extents: 16 -> 1 [ OK ]
노트북에서 가져오기디스크 어레이 1하드 디스크:
[29405/50810]/raid1/movies/SGA-HEVC/S04E01 - Adrift.mp4: 100% extents: 31 -> 6 [ OK ]
보시다시피 조각 모음은 31블록 파일을 1블록으로 나눌 수도 없습니다. 물론 이것이 영화 파일이라고 주장할 수도 있으므로 별 문제가 되지 않습니다. 사실이지만 이 경우에만 해당됩니다.
조각 모음을 시작하는 데 사용하는 명령은 다음과 같습니다.
서버에서:
sudo e4defrag -v /dev/md1
노트북의 경우:
sudo e4defrag -v /raid1/
장치 이름을 사용하여 명령을 호출하든, 디렉터리를 사용하여 호출하든 상관이 없는 것 같습니다.
나에게 올바른 방향을 알려줄 수 있나요?
답변1
e4defrag
조각 모음을 수행하려면 커널의 파일 시스템 드라이버가 필요하기 때문에 파일 시스템을 마운트해야 하지만, 조각 모음 자체는 수행되지 않습니다.
여유 공간 조각 모음 및 관련 파일 조각 모음의 경우 관련 메일링 목록에서 패치가 마지막으로 언급되지 않았습니다.2014년으로 거슬러 올라감:
예
e4defrag
,e2fsprogs
코드는 계속 유지 관리되고 개선되고 있습니다. 특히 Dmitry Monakhov는 광범위한 "고문 테스트"를 추가했으며 기본 커널 코드에서 많은 경쟁 조건을 발견했습니다. 그는 또한 최근에 커널 코드의 코드 리팩토링을 보내 이를 크게 개선하고 (ext4의 크기를 550줄의 코드로 줄였습니다).
e4defrag
하지만 꽤 오랫동안 실제 기능 개발이 이루어지지 않았습니다. 어떤 커널 API가 이 기능을 지원할 수 있는지에 대한 논의가 있었지만 구현은커녕 최종 API 제안도 나온 적이 없습니다.
그래서 현재 테스트할 가치가 있는 것이 있는지 의심됩니다.