답변:
fsck.ext2를 ext2 ext3 또는 ext4 파일 시스템에서 이와 같이 마운트하더라도 안전하게 실행할 수 있습니다
sudo fsck.ext2 -fn /dev/sdXY
드라이브가 마운트되면 많은 오류가 발생하지만 -n 인수는 드라이브를 건드리지 않도록 지시합니다.
$ sudo fsck.ext2 -fn /dev/sda1
e2fsck 1.42 (29-Nov-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Ubuntu_Rescue: 291595/1222992 files (0.2% non-contiguous), 1927790/4882432 blocks
sudo tune2fs -C 16000 /dev/sda1
하고 다시 부팅하십시오.
최신 파일 시스템 제품군은 파일을 할당 할 때 균형과 연속성을 고려합니다. ext3 및 ext4 밸런싱에서는 일반적으로 저널 항목을 순서대로 적용하고, 특히 ext4에서 파일 시스템 범위를 사전 할당하여 연속 블록을 늘려 관리합니다. 특히 시스템이 몇 개의 파일에 반복적으로 액세스하는 경우 20 % 미만의 조각화 수준을 추적하는 것은 가치가 없을 수 있습니다. 단일 디스크 시스템의 읽기 속도를 높이기 위해 다음과 같은 전술을 따르는 것이 좋습니다.
램 증가 : 파일 시스템 캐시가 증가합니다
블록 크기 증가 : 1k에서 4k 블록 크기로 이동하면 블록 크기보다 크거나 큰 파일에 대한 읽기 성능이 향상됩니다.
pedantic이라면 큰 파일과 작은 파일을 블록 크기에 따라 파티션으로 구성 할 수 있습니다. 사진, 비디오 및 소스 코드를 별도의 디렉토리에 저장 한 경우에만이 작업을 수행 할 수 있습니다
hdparm 및 / 또는 랩톱 모드 유틸리티를 사용하여 미리 읽기 설정을 높이십시오
tar와 같은 선형 방식으로 파일 시스템 백업 및 복원
디스크가 여러 개이고 RAID 스트라이프 및 / 또는 LVM을 사용하는 경우 스트라이프 크기와 같은 다른 요소를 고려해야합니다.
예, 특정 fsck
호출이 있습니다 (루트 또는 sudo로).
$ fsck /dev/sdXY
X 및 Y를 사례에 맞는 올바른 매개 변수로 교체하십시오 (예 :) /dev/sda1
.
마운트 된 파티션에서 실행하지 마십시오! 파일 시스템이 심각하게 손상 될 수 있습니다.
Linux 및 조각 모음에 대한 자세한 내용은 여기에서 내 대답을 참조 하십시오 .
fsck를 구체적으로 실행할 필요는 없지만 드라이브의 조각화를 확인하려면 다음 스크립트 ( 여기 에서 가져옴 ) 를 사용 하십시오 .
#!/usr/bin/perl -w
#this script search for frag on a fs
use strict;
#number of files
my $files = 0;
#number of fragment
my $fragments = 0;
#number of fragmented files
my $fragfiles = 0;
#search fs for all file
open (FILES, '-|', "find '$ARGV[0]' -xdev -type f -print0");
$/ = "\0";
while (defined (my $file = <FILES>)) {
open (FRAG, "-|", "filefrag", $file);
my $res = <FRAG>;
if ($res =~ m/.*:\s+(\d+) extents? found/) {
my $fragment = $1;
$fragments += $fragment;
if ($fragment > 1) {
$fragfiles++;
}
$files++;
} else {
print ("$res : not understand for $file.\n");
}
close (FRAG);
}
close (FILES);
print ( $fragfiles / $files * 100 . "% non contiguous files, " . $fragments / $files . " average fragments.\n");
그런 다음 해당 디렉토리 (또는 마운트 지점)에서 실행할 수 있습니다.
$ frag_check.pl $HOME/
1.32410691664555% non contiguous files, 1.05380668862427 average fragments.
e2defrag와 같은 도구를 사용하여이 정보를 얻을 수 있습니다.
Linux 파일 시스템의 특성상 조각 모음은 일반적으로 필요하지 않습니다.
e4defrag -c
작동하지 않았습니다.
-c
마지막 인수로 옵션 뒤에 Ext3 또는 Ext4 moint 지점을 가리 킵니다 . 그리고 ... "작동하지 않았다"? 당신이 얻는 오류는 무엇입니까?