반응형
6.1 File system concept
6.1.1 File system types
a. HFS (High performance File System)
HP-UX를 위한 Unix File System
HP-UX 11.X 이전 시스템에서의 기본 file system type
b. JFS (Journaled File System)
HP-UX 11.X 부터 시스템 기본 file system type
- Base JFS : 빠른 복구 기능, 10.01 이후부터 O/S에 내장됨.
- Online JFS : 별도 구매 제품
Online defragmentation and reorganization 가능
Online expansion and contraction of file system size 가능
Online backup 가능
c. NFS(Network File System)
d. CDFS(CD-ROM File System)
6.1.2 File system 구조
User data와 Metadata로 구성됨.
n User data
실제 사용자 데이터 파일
n Metadata
▷ Superblock
- File system에 대한 일반적인 정보를 가진다. 즉 file system type, 크기, 상태(status) , 그 밖의 metadata structure에 대한 pointer 등
- Superblock은 중요한 정보를 담고 있기 때문에 여러 복사본을 유지하고 있다.
▷ Inode
- 파일의 정보, type, size, permissions, owner, group 등
- 각각의 inode는 unique number(inode number)가 있어 그 number
로 인식된다.
▷ Directories
- 파일 이름과 inode number 사이의 mapping 정보를 가지고 있다.
6.1.3 Hard Link vs Symbolic link
n Hard Link
: Source file과 link된 파일이 서로 같은 inode number를 가진다.
n Symbolic link
- Source file과 link된 파일이 같은 data block을 참조하지만, 서로 다른
inode number를 가진다.
- 한File system과 다른 file system 사이에 link을 구성할 수 있다.
- Directory에 대해서도 link를 구성할 수 있다.
6.1.4 HFS overview
n
HFS구조
HFS구조
n HFS Block and fragments
▷ Block
- Block은 한번에 데이터를 읽고/쓰는 단위
- 4K,8K,16K,32K,64K의 단위로 설정가능, 기본은 8KB.
▷ Fragments
- 파일에 할당할 수 있는 가장 작은 단위
- 1 block , 1/2 block, 1/4 block, 1/8 block 의 단위로 설정 가능,
기본단위는 1KB
- 파일의 끝 부분에만 할당가능. 즉 파일 생성시 먼저 block을 할당
후 나머지 부분에 한해 fragments를 할당한다.
▷ Block 및 fragments 모두file system 생성 시 size를 결정할 수 있다.
# newfs –F HFS –b 8192 –f 4096 /dev/vg01/rlvol1
ð block size는 8KB, fragments size는 block size의 1/2인 4KB
로 설정함.
6.1.5 Vxfs Overview
n
Vxfs 구조
Vxfs 구조
n Vxfs block and extent
▷ Block
- file에 할당할 수 있는 가장 작은 단위
- 크기는 기본적으로는 1KB이며, 이 값이 가장 적합하다.
▷ Extent
- 여러 개의 block의 연속적인 그룹(contiguous group)
- 파일 생성 시 extent가 할당된다.
- Block이 연속적이기 때문에 파일 I/O가 빠르다.
6.1.6 HFS vx Vxfs
구 분 |
HFS |
Online JFS (=vxfs) |
Performance |
Fast |
very fast |
Recovery |
fast (size에 따라 비례) |
very fast (size와 무관) |
Reorganization |
Not supported |
supported |
Defragmentation |
Not supported |
Supported |
Online resizing |
Not supported |
Supported |
Contraction |
Not supported |
Supported |
Online backup |
Not supported |
Supported |
Management |
easy |
Some operation is required
(defragmentation 등) |
Kernel file system |
supported |
Not supported |
Inode management |
Static at creation time |
Dynamic |
기 타 |
O/S base |
별도 구매 제품 |
6.2 File system creation
① File system 생성
# newfs –F HFS –b 4096 –f 2048 –o largefiles –i 4096 –m 5 /dev/vg01/rlvol1
ð Type은 HFS, block size는 4K, fragment size는 2K
ð Largefiles 을 enable시켜서 2GB이상의 file 생성 가능
ð Inode 당 bytes의 수는 기본 6144에서 4096byte로 설정. 즉 inode
수가 기본 설정값 보다 많이 생성된다.
ð Minfree 의 percentage를 기본 10% 에서 5%로 줄임.
# newfs –F vxfs –o largefiles /dev/vg01/rlvol2
ð Type은 vxfs이고 largefiles을 enable 시켜서 2GB이상 file 생성 가능
ð Vxfs는 “-o largefiles”를 제외한 나머지 option은 기본값을 사용하는
것이 좋다.
② Mount 할 directory 생성
# mkdir /data1
③ Mount 시키기
# mount /dev/vg01/lvol1 /data1
# mount –a
ð Fstab에 등록된 모든 entry를 mount 시킨다.
④ Umount 시키기
# fuser –us /data1
ð “data1” file system을 사용하는 모든 user id 및 pid를 보여준다.
# fuser –kuc /data1
ð file system 를 사용하는 user id 및 pid를 보여주고 kill 로 해당 프로
세스를 죽인다.
# umount /data1
⑤ Fstab에 등록
시스템이 start-up 시 fstab의 entry를 읽어 자동으로 각각의file system을
해당 directory에 mount 해 준다.
# vi /etc/fstab
▷ Block : mount 될 block device file
▷ Directory : mount point
▷ Type : can be one of
- File system type: cdfs, hfs, nfs, vxfs, lofs
- Swap
- Swapfs
- Dump
- Ignore
▷ Options : 각각의 type에 대한 options
▷ Backup-frequency : 현재는 사용 용도 없음.
▷ Pass-number : 시스템 부팅 시 file system을 점검하는(fsck) 순서
- “0” : fsck 가 무시된다.
- “1” : root file system
- “2~” : 그 밖의 file system
[참조] CDFS (CD-ROM File System)
n HP cdrom 사용하기
① CDROM device 확인
# ioscan –fnkC disk
② Mount 시키기
# mount /dev/dsk/c0t2d0 /SD_CDROM
n Non-HP cdrom 사용하기
Non-HP 용 cdrom은 대부분 PC CD-ROM 용으로 file system type이 여러 가지 이다. 이것들은 대부분 대문자 및 semicolon을 포함하고 있어 mount 시 특별한 option 이 필요하다.
# mount –F cdfs –o cdcase /dev/dsk/c0t2d0 /SD_CDROM
[참조] PFS(Portable File System)
Non-HP CDROM 사용 시 유용한 정보
n 개요
Non-HP 용 CD-ROM에 있는 파일 이름이 대문자로 보이거나 파일 이름
중간에 ";"이 들어 있는 것을 발견할 때가 있다. 이럴 때 다음과 같이 PFS
명령을 이용하면 쉽게 해결할 수 있다.
PFS는 다양한 CD-ROM file system을 지원하는데 현재까지 지원되는 파일
시스템으로는 iso9600, high sierra, RockRidge Interchange가 있다.
n CD-ROM Mount/Umount 방법
① # /usr/sbin/pfs_mountd &
② #/usr/sbin/pfsd 4 &
ð pfs mount를 위한 daemon process를 띄우는 것이다.
③ #/usr/sbin/pfs_mount -t iso9660 -o xlat=unix /dev/dsk/c0t2d0 SD_CDROM
ð 여기서 -t 옵션에는 iso9660(ISO9660 포맷), hsfs(High Sierra
포맷), rrip(RockRidge 포맷)이 있고 -o xlat=unix 옵션은 모든
대문자를 소문자로 바꿔주고 파일 이름 중간에 있는 세미콜론(;)도
없애 준다.
④ #/usr/sbin/pfs_umount /dev/dsk/c0t2d0
ð pfs_mount로 mount 한 것은 반드시 “/etc/umount” 대신 “/usr/sbin/pfs_umount”를 사용해야 한다.
6.3 File system repair and management
n File system updates
시스템은 데이터를 buffer cache 내에서 update 후 나중에 disk로 write 를 한다. 따라서 데이터의 정보가 정확하기 위해서는 buffer cache의 내용과 disk의 내용을 일치시키는 일이 중요하다.
시스템은 데이터의 일관성을 보장하지만, 비정상적인 종료로 인해 buffer cache에는 update가 되었지만 실제로 disk에 write가 되지 않았을 경우에는 데이터의 일관성 즉, file system 정보가 깨지게 된다.
n Sync, syncer
▷ Sync
- Buffer cache의 내용을 disk에 write 한다.
- File system의 일관성을 유지한다.
- “syncer” daemon이 정기적으로 호출하여 buffer cache의 내용을 disk에 write
한다.
- 사용자에 의해 임의로 호출하여 buffer cache의 내용을 disk에 update 할 수
있다.
▷ Syncer
- 시스템 부팅 시 호출되어 sync 명령어를 정기적으로 실행시킨다.
n Fsck
- File system의 metadata의 일관성을 유지한다.
- Metadata가 깨졌을 시에 복구를 시도한다.
# fsck –F HFS –y /dev/vg01/rlvol1
ð F/s type이 HFS 이고, 모든 response 에 yes로 답하여 깨진 파일에 대해 복구 및 삭제를 실시한다.
# fsck –F vxfs –o full /dev/vg01/rlvol2
ð F/S type이 vxfs 이고, intent log 가 아닌 전체 metadata 에 대해서 점검을 실시한다.
n lost+found
- fsck로 점검 후 깨진 file이 이 디렉토리 내에 생성된다.
- 파일의 이름이 inode number로 생성되기 때문에,파일의 일부 정보를 가지고
원래 파일 이름을 추측하여(file , strings, what 등의 명령어를 이용하여 original
file 을 추측) 원위치에 복사한다.
- “lost+found” directory가 삭제 되었을 시 mklost+found 명령어로 다시 생성한다.
n File system management
bdf |
# bdf –i |
전체적인 파일 시스템 크기 및 사용 현황, free space 등을 보여준다. inode 사용 현황까지 보여준다. | |
du |
# du –sk /data |
directory의 disk 사용량을 KB로 보여준다. | |
extendfs |
# extendfs –F vxfs /dev/vg01/rlvol1 |
file system의 크기를 늘린다. (Logical volume 확장 후 사용) |
반응형