본문 바로가기
IT 이야기 - About IT

HP-UX Admin 1 (Chapter 9-12)

by 회사원 주씨 2008. 7. 31.
반응형

------------------------------------------------------------------------------
Module 9 File System Concept
-----------------------------------------------------------------------------

File System Type

- HFS : High Performance File System
- JFS : Journaled File System
- NFS : Network File System
- CDFS : CD-ROM File System


HFS

- HP-UX에서 사용하는 보통의 UNIX File System(UFS)
- 현재는 HP-UX의 커널 이미지를 저장하는 파일시스템으로만 사용

JFS

- Veritas File System (VxFS)로 알려져 있는 파일시스템의 특징 중 신속한 파일시스템의 복구 및
온라인 백업, 온라인 리사이징, 온라인 재구성 정도 등의 제한된 기능만을 가지고 있음.
- 부트할 수 있는 파일시스템에는 사용할 수 없음.
- online defragmentation and reorganization
- online expantion and contraction of file system size
- online backup

NFS

- 클라이언트/ 서버 환경에서 다수의 시스템이 동일한 파일들을 공유할 수 있도록 하는 파일 시스템

CDFS

- CD-ROM에 담겨있는 데이터를 access하기 위한 파일시스템


What's in File System ?

- User Data
- Meta Data(Superblock, i-nodes, Directories)


* Superblock

- 파일시스템의 첫머리 부근에 있는 8KB 크기의 디스크 블록
- 파일시스템에 대한 일반적인 정보를 가지는 영역
- 시스템의 타입(type), 크기(size), 상태(status), 그 밖의 다른 파일 시스템의
metadata structure에 대한 포인터 등의 정보를 포함.
- 여러개의 복사본이 있으며, sync 명령이 수행될 때마다 새롭게 갱신

* i-nodes

- 모든 파일의 속성에 대한 정보를 가지는 영역
- 파일의 타입(type), 권한(permission), 소유자(owner), 그룹(group), 크기(size)등의 정보와
파일과 관련된 데이터 블록의 포인터를 가짐.(파일의 이름 정보는 없음)
- 각각의 inode는 파일시스템 내에서 유일한 inode number가 있어 그 값으로 인식
- 'ls -i filename' 명령으로 inode 값을 볼 수 있음.

* Directories

- 파일 이름과 inode number 사이의 mapping 정보를 가짐.


Accessing a File System



---------------------------------------------------------------------------------
module 10 File System Creation
---------------------------------------------------------------------------------

Creating a File System

(1) Create the new File System

# newfs -F vxfs /dev/vg00/rmyfs1

- newfs는 VxFS나 HFS 파일 시스템을 생성할때 사용
- F옵션 다음에는 생성할 파일 시스템 종류를 입력
- 디바이스 명은 character device명을 사용


(2) Create a mount point directory for the file system

# mkdir /myfs1

(3) Mount the new file system

# mount /dev/vg01/myfs1 /myfs1

- 생성된 /dev/vg01/myfs1를 /myfs1이라는 디렉토리에 마운트한다.
- 마운트 시에는 block device명을 사용

(4) Add the file system to the /etc/fstab file

- 부팅시 자동으로 인식하게 하려면 /etc/fstab에 등록해준다.


The New FS Command

# newfs -F vxfs /dev/vg01/rmyfs1

# newfs -F vxfs -o largefiles /dev/vg01/rmyfs1

# newfs -F hfs /dev/vg01/rmyfs2

# newfs -F hfs -o largefiles /dev/vg01/rmyfs2

# newfs -F hfs -b 4096 -f 2048 -m 5 -i 4096 /dev/vg01/rmyfs2


[Vxfs와 HFS에 공통으로 사용되는 옵션]

-F hfs|vxfs : 파일 시스템의 결정

-o largefiles : 2G이상의 파일시스템을 만들시(DB파일같은것...) 128G까지 확장 가능.

-s size :

-v : newfs 커맨드를 입력후 처리하는 과정을 보여준다.


[HFS에만 사용되는 옵션]

-L/-S : S옵션으로 파일이름을 14자까지 제한할 수 있음. 이 옵션이 없으면
기본적으로 256이상 가능

-b block-size : block 사이즈를 바이트 단위로 지정가능. 이 옵션 없으면 디폴트 8KB

-f frag-size : frag 사이즈를 바이트 단위로 지정가능. 이 옵션 없으면 디폴트 1KB

-m min-free : 루트만을 위한 여유공간을 남기기 위한 것. 이 옵션 없으면 디폴트 10%

-i inode-size : inode 사이즈

newfs Option Speific to the Whole-Disk Approach

- LVM식으로 파일 시스템을 생성하지 않고 전체 디스크를 newfs 명령어를 사용하여 파일 시스템 생성

# newfs -F hfs /dev/rdsk/c0t0d0 : creates and HFS on disk c0t0d0
# newfs -F vxfs /dev/rdsk/c0t0d0 : creates and JFS on disk c0t0d0

# newfs -F hfs -R 200 /dev/rdsk/c0t0d0 : HFS, with 200MB reserved for swap
# newfs -F vxfs -R 200 /dev/rdsk/c0t0d0 : JFS, with 200MB reserved for swap


Mounting the New File System

# mkdir /myfs1
# mount /dev/vg01/myfs1 /myfs1
# mount -v

- 마운트 포인트는 어느곳이나 해도 상관없지만 특정히 정해진곳(/, /usr, /opt, /tmp)등은
하지 말아야 한다.
- 만약 비어있는 디렉토리가 아닌 디렉토리에 다시 마운트를 하게되면 이전의 디렉토리의 있던 내용은
현재 마운트되어 있는 상태를 언마운트 하지 않으면 hidden된다.
- 마운트 하려고하는 디렉토리가 다른 유저에 의해서 사용되고 있을 시에는 'device busy' 가 되면서
마운트 되지 않는다.


The unmount command

# umount /dev/vg01/myfs1

or

# umount /myfs1


[umount 옵션]

-a : 현재 파일시스템에 마운트된 것을 전부 언마운트

-F 파일시스템타입 : 특정한 파일 시스템만을 언마운트

-v : 언마운트 되는 과정을 디스플레이(언마운트되는 파일시스템도 보여줌)


< 유저에 의해 사용되고 있는 마운트 포인트를 언마운트 하는 방법 >

1) fuser명령어를 사용하여 어떤 유저가 현재 파일과 디렉토리를 사용하고 있는지 확인

# fuser -u /dev/vg01/myfs1

- 위 명령은 /dev/vg01/myfs1을 사용하고 있는 프로세스ID와 login names을 알려준다.

# fuser -u /etc/passwd

- 위 명령은 /etc/passwd를 사용하고 있는(열고 있는) 프로세스ID와 login names을 알려준다.

# fuser -uc /opt

- 위 명령은 /opt 파일 시스템을 사용하고 있는 프로세스ID와 login names을 알려준다.

2) 현재 파일시스템을 사용하고 있는 유저의 프로세스를 종료시켜서 언마운트 가능하게 한다.

# fuser -ku /dev/vg01/myfs1

- 이 명령을 실행하면 현재 /dev/vg01/myfs1를 액세스해서 사용하고 있는 모든 유저의
session이 없어진다.

3) 다시 모든 파일 시스템을 언마운트 한다.

# umount -a : 기본적인 파일 시스템은 언마운트 되지 않는다.(/, /usr, /opt, /tmp ...)

- 이전에 사용자가 사용하고 있는 /dev/vg01/myfs1의 프로세스가 모두 종료되었으므로
언마운트 가능하게 된다.

Automatically Mounting File System

1) /etc/fstab에 각항목에 맞게 마운트시킬 파일 시스템 정보를 입력

2) 시스템이 재부팅되면 /etc/fstab을 읽어들여 자동으로 마운트 시킨다.

or

mount -a 나 mountall명령어를 실행해서 다시 all 마운트 시킨다.


[ /etc/fstab의 항목]

block : block device 입력

directory : 마운트 시킬 디렉토리 입력

type : 파일 시스템 타입

* cdfs : local CD-ROM file system
* hfs : hige-performance file system
* nfs : network or remote file system
* vxfs : journaled file system
* swap : the device file name is made available as a piece of
swap space by the swapon command
* swapfs : the file system which directory resides
in is made available
as swap space by the swapon command
* lofs : the file system is a loopback file system
* ignore : marks unused sections(on multi-file system disks)

option * defaults :
* rw(default) : read/write
* ro : read-only
* suid(default) : set user-id allowed
* nosuid : no set user-id allowed
* quota : enables checking of disk quota on this file system
* noquota(default) : no quota checking on this file system

back-frequency : reserved for possible use by future backup utilities

pass-number : used by the fsck command to determine the order in which file system
checks are done

comment : a comment field(must be preceded by a #)


CD-ROM File System(CDFS)

# ioscan -funC disk

- CD-ROM의 block deivce를 찾는 명령어

# mkdir /cdrom

- 마운트 포인트를 생성한다.

# mount /dev/dsk/c#t#d# /cdrom

- CD-ROM를 마운트

# vi /etc/fstab
/dev/dsk/c#t#d# /cdrom cdfs ro 0 0

- local cdrom 드라이브를 /etc/fstab에 등록

# mount -F cdfs -o cdcase /dev/dsk/c#t#d#

- CD-ROM을 마운트 하기 위한 명령어


---------------------------------------------------------------------------------------
Module 11 File System Repair
---------------------------------------------------------------------------------------

File System Maintenance

- Check file system integrity : fsck
- Employ regular backup procedures : fbackup
- Monitor disk usage : bdf


Flushing the Buffer Cache

* sync

- Writes buffer contents to disk(버퍼 캐시를 디스크에 write)
- Keeps the file system current
- Is normally invoked on a regular basis by the syncer daemon

* syncer

- syncer is started automatically at system boot
- sync를 돌려주는 프로그램


Introducing fsck

왜 fsck를 실행하나?

- 파일 시스템 metadata의 무결성을 위해
- 충돌이 발생한 metadata의 복구를 위해

언제 fsck가 실행되나?

- 시스템이 비정상적으로 종료했을때 자동으로 실행된다.
- 충돌이 의심스러운 부분이 있을 때 수동으로 실행한다.


Running fsck

- /dev/vg01/myfs2에 대해서 fsck를 실행하는 방법

(1) mount -v : 현재의 파일 시스템 방식 체크

(2) umount /dev/vg01/myfs2

(3) fsck -F hfs /dev/vg01/rmyfs2 : character device 사용

(4) mount /dev/vg01/myfs2 : block device 사용

(5)


[fsck의 옵션]

일반적인 fsck 옵션

-n : fsck가 실행되는 동안 모든 물음에 no라고 응답한다. 파일 시스템의 현상을 체크하기 위해 사용
파일 시스템을 고치기 위해서는 다시 fsck를 실행하여 고쳐야 한다.

-y : fsck가 실행되는 동안 모든 물음에 yes라고 응답한다.


파일 시스템이 HFS일때 fsck 옵션

-b block# :


-f :


파일 시스템이 JFS일때 fsck 옵션

-o :


Checking lost+found

* lost+found 디렉토리

- fsck 파일의 내용을 만들어 놓는다.
- file 시스템 체크 후 여기에 갖다 놓는다.
- 나중에 확인 가능
- newfs 명령시 자동 생성됨
- 지워졌을 경우 mklost+found /대상디렉토리 명령으로 만들어주어야 한다.


---------------------------------------------------------------------------------------
Module 12 File System Management
---------------------------------------------------------------------------------------

Monitoring Disk Usage

# bdf -i

Filesystem kbytes used avail %used iused ifree %iuse Mounted on
/dev/vg00/lvol3 2804969 1774212 750260 70% 64551 396249 14% /
/dev/vg00/lvol1 83733 34130 41229 45% 33 13407 0% /stand
/dev/vg00/lvol6 498645 9 448771 0% 4 79868 0% /temp
/dev/vg00/lvol5 1001729 13185 888371 1% 116 164684 0% /msss
/dev/vg00/lvol4 99669 280 89422 0% 92 16036 1% /home
/dev/vg00/lvol7 1001729 72432 829124 8% 718 164082 0% /OpenTP1
/dev/vg01/lvol1 4103345 287263 3405747 8% 150 673450 0% /MARS2
/dev/vg01/lvol2 2051553 130 1846267 0% 52 337548 0% /MARS1
/dev/vg01/lvol3 2504465 77261 2176757 3% 631 410569 0% /HiRDB_P

- 현재 디스크의 사용현황을 보여준다.
- i옵션과 같이 쓰면 i-node에 대한 사용현황도 같이 보여준다.


# du -sk 디렉토리이름

- 현재 디렉토리에서 사용중인 사용현황을 자세히 보여준다.
- s옵션은 요약해서 보여줌
- k옵션은 Kbyte단위로 보여줌


Routine management

(1) 확장되는 로그 파일의 내용을 지워라

-
(2) core 파일 삭제

# find / -name core -exec ll {} \; : list all core files
# find / -name core -exec rm {} \; : remove all core files

(3) 오래된 파일들 삭제

# find /tmp -atime +30 -size +1000c -exec ll -ud {} \;

- 생성된지 30일이 지나고 1000자 이상의 파일에 대해서 리스트를 작성

(4) 파일 시스템 확장(여유 공간 있을때, 볼륨 그룹에 새 디스크 추가시)


Extending a Volume Group

(1) 새로운 디스크를 추가한 후 pvcreate명령어를 사용하여 Physical Volume로 만든다.

- 새로 추가될 디스크가 c0t5d0 이라고 했을때

# pvcreate /dev/rdksc0t5d0

(2) vgextend명령어를 사용하여 추가된 /dev/dsk/c0t5d0 디스크를 기존의 vg01볼륨 그룹에 추가

# vgextend vg01 /dev/dsk/c0t5d0

(3) vgdisplay 명령어로 확인

# vgdisplay -v


Extending a Logical Volume

(1) /dev/vg01/myfs2가 16M의 용량이 할당되어 있을시 32M로 확장하려고 하면

# lvextend -L 32 /dev/vg01/myfs2 /dev/dsk/c0t3d0

(2) lvdisplay 명령어로 확인

# lvdisplay -v


Extending a File System(HFS)

(1) 현재 마운트 되어 있는 파일 시스템을 언마운트 한다.

# umount /myfs2

(2) 파일 시스템을 확장한다.

# extendfs /dev/vg01/rmyfs2

(3) 다시 마운트

# mount /myfs2


(4) 용량 확인

# bdf


Extending a JFS File System(Without on-line JFS)


# umount /myfs1
# extendfs -F vxfs /dev/vg01/rmyfs1
# mount /myfs1
# bdf /myfs1


Extending a JFS File System(With on-line JFS)

# fsadm -F vxfs -b 32768 /myfs1
# bdf /myfs1

728x90

'IT 이야기 - About IT' 카테고리의 다른 글

HP-UX Admin 1 (Chapter 6-8)  (0) 2008.07.31
[HP-UX] glance adviser 사용하기  (1) 2008.07.31
[APACHE] Apache에서 maxclient 수 늘리기  (0) 2008.07.31