Linux 시스템에서 조각 모음을 수행할 필요가 없는 이유는 무엇입니까? ext2/ext3 파일 시스템을 사용하기 때문입니까, 아니면 Linux이기 때문입니까?
이는 두 시스템 모두에서 액세스할 수 있는 이중 부팅 시스템(W7/Ubuntu)과 공통 파티션(NTFS)을 가지고 있기 때문에 관련이 있습니다. Linux에서 이 파티션을 사용하면 조각화됩니까?
또 다른 문제는 Truecrypt 컨테이너입니다. 또한 Linux와 Windows를 사용하여 액세스하는데 FAT32입니다. Linux가 실행되기 때문에 조각화됩니까?
답변1
에 관한 기사입니다.괴짜하는 방법ext2/ext3이 디스크에 파일을 할당하는 방법에 대해 설명합니다. "라고 묻는 기사도 있습니다.조각 모음이 정말로 필요합니까?? "
FAT가 단편화되는 이유:
"FAT 파일 시스템에 파일을 저장하면 가능한 한 디스크 시작 부분에 가깝게 [파일이 저장됩니다]. 두 번째 파일을 저장하면 첫 번째 파일 다음에 [파일이 저장됩니다] - 그래서 파일이 커지면 항상 조각화되고 근처에 저장할 공간이 없습니다."
- 괴짜하는 방법
그리고Wikipedia에는 FAT 조각화에 대한 자세한 정보가 있습니다..
EXT2, 3, 4에서 파일을 할당하는 방법에 대해:
"ext2, ext3 및 ext4 파일 시스템 [...]은 보다 스마트한 방식으로 파일을 할당합니다. 여러 파일을 하드 드라이브에 서로 가깝게 배치하는 대신 Linux 파일 시스템은 서로 다른 파일을 디스크 전체에 분산시킵니다. 파일 사이에 여유 공간이 있습니다."
- 괴짜하는 방법
(그리고 더 많은 정보Wikipedia의 ext3 조각 모음)
"최신 Linux 파일 시스템은 인접한 섹터에 저장할 수 없는 경우에도 파일의 모든 블록을 함께 유지하여 조각화를 최소한으로 유지합니다. ext3와 같은 일부 파일 시스템은 다른 Free 블록에 가장 가까운 블록을 효율적으로 할당할 수 있습니다. Linux 시스템의 조각화에 대해 걱정하지 마세요.”
-TLDP
답변2
파일 시스템이 무엇이든 조각화는 항상 문제입니다. 하지만 Ext3/Ext2에서는 대부분의 관리자가 문제가 없는 것처럼 정상적으로 작동할 수 있을 정도로 문제를 최소화했습니다. 이는 효율적인 I/O 스케줄러와 증가를 수용하기 위해 각 파일 뒤에 후행 공간을 남겨두는 파일 시스템을 사용하여 최소화할 수 있습니다. 게다가 추가 조각이 서로 가깝게 저장되므로 조각이 존재하더라도 효과가 심각하게 감소합니다. Ext4의 범위 전환은 조각화를 더욱 줄이는 데에도 도움이 됩니다.
조각화는 여전히 존재하며, ext2에는 오프라인 조각 모음 도구가 있고, ext4에는 온라인 조각 모음 도구가 있으며, btrfs(질문과 관련이 있기 때문에)에는 이미 온라인 조각 모음 도구가 있습니다. ext3을 사용하고 있다면 유일한 실제 옵션은 ext4로 변환하거나( 를 통해 tune2fs
) shake
.
파일 시스템에서 발생하는 I/O 유형에 따라 자동 수준에서도 여전히 문제가 될 수 있습니다. 이것이 바로 온라인 도구가 처음에 유용하다고 간주되는 이유입니다.
FAT32의 문제점은 하나의 파일만 조작할 때는 조각화가 발생하지 않지만 파일에 쓸 때 조각화가 발생합니다. 질문에 직접 대답하자면 조각화는 파일 시스템 설계의 한 측면이므로 FAT32 파일 시스템에 쓸 때마다 조각화가 발생할 가능성이 있습니다.
답변3
질문에 하나씩 답해 보세요.
Linux 시스템에서 조각 모음을 수행할 필요가 없는 이유는 무엇입니까? ext2/ext3 파일 시스템을 사용하기 때문입니까, 아니면 Linux이기 때문입니까?
ext2/3/4는 파일과 폴더를 다르게 처리하기 때문에 조각화되는 일이 거의 없습니다. 다른 사람들이 이미 답변했습니다. 자세한 내용을 읽어보세요.여기
이는 이중 부팅 시스템(W7/Ubuntu)과 두 시스템 모두에서 액세스할 수 있는 공통 파티션(NTFS)을 가지고 있기 때문에 관련이 있습니다. Linux에서 이 파티션을 사용하면 조각화됩니까?
예, 조각화될 수 있습니다. Windows, Linux 또는 기타 다른 장치가 액세스하는지 여부는 중요하지 않습니다. 중요한 것은 각 파일 시스템이 파일 크기를 처리하는 방법, 모든 블록을 저장하는 방법, 각 파일 사이에 빈 공간을 남겨두는지 여부입니다.
또 다른 문제는 Truecrypt 컨테이너입니다. 또한 Linux와 Windows를 사용하여 액세스하는데 FAT32입니다. Linux가 실행되기 때문에 조각화됩니까?
모든 실제적인 목적을 위해 Truecrypt 컨테이너는 파일입니다. TrueCrypt로 컨테이너를 생성하면 원하는 크기의 파일이 생성됩니다. 운영 체제에서는 다른 파일처럼 보입니다. 복사본 등을 만들면 해당 복사본이 파쇄되어 보관될 수도 있습니다.
그러나 동일한 컨테이너의 복사본을 여러 개 갖는 것은 결코 좋은 일이 아니며, 이로 인해 컨테이너의 보안이 약화될 수 있다는 점을 명심하세요. 항상 새 컨테이너를 만드세요.
파일을 저장, 삭제, 복사, 이동 등을 할 때~에컨테이너는 운영 체제가 이를 인식하지 못하며 크기를 변경하지 않고 다른 파일과 동일하게 열고 편집하고 저장합니다.
truecrypt의 조각화 보안이 걱정된다면 SSD와 함께 truecrypt를 사용해 보세요. SSD는 내부 메모리의 마모와 손상의 균형을 맞추려고 하기 때문에 컨테이너를 복제하는 것과 동일한 효과를 얻을 가능성이 높습니다.
답변4
결국 운영 체제 내의 파일 시스템 드라이버에 따라 다릅니다.
ext2와 FAT 파일 시스템은 모두 디스크의 어떤 블록이 어떤 파일에 속하는지 기록하는 방법입니다. 파일의 모든 블록이 연속되지 않은 경우 파일을 조각화되었다고 합니다. 그러나 조각화가 해당 블록이 기록되는 방식이 아니라 파일을 쓸 때의 블록 할당 전략에 의해 발생한다는 것은 분명합니다.
정말 중요한 것은 파일 시스템 드라이버가 얼마나 발전할 수 있는지입니다. 드라이버가 쓸 블록이 10개 남았다는 것을 알고 있으면 인접한 여유 공간을 선택하고 향후 조각화를 피할 수 있습니다. 이는 운영 체제에 따른 드라이버 아키텍처에 따라 다릅니다. 그러나 FAT와 ext2에서도 똑같은 여유 공간 검색을 수행할 수 있습니다.
사실 ext2와 FAT는 생각만큼 다르지 않습니다. 나는 기존 FAT 코드 위에 부트로더의 ext2 부분을 작성했는데, 여기에는 100줄 미만의 추가 코드가 필요했습니다.