ext4 파일 시스템을 조각 모음하는 방법


65

나는 필요가 없다고 말하는 대답을 원하지 않습니다.

답변:


66

e4defrag를 사용하여 파일 조각 모음

ext4 파일 시스템이 extent옵션으로 생성 된 경우 (최근 배포판에서 기본값 임) e4defrag유틸리티를 사용하여 온라인에서 확인하거나 조각 모음을 수행 할 수 있습니다 (예 : 마운트 해제 안 함).

다음과 같이 조각화 수준을 확인하십시오 (자세한 내용을 보려면 루트 여야합니다).

sudo e4defrag -c /path/to/myfiles

얻을 수있는 출력의 예는 다음과 같습니다.

$ sudo e4defrag -c iso/
<Fragmented files>                             now/best       size/ext
1. /home/gerlos/iso/debian-live-7.5.0-i386-rescue.iso
                                                 7/1         111177 KB
2. /home/gerlos/iso/systemrescuecd-x86-4.4.1.iso
                                                 4/1         100897 KB
3. /home/gerlos/iso/debian-live-7.5.0-amd64-rescue.iso
                                                 6/1         116053 KB
4. /home/gerlos/iso/ubuntu-14.04.2-server-amd64.iso
                                                 8/1          76160 KB
5. /home/gerlos/iso/ubuntu-14.10-desktop-amd64.iso
                                                15/1          75712 KB

 Total/best extents             40/5
 Average size per extent            90577 KB
 Fragmentation score                0
 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
 This directory (iso/) does not need defragmentation.
 Done.

이 예제에서와 같이 대부분의 경우 조각 모음이 필요하지 않다고 말하지만 어쨌든 원하는 경우 사용할 수 있습니다 (자체 파일을 조각 모음하기 위해 sudo를 사용할 필요는 없음).

e4defrag /path/to/myfiles

사용자는 자신의 파일에서 파일을 실행할 수도 있습니다. 다른 사용자 나 시스템 파일에서 작업하지 않으려면 루트 일 필요가 없습니다.

e4defrage2fsprogs패키지, 나는 이미 우분투 시스템에 설치된 같아요.


2
e4defrag -c는 아무것도 반환하지 않습니다 done. 그것은 단지 조각화가 없다는 것을 의미합니까?
hrzhu

3
죄송합니다, 나는 당신이 실행해야 할 것을 언급하는 것을 잊었다 e4defrag -csudo또는 파일의 단편화에 대한 자세한 정보를 얻을 수있는 루트로. 그러나 조각 모음을 위해 루트 일 필요는 없습니다.
gerlos

@gerlos 루트 파일 시스템을 조각 모음하려고하면 /어떻게됩니까?
Pavel Sayekat

2
@PavelSayekat 당신은 루트 (즉 , sudo)를 사용 하여 실행 e4defrag /해야하며 특별한 것을 할 필요가 없습니다. e4defrag모든 파일을 검사하므로 드라이브가 모든 것을 읽을 때까지 기다립니다. 시간 낭비 일 수 있습니다. 대부분의 경우 파일 시스템에 충분한 여유 공간이 있으면 조각난 파일이 몇 개 밖에 없으며 웹 브라우저 활동과 관련하여 홈 디렉토리에있는 경우가 많습니다. 예를 들어, 매일 사용하는 데스크탑 PC e4defrag에서는 Chromium 구성 및 캐시 디렉토리에 5 개의 조각화 된 파일 만 있다고보고합니다.
gerlos

이렇게하면 파일 자체의 범위 만 조각화되지만 서로간에 파일은 조각화되지 않습니다. 즉, 디스크의 매우 다른 물리적 위치에 3 개의 파일이 포함 된 디렉토리가 있으면이 도구를 실행 한 후에도이 파일을 동시에 사용하는 속도가 느려집니다. 디스크에서 파일을 재 배열하거나 "빈 공간 조각 모음"이라고도하는 방법이 있습니까?
fuzzyTew

29

e2fsprogs를 살펴보십시오 . 이것은 우분투 패키지에서도 가능합니다. 프로그램 e4defrag를 제공합니다.


5
이것은 실제로 -O extent로 작성된 ext4 파일 시스템에서만 유용하며 이는 기본값이 아닙니다.
dobey,

그 사람은 조각 모음에 대해 궁금해합니다. e4defrag로 가능할 수 있습니다.
Felipe Alcacibar

8
@dobey Ubuntu 12.04 (.3) LTS 는 섹션 extentext4스탠자에 포함 되어 있으므로 "기본"입니다. 파일 시스템이 연결된 시스템의 작성 시간 구성에 관계없이 파일 시스템 자체를 검사하는 것이 가장 좋습니다 . 방금 100 % 전체 1TB 파일 시스템을 실행 했으며 5 개의 조각난 파일과 "조각화 점수"가 0입니다. YMMV. [fs_types]/etc/mke2fs.conftune2fs -l </dev/with/ext4> | grep extente4defrag -c ...extent
Richard Michael

@RichardMichael FYI : e2defrag -c /path발견 된 첫 5 개의 조각화 된 파일 만 인쇄합니다 (가장 조각난 파일조차 포함하지 않음). e2defrag -v /path익스텐트 수를 줄이는 방법을 보려면 실행 하십시오.
Tino

17

Gparted를 사용하여 파일 시스템 조각 모음

하드 드라이브에 충분한 공간이 있으면 Gparted 를 사용 하여 파일 시스템 ( ext2, ext 4, nfts 등 ) 을 조각 모음 할 수 있습니다 . 작업중인 드라이브를 마운트 해제해야하므로 CD / DVD / USB 부팅 디스크로 부팅해야합니다. 이 작업을 수행하려면 사용 된 공간보다 사용 가능한 공간이 더 많아야하며 시간이 걸릴 수 있습니다.

  • 부팅 디스크로 부팅하십시오.
  • gparted를 실행하고 조각 모음하려는 데이터가 포함 된 파티션을 데이터 양보다 크게 축소하십시오.
  • 조각 모음을하려는 파티션이 드라이브를 마지막으로 이동하여 드라이브의 마지막 파티션인지 확인하십시오 (드라이브에 파티션이 하나 뿐인 경우 다른 빈 파티션을 만들어야 할 수도 있습니다).

파티션을 사용하여 드라이브의 마지막 파티션으로 조각 모음을 수행하십시오.

  • 왼쪽의 파티션을 최대 크기로 늘립니다. 그러면 파티션 데이터가 드라이브 끝으로 이동합니다.
  • 완료되면 해당 파티션을 이전 크기로 축소하십시오.
  • 디스크에 둘 이상의 빈 파티션을 만들었 으면 이제 삭제할 수 있습니다.
  • 파티션을 원래 순서로 다시 옮기고 조각 모음을 원하는 파티션을 전체 크기로 다시 늘리십시오.

이제 조각 모음이 완료되었습니다.

그리고 우분투를 조각 모음하지 않는 이유 / 왜 관심이 없다는 것을 알고 있지만 어쨌든 조각 모음이 필요없는 이유에 대한 링크를 게시 할 것 입니다.


수축하고 오른쪽으로 이동 한 후 왜 왼쪽으로 이동하는 대신 왼쪽으로 자란 다음 다시 축소합니까?
Jason C

또한 왼쪽 성장 단계 후에 데이터 자체가 실제로 다시 왼쪽으로 이동한다는 사실을 알았습니다. 수축 + 재성장을 건너 뛸 수 있습니다. 이 나타납니다 1) 축소와 오른쪽으로 이동, 2)를 적용, 3) 왼쪽을 성장 : 만 할 충분한 것으로.
Jason C

조각 모음을 수행하려는 파티션을 마지막으로 이동하는 것만으로 HD의 실제 끝으로 이동하지 않아도됩니다. 파티션을 왼쪽에서 최대 크기로 늘리면 끝 파티션이 실제로 하드 드라이브의 맨 끝으로 "이동"됩니다.
James

오른쪽으로 이동하면 않는 하드 드라이브의 끝으로 이동합니다. gparted GUI 상단의 파티션 막대는 실제로 데이터 레이아웃의 정확한 표현입니다 (적어도 OS에서 볼 수 있듯이 플래시 장치는 컨트롤러의 다른쪽에있는 물리적 위치에 논리적으로 매핑되는 플래시 장치 등). 전형적인 HDD, 정확합니다). 이것은 파티션 테이블에서 새로운 시작 위치를 관찰하여 확인할 수 있습니다. :)
Jason C

아, 우리는 의사 소통을하고있다. 마지막으로 파티션을 다시 정렬해야했습니다. 나는 의미 이동 드라이브의 끝 부분에 파티션을, 그리고 난 당신이 (당신이 그들을 재정렬 독립적으로 gparted를 사용하여 드라이브에 파티션을 이동할 수)뿐만 아니라 의미 무슨 생각입니다. :)
Jason C

3

리눅스에서 ext4 파일 시스템 조각 모음 이 답변을 추가하여 일반적으로 수행되는 일부 작업을 수행하는 다양한 내장 Linux 도구를 찾는 방법을 보여줍니다. 당신

또한 마운트 해제하지 않고 조각 모음을 수행하려는 경우에만 수퍼 유저로 수행해야합니다.

apropos 명령 사용

e4defrag -vc /path #verbose output with count

2

Ubuntu 14.04 LTS는 새로 설치 (Win-Junk 위에 있지 않음)로 설치 될 때 (최소한 기본 드라이브) EXT4 파티션에 배치합니다.

이 경우 새 시스템을 설치했거나 이전 시스템에서 새로 포맷 한 다음 새로 설치 한 다음 기본적으로 14.04 LTS를 사용하여 설치 한 경우 기본 위치는 EXT4 파티션 /dev/sda1입니다.

(지금은 그냥 터미널 열 CTRL- ALT- T) 및 유형 :

sudo e4defrag -c /dev/sda1

'확인'이 완료 될 때까지 인내심을 갖고 단편화 보고서를 다시 받으십시오.

OS 드라이브에 EXT4 파티션이 있는지 잘 모르겠 으면 HOME으로 이동하여을 입력하십시오 df -T. sda * 파티션이 무엇으로 설정되어 있는지 확인하십시오 (14.04LTS에서이 작업을 시도하십시오. 하드 드라이브 설치시 다른 파티션 유형을 선택하지 않은 경우 EXT4가 표시됨).


주제를 조금 벗어 났으며 특히 마지막 rant와 함께 질문에 가치를 더하지 못했습니다.
Fernando Silveira

sudo는 e4defrag는 / dev / sda1과는 / dev / sda2가 : 동일한 명령으로 하나 개 이상의 파티션을 조각 모음을 수행 할 수 있습니다
ProgAndPlay

1

e2fsck -D /dev/sda1 일반적으로 작업 속도를 높이는 디렉토리를 정렬하고 다시 색인화하여 디렉토리를 최적화합니다. 전체 파일 시스템 조각 모음으로 간주되지는 않지만 모든 시스템에 e4defrag가있는 것은 아닙니다.

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