15장_solaris3

Download Report

Transcript 15장_solaris3

솔라리스10
Chapter 15 파일 시스템 관리
Solaris 3. 파일 시스템 체크 (fsck)
Solaris 3. 파일 시스템 체크 ( fsck )
• 파일 시스템 체크 과정이 정상적이어야 파일 시
스템을 마운트 해서 사용할 수 있다.
• Fsck 유틸리티의 2가지 모드
– Non-Interactive Mode : 부팅 과정 중에 실행되는 모
드이다. 이 과정이 성공해야 파일 시스템을 마운트 할
수 있다.
– Interactive Mode : 부팅과정을 성공하지 못했을 경우
싱글 유저 모드로 진입한다. 이때 수동으로 해줘야 하
는 모드이다.
fsck 단계별 과정
Fsck 작업
설명
Phase 1 - Check Blocks and Sizes
파일의 inode 를 검사하는 단계. 데이터
블록, 파일 사이즈, 링크 카운트를 검사
한다.
루트 파일 시스템 이하의 모든 디렉터리
구조를 검사한다.
Phase 2 - Check Pathnames
디렉터리 구조를 검사하여 문제가 있으
면 복구해준다.
Phase 3b - Verify Shadows/ACLs
파일 퍼미션인 ACL의 무결성 여부를 검
사한다.
Phase 4 - Check Reference Counts 파일 시스템의 슈퍼블럭 정보의 무결성
을 검사한다. 이상이 있으면 복구해 준다
.
Phase 5 - Check Cylinder Groups
실린더 그룹에 할당된 데이터 블록과 fre
e 블록의 정보를 검사한다. 이상이 있으
면 복구해 준다.
Phase 3a - Check Connectivity
• Non-Interactive Mode
# fsck -o f,p /dev/rdsk/c0d0s0
/dev/dsk/c0t1d0s0: /dev/dsk/c0t1d0s0 IS CURRENTLY MOUNTED READ/WRITE.
/dev/dsk/c0t1d0s0: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
다음 파일 시스템에 예상치 않은 불일치가 있습니다: /dev/rdsk/c0t1d0s0 (/data)
• Interactive Mode
# fsck -y /dev/rdsk/c0t0d0s0
/dev/dsk/c0t0d0s0 IS CURRENTLY MOUNTED READ/WRITE.
CONTINUE? yes
** /dev/dsk/c0t0d0s0
** Currently Mounted on /
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3a - Check Connectivity
** Phase 3b - Verify Shadows/ACLs
** Phase 4 - Check Reference Counts
UNREF FILE I=1799 OWNER=root MODE=100644
SIZE=1162 MTIME=Sep 27 21:46 2008
RECONNECT? yes
Primary superblock이 깨졌을 경우 복구
• Superblock이 깨졌을 경우 백업 superblock 으
로 복구할 수 있다.
• 시나리오
– 깨진 superblock은 마운트 되지 않는다.
– fsck 작업을 해줘야 한다.
– fsck 작업을 해줘도 마운트되지 않는다. backup
superblock으로 primary superblock 정보를 복구해
줘야 한다.
복구 절차
# mount /dev/dsk/c0d1s0 /test1
# cp /etc/*.conf /test1
# umount /test1
# dd if=/dev/zero of=/dev/rdsk/c0d1s0 bs=512 count=33
33+0 레코드 입력
33+0 레코드 출력
# mount /dev/dsk/c0d1s0 /test1
mount: /dev/dsk/c0d1s0이(가) 이 fstype이 아닙니다.
# fsck -y /dev/rdsk/c0d1s0
** /dev/rdsk/c0d1s0
BAD SUPERBLOCK AT BLOCK 16: MAGIC NUMBER WRONG
LOOK FOR ALTERNATE SUPERBLOCKS WITH MKFS? yes
FOUND ALTERNATE SUPERBLOCK 80032 WITH MKFS
USE ALTERNATE SUPERBLOCK? yes
FOUND ALTERNATE SUPERBLOCK AT 80032 USING MKFS
If filesystem was created with manually-specified geometry, using
auto-discovered superblock may result in irrecoverable damage to
filesystem and user data.
CANCEL FILESYSTEM CHECK? yes
Please verify that the indicated block contains a proper
superblock for the filesystem (see fsdb(1M)).
FSCK was running in YES mode. If you wish to run in that mode using
the alternate superblock, run `fsck -y -o b=80032 /dev/rdsk/c0d1s0'.
#
# newfs -Nv /dev/rdsk/c0d1s0
mkfs -F ufs -o N /dev/rdsk/c0d1s0 2097152 -1 -1 8192 1024 32 6 60 2048 t
0 -1 8 7 n
경고: 마지막 실린더의 4096 섹터가 할당되지 않았습니다
/dev/rdsk/c0d1s1:
48 트랙, 128 섹터의 342 실린더에 있는 2097152 섹터
1024.0MB (27 실린더 그룹) (13 c/g, 39.00MB/g, 18624 i/g)
수퍼 블록 백업 (fsck -F ufs -o b=#의 경우):
80032, 160032, 240032, 320032, 400032, 480032, 560032, 640032, 720032,
1360032, 1440032, 1520032, 1600032, 1680032, 1760032, 1840032,
1920032,
2000032, 2080032
# fsck -y -o b=80032 /dev/rdsk/c0d1s0
Alternate super block location: 80032.
**
**
**
**
**
**
**
**
/dev/rdsk/c0d1s0
Last Mounted on
Phase 1 - Check Blocks and Sizes
Phase 2 - Check Pathnames
Phase 3a - Check Connectivity
Phase 3b - Verify Shadows/ACLs
Phase 4 - Check Reference Counts
Phase 5 - Check Cylinder Groups
CORRECT BAD CG SUMMARIES FOR CG 0? yes
CORRECTED SUPERBLOCK SUMMARIES FOR CG 0
CORRECTED SUMMARIES FOR CG 0
FRAG BITMAP WRONG
FIX? yes
CORRECT GLOBAL SUMMARY
SALVAGE? yes
UPDATE STANDARD SUPERBLOCK? yes
27 files, 45 used, 985226 free (2 frags, 123153 blocks, 0.0% fragmentation)
***** FILE SYSTEM WAS MODIFIED *****
#
# mount /dev/dsk/c0d1s0 /test1
#
#
# ls /test1
aggregation.conf ima.conf
syslog.conf
coreadm.conf
inetd.conf
vold.conf
dacf.conf
logadm.conf
dumpadm.conf
lost+found/
esd.conf
mpapi.conf
hba.conf
named.conf
#
nfssec.conf
resolv.conf
nscd.conf
rmmount.conf
nsswitch.conf
pam.conf
power.conf
printers.conf
rndc.conf
rpld.conf
scrollkeeper.conf
sdp.conf