FreeBSD 10.1을 실행하는 x86 기반 컴퓨터가 있습니다. Red Hat Linux 및 기타 운영 체제로 이중 부팅했습니다. 이제 FreeBSD(10.1)의 UFS 파티션 "A"를 Linux의 ext2 기반 파티션으로 마이그레이션하고 있습니다. 저는 파티션 "B"를 임시 저장소로 사용하고 있습니다.
다음 절차를 따르고 있습니다.
- FreeBSD에서는 "B"를 ext2로 포맷하고 rsync를 사용하여 "A"에서 "B"로 데이터를 이동했습니다. 상자를 다시 시작하십시오.
- Box는 Linux와 함께 제공됩니다. 이제 Linux에서 "A"를 ext2로 형식화하고 B를 ext2로 마운트하고 rsync를 사용하여 "B"에서 "A"로 데이터를 이동합니다.
문제: Linux의 "B" 설치가 여러 번 실패하고 fsck를 실행할 것을 권장합니다. fsck
비대화형 모드로 실행 하면 실패하고 수동으로 실행할 것을 권장합니다. 상자가 원격이기 때문에 "fsck"를 수동으로 실행할 수 없습니다. 둘째, fsck
데이터 손실이 발생할까 걱정됩니다 .
문의:
- Linux에서 fschk를 실행하라고 요청하는 이유는 무엇입니까? 내가 뭘 잘못했나요?
fsck
파티션에서 실행하는 것이 얼마나 안전합니까? 작업 도중 파일이 삭제되면 마이박스가 깔끔하게 나오지 않습니다.fsck
디버깅에 사용할 수 있는 모든 작업을 기록할 수 있는 방법이 있나요?
FreeBSD에서 수행된 작업:
#format raw partition as ext2
mkfs.ext2 /dev/mfid0s1f
#mount newly formated partition as backup
mkdir -p /backup
mount /dev/mfid0s1f /backup
#move data for UFS partition mounted as 'data' to ext2 partition
rsync -a /data/* /backup
#reboot the box
reboot
Linux에서 수행되는 작업(rc.local을 통해):
case 1: I try to mount 'backup' without fsck
mkdir -p /backup
mount /dev/sda8 /backup
mount fail with suggestion to run fsck.
case 2: I add non-interective fsck
mkdir -p /backup
e2fsck -p /dev/sda8
fail with : /dev/sda8: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY
답변1
운영 체제에서 이를 실행해야 하는 이유는 무엇입니까
fsck
?
과거 어느 시점에는 파일 시스템이 완전히 마운트 해제되지 않았습니다. 시스템에서는 fsck
불일치를 정리하기 위해 실행해야 합니다.
내가 뭘 잘못했나요? rsync를 사용하여 데이터를 이동합니다.
개념적으로, 나는 당신이 달리고 있어야 한다는 점을 제외하고는 당신이 잘못된 일을 하고 있다고 생각하지 않습니다 fsck
(위 참조). 여기서 명령을 보는 것이 좋을 것입니다 rsync
.
fsck를 실행하는 것이 얼마나 안전합니까? 파일이 삭제되면 내 상자가 깨끗해지지 않습니다
파일 시스템이 일관성이 없는 상태입니다. 파일 시스템이 깨끗한 것으로 표시되지 않았을 수도 있지만 그렇지 않은 경우에는 모든 것이 정상입니다. 다른 극단적인 경우에는 전체 파일 시스템이 손상되어 이론적으로 모든 것을 잃을 수도 있습니다. 대부분의 경우 fsck
삭제되었지만 아직 파일 시스템에서 제거되지 않은 파일만 제거됩니다.
fsck에서 수행된 모든 작업을 기록하는 방법이 있습니까?
몇 가지 옵션이 있습니다. 하나는 내부 명령을 사용하는 것입니다시운전패턴( man fsck
및 참조 man e2fsck
):
fsck -n /dev/mfid0p7
-p
복구에 만족할 때까지 자동 복구 플래그를 사용하지 않는 것이 좋습니다 .
답변2
a) 운영 체제에서 fsck를 실행해야 하는 이유는 무엇입니까? 내가 뭘 잘못했나요?
fsck는 "파일 시스템 일관성 검사"를 나타냅니다.
대부분의 시스템에서 특정 조건이 감지되면 부팅 시 fsck가 실행됩니다. 일반적으로 이러한 조건은 다음과 같습니다.
- 파일 시스템이 "더티"로 표시됩니다. 쓰기 상태가 쓰기 예약된 데이터와 일치하지 않습니다.
- 파일 시스템이 확인되지 않고 특정 횟수만큼 마운트되었습니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~
b) fsck를 실행하는 것이 안전한가요? 파일이 삭제되면 컴퓨터가 제대로 부팅되지 않습니다.
글쎄요, 잘못된 inode나 블록을 삭제하라는 메시지가 표시될 때 yes를 입력하면 데이터가 손실됩니다. 이것이 이 -p
옵션을 사용하는 것이 이상적이지 않은 이유입니다.
마운트된 파일 시스템에서 fsck를 실행하지 마십시오! 현재 마운트된 파일 시스템에서 fsck를 실행하면 (기껏해야) 오류 메시지가 표시되고 (최악의 경우) 파일 시스템 데이터가 손상됩니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~
c) fsck에서 수행된 모든 작업을 기록하는 방법이 있습니까?
fsck
부팅 시간 확인 을 위해 /var/log/boot.log
어쩌면 귀하의 OS에도 /var/log/fsck
모든 Linux 팬이 있는 것은 아닐 수도 있습니다.