조각 모음의 의미와 필요한 경우

조각 모음의 의미와 필요한 경우

조각 모음에는 두 가지 의미가 있는 것 같습니다.

  • 조각 모음이물질의 양을 줄이는 과정입니다. 조각화는 파일 시스템이 전체 파일을 하나의 단위로 저장하기에 충분한 연속 공간을 할당할 수 없거나 할당하지 않을 때 발생합니다. 대신 내용의 일부를 다른 파일 사이의 간격에 배치합니다.

  • Windows에서 NTFS 파티션에서 기존 여유 공간을 확보하려는 경우(나중에, 특히 기존 Windows OS 외부에 Ubuntu를 이중 부팅 설치하는 동안 새 파티션을 생성하기 위해) Windows 도구를 사용해야 합니다. 모두 제거 파일이 파티션의 한쪽 끝으로 이동되어 파티션의 다른 쪽 끝에 최대한 많은 여유 공간이 남습니다. 이것도 이라고 들었습니다조각 모음.

    gparted또는 다음 과 같은 Linux 도구를 사용할 수 있습니다.조각 모음(첫 번째 문단이 아닌 앞 문단의 의미입니다.) 첫 번째는 NTFS 파티션입니다.

질문:

  1. 위의 두 "조각 모음"이 항상 함께 발생하는지 궁금합니다.

  2. 파일 시스템(예: NTFS)에 조각 모음이 필요한지 여부는 다음에 따라 다릅니다.

    • 이를 사용하는 운영 체제(예: Windows 또는 Linux) 또는
    • 파일 시스템 유형(예: NTFS) 자체입니까?
  3. 조각 모음의 다른 의미에 따라 2번의 질문에 대한 대답이 다른가요(앞서 언급한 바와 같이)? 예를 들어, 나는 다음과 같이 들었습니다.

    • Linux에서 EXT4 파티션은 파티션이 90% 이상 차지 않는 한 첫 번째 의미에서 조각 모음을 수행할 필요가 없습니다. Linux는 항상 조각 모음을 자동으로 시도하기 때문입니다.
    • NTFS 파티션의 여유 공간을 확보하기 위해 Linux 도구를 사용하면 gparted두 번째 의미에서 NTFS 파티션 조각 모음이 필요하지 않습니다. Linux가 항상 자동으로 모든 파일을 파티션의 한쪽 끝으로 최대한 많이 이동하기 때문입니까?

답변1

파일 시스템(파일, 파일 시스템 구조, 메타데이터 등), 여유 공간 또는 둘 다에 저장된 데이터 조각 모음을 수행할 수 있습니다.

아마도 누군가가 "조각 모음"이라고 말하면 데이터(첫 번째 정의)를 의미할 것입니다. 전통적으로 여유 공간 조각 모음을 수행할 때 마지막(두 번째 정의)에 배치되었습니다. 일반적으로 파티션 축소를 준비할 때만 이 작업을 수행하지만 예를 들어 많은 수의 연속 할당을 허용하기 위해(예: 일부 비디오를 편집하려는 경우) 이 작업을 수행할 수도 있습니다. 그러나 실제로는 일반적으로 파티션을 축소하는 것 외에 여유 공간을 조각 모음할 필요가 없습니다.

파티션 축소는 일반적으로 한쪽 끝에서만 수행할 수 있습니다. (전부는 아니지만 대부분의 파티션 형식[1]은 중간에 구멍을 자르는 것을 허용하지 않습니다.) 일반적으로 파일 시스템 데이터 구조는 파티션의 시작 부분을 차지하므로 축소(및 증가)는 일반적으로 끝 부분에서 수행됩니다. 이 작업을 수행하기 위해 어떤 도구(Windows 디스크 관리자, gparted 등)를 사용하더라도 충분한 여유 공간이 있어야 하며 일반적으로 데이터 이동이 필요합니다. Windows와 gparted 모두 이 작업을 수행합니다.

FS 조각 모음이 필요한지 여부는 최소한 다음과 같은 여러 요인에 따라 달라집니다.

  • 그것은 무엇을 위해 사용됩니까? 무작위로 자주 발생하지 않는 문서는 무제한의 조각화를 허용할 수 있습니다. DVR 애플리케이션은 한계를 뛰어 넘는 어떤 것도 허용할 수 없습니다. 데이터베이스와 같은 일부 항목은 실제로 생각보다 조각화에 더 관대합니다(일반적으로 순차적 읽기/쓰기가 아닌 무작위 읽기/쓰기를 수행하기 때문).
  • 어떤 유형의 드라이브입니까? SSD 조회는 거의 무료이므로 조각화가 훨씬 저렴합니다.
  • 디스크 캐싱에 사용할 수 있는 메모리 양입니다. 모든 읽기가 캐시에서 충족되면 디스크가 얼마나 조각화되어 있는지는 중요하지 않습니다. 또는 모든 쓰기를 디스크에 순서대로 보낼 수 있을 만큼 오랫동안 버퍼링할 수 있는 경우.
  • 운영 체제는 주로 캐시 차이로 인해 발생합니다.
  • 파일 시스템. 일부는 매우 조각난 파일에 대해 상당한 오버헤드를 발생시킵니다.

조각화의 주요 문제는 일반적으로 순차적 읽기/쓰기 조회가 증가한다는 것입니다.


1: 논리 디스크 관리자는 종종 이 작업을 수행합니다. 예를 들어, 희소 할당을 사용할 때 사용되지 않은 공간 중 충분히 큰 청크를 회수하려고 시도하는 것이 일반적입니다. 그러나 그들은 공간이 회수되지 않은 것처럼 파일 시스템을 가장한다는 점에 유의하십시오(그리고 파일 시스템이 공간에 쓰려고 할 때 공간을 돌려줍니다).

답변2

위키피디아의 단편적인 기사는 가치가 없습니다…

왜 그런지 이야기해 볼까요? 언제? 조각화 및 조각 모음에 대한 질문이지만 특정 FS에 대한 세부 정보는 없습니다.

...또한 자주 업데이트되는 파일(예: 로그) 또는 디렉터리(예: 다운로드 또는 /tmp)가 절대 최소값보다 더 많은 여유 공간을 확보하는 세 번째 옵션을 권장합니다.

예를 들어 대용량 다운로드(또는 느린 링크)를 위한 공간을 사전 할당합니다. 동기화 중, 전송 중(예: 카메라 또는 휴대폰에서/으로), 복사(또는 백업 또는 시스템 업데이트) 중입니다.

꽤 중요한 주제입니다.

이전 블록 근처에 추가 여유 공간 없이 읽기/쓰기 F/D를 배치하면 조각화가 가능해집니다.

성장하지 않는 F/D는 추가 여유 공간 없이 안전하게 배치할 수 있습니다. 여기에는 읽기 전용 F/D가 포함됩니다. 여기에는 해상도가 알려진 경우(예: FullHD, 4K, 8K) 압축되지 않은 단순 형식(BMP 등)도 부분적으로 포함됩니다.

F/D는 단지 축소됩니다(매우 이상하고 이상한 것입니다). 그러면 실제로 조각 모음을 해야 할 쓸모없는 간격이 생깁니다. 이는 누군가가 빠른 압축 옵션(또는 캡처 형식)을 사용하여 동일한 디렉토리에 압축할 때 발생할 수 있습니다. 이는 일부 프로그램이 F/D를 재사용하는지 여부에 따라 다릅니다.

F/D는 일괄 삭제됩니다. 부분 삭제 및 즉각적인 조각 모음 없이 파일 시스템에서 F/D를 삭제하거나 기록을 삭제할 수 있습니다. 나중에 이러한 취약점을 조각 모음하고 싶습니다.

이 단편화를 처리하는 한 가지 방법은 각 F/D에 대한 피크의 실제 크기를 추적하는 것입니다. 더 좋은 방법은 여러 숫자를 사용하는 것입니다. 피크는 쉽게 대표성을 갖지 못할 수 있기 때문입니다(중앙값에서 멀리 떨어져 있음). ). 예를 들어 전체 시스템 백업 및 사무 작업이 있습니다.

또 다른 접근 방식은 성장률을 추적하는 것입니다. 이는 특히 HDD의 경우에 해당됩니다. 가장 빠른 성장을 위해서는 디스크에서 가장 빠른 위치가 필요합니다. 그러나 속도만이 유일한 요소는 아닙니다. 미션 크리티컬 F/D, 대규모 계정, 일부 긴급 우선순위, 킬 스위치에 대한 추가 옵션 또는 관리자가 시스템에 데이터 없이 성장을 수동으로 예측하는 경우 등이 있습니다.

가장 좋은 접근 방식은 관련 기간 동안 성장에 대한 실제 데이터를 유지하고 다음에 어떤 성장이 일어날지 어떻게든 예측한 다음(성장에 대한 예측 데이터) 예측 값의 격차 크기(예측 창 이후)를 추측하는 것입니다. 더 이상 관련이 없습니다).

요약:

축소만 - 보기가 조각 모음되었습니다.

절대 커지지도, 줄어들지도 않아 -...

성장과 축소 – 공백과 조각 모음을 관찰하세요.

이 위키에서 다루지 않음: 디스크 파티셔닝으로 인한 조각화

관련 정보