swap 추가, fsck
처음 OS를 install 할 때 swap 공간을 memory의 2배 정도의 크기로 잡는다. 하지만 swap의 크기를 Automatically layout으로 잡거나 memory의 size를 몰라 임의로 잡았을 경우 swap을 추가할 필요가 있다. Partition을 처음 나누고 나서 system을 사용하는 도중에는 변경이 불가능 하므로 새로 install 해야 하지만 swap의 경우는 disk에 남는 용량이 있다면 추가를 할 수 있다. System의 swap 공간이 부족할 때에는 남는 file-system의 공간을 이용하여 추가하게 되는데 df –k 명령을 이용하여 여유 공간을 확인한다. Swap을 추가하는 것은 그리 권장할 만한 사항이 못 되므로 처음 partition을 나눌 때 충분한 공간을 만들어 주는 것이 좋다.
현재 사용하고 있는 swap을 확인하려면 swap –l 명령으로 확인한다. 현재 sun02는 많은 작업이 이루어지고 있지 않아서 swap 공간이 충분한 것을 볼 수 있다. 하지만 사용가능 공간이 여유가 없을 경우에는 다음과 같이 swap을 추가해야 한다.
먼저 swap을 추가할 공간이 있는지 df –k 명령으로 확인한다. 현재 c0t1d0s7에 가용한 공간이 17G 정도 있는 것을 확인할 수 있다. Swap을 추가할 때에는 disk가 full 되지 않도록 여유공간이 충분히 확보된 곳을 선택하여야 한다. / 에 무리하게 추가하다가 file-system full이 발생되면 심각한 문제를 일으킬 수 있다.
/empty에 충분한 여유공간이 있는 것이 확인 되었으므로 이곳에 swap을 추가 한다.
/empty에 mkfile 명령을 이용하여 추가로 필요한 swap의 크기만큼 file을 생성 한다. 지금은 2g를 추가하는 것을 예로 들었다.
/empty/swap_add 라는 file을 생성하였으면 그 공간을 swap으로 추가하여야
현재 system의 swap을 확인하려면 앞에서 본 것과 같이 swap –l 명령을 이용 하여 확인할 수 있다. 2g의 swap이 추가된 것을 확인할 수 있다.
하지만 이와 같이 추가하는 것은 일시적으로 추가하는 것이고 rebooting 되더 swap 추가 1. swap 추가 방법 1). Swap 추가 방법 Swap 추가방법 하지만 이와 같이 추가하는 것은 일시적으로 추가하는 것이고 rebooting 되더 라도 계속해서 사용하고자 한다면 /etc/vfstab file에 기록되어야 한다.
추가한 swap을 지우려면 swap –d 를 이용하여 삭제하며 역시 절대경로명을 적어주어야 한다. 삭제 후 swap -l 로 확인하면 삭제된 것을 볼 수 있다.
fsck 2. fsck 1). Fsck (file system check) Fsck란? 부적절한 시스템의 중지(shutdown을 이용하지 않고 시스템을 강제 종료하거나 정전에 의한 시스템의 예기치 않은 정지등의 이유)나 하드웨어상의 문제 발생시 파일시스템은 손상을 입게 된다. 이러한 경우 다시 시스템을 부팅하여 사용하기 이전에 "fsck" 명령을 사용하여 시스템상의 모든 파일시스템을 점검하여 조치를 취하여야 한다. fsck 명령어는 다음과 같은 사항을 점검한다. fsck가 점검하는 부분이, 파일 시스템 전체를 점검하기 때문에 fsck는 각 부분의 점검 (super block, i-node, indirect block, data block. free block 등)을 단계별로 나누어서 점검하게 된다. 비정상적인 시스템의 종료로 인한 정상적인 파일시스템의 관리가 진행되지 못하였을 때는 이의 복구를 우선하여야 한다. 이러한 일련의 점검은 그 효율을 증대하기 위하여 부분별로 나누어져 각 단계별로 진행된다.
fsck utility가 검사하는 ufs file system 항목. 1). Fsck (file system check) Fsck가 하는 일들 Data의 모순성 검사 fsck utility가 검사하는 ufs file system 항목. - super block : file system의 모든 요약 정보 포함. 가장 일반적인 문제 발생. - inode : inode 일치 여부 검사 - indirect block : inode에 의해 소유. 이 block의 문제점은 inode에 영향을 준다. - data block : inode는 직/간접적으로 3종류의 data block을 참조한다. 평범한 data block, symbolic link data block, directory data block
- phase1 : check blocks and sizes fsck 2. fsck 1). Fsck (file system check) Fsck의 단계 2) FSCK Utility - phase1 : check blocks and sizes inode 검사단계->파일유형 이상유무, disk block 주소, size, link count 검사. - phase2 : check pathnames 파일시스템의 directory 구조 검사단계->root 이하의 모든 directory에 대해 각 파일 이름과 inode link에 대한 이상유무 검사. - phase3 : check connectivity 파일시스템의 directory 검사->directory 구조가 잘못되어 파일이름과 inode link의 directory entry가 없을 경우 복구. - phase4 : check reference counts superblock 내의 할당된 file 수와 directory 검사, file수를 비교 후 복구. - phase5 : check cyl groups consistency를 위해 사용된 inode map과 free block 검사.
fsck 2. fsck 1). Super-block 복구 Super-block 복구방법 Super-block 복구는backup super-blocks 을 이용하여 복구할 수 있다. Solaris에서 disk의 새로운 partition을 만들고 mount하여 사용하기 위해 newfs 명령으로 새로운 file-system을 만들어 사용하는데 여기서 보여지는 block의 값으로 super-block 복구를 할 수 있다. backup super-block 의 정보는 [ newfs -Nv device주소 ]로 알 수 있다. 예) 먼저 잘못된 super-block 의 device 주소를 umount한다. sun02[/]# umount /dev/dsk/c0t2d0s3
fsck 1. fsck 1). Super-block 복구 Super-block 복구방법 sun02[/]# newfs -Nv /dev/dsk/c0t2d0s4 mkfs -F ufs -o N /dev/rdsk/c0t2d0s4 4096818 171 6 8192 1024 32 3 90 4096 t 0 -1 8 16 /dev/rdsk/c0t2d0s4: 4096818 트랙의 3993 실린더에 있는 6 섹터, 171 섹터 1084178841 실린더 그룹의 0.0MB(32 c/g, 16.03MB/g, 3968 i/g) 수퍼-블록 백업은 (fsck -F ufs -o b=#를 위한) 다음에: 32, 33040, 66048, 99056, 132064, 165072, 198080, 231088, 262688, 295696, 328704, 361712, 394720, 427728, 460736, 493744, 525344, 558352, 591360, 624368, 657376, 690384, 723392, 756400, 788000, 821008, 854016, 887024, 920032, 953040, 986048, 1019056, 1050656, 1083664, 1116672, 1149680,
sun02[/]# fsck -F ufs -o b=32 /dev/dsk/c0t2d0s3 1). Super-block 복구 Super-block 복구방법 sun02[/]# fsck -F ufs -o b=32 /dev/dsk/c0t2d0s3 b=32 여기에서 32는 backup super-block을 의미한다. Alternate super block location: 32. ** /dev/dsk/c0t2d0s3 ** Last Mounted on ** Phase 1 - Check Blocks and Sizes 21008 files, 1020241 used, 964150 free (30766 frags, 116673 blocks, 1.5% fragmentation) ***** FILE SYSTEM WAS MODIFIED ***** super-block 복구가 끝났으면 다시 mount하여 test한다.