반응형

Managing disk device & LVM

 

사용 목적에 따른 파티션 분류

1. File system

2. Swap space

3. Raw 응용 프로그램 데이터

 

# 파티션을 만들 있는

1. LVM

2. Veritas volume manager(VxVM)

- 확장성과 기능성이 좋다

 

* idisk 부트 디스크를 만들기 위한 목적

=======================================================

#. 물리적인 단위로 파티셔닝 하는 경우

하나의 디스크에 파일 시스템이 여러개 만들어 없으며,

하나의 디스크에 파일 시스템과 raw space 공존 없다

 

하나의 디스크에

1) file system

2) swap space

3) raw spae

4) file system / swap space(unused)

5) boot area / file system /swap space

=> 이러한 단점을 극복하기 위해 LVM 사용

 

#.  LVM 사용

- 파티션의 크기를 동적으로 관리 있음

- 하나의 디스크를 여러개로 나눌 있고, 여러개의 디스크의 디스크를 하나로 묶을 수도 있음

############LVM 관련 소프트웨어 ##################################

 

root  [/dev]# swlist |grep -i lvm
  BaseLVM                       B.11.31.1109   Logical Volume Manager

root  [/dev]# swlist |grep -i mirror
  B2491BA                       B.11.31        MirrorDisk/UX (Server)

 

******************

root  [/dev]# swlist |grep -i oe
  HPUX11i-VSE-OE                B.11.31.1109   HP-UX Virtual Server Operating Environment
root  [/dev]#

 

PV - Physical volume - disk - internal disk, LUN in a disk array

VG - Volume Group - Group of PV

LV - Lvol - Logical volume - Parttition of VG

=======================================================

 

# LVM Extent - LVM 디스크 공간을 Extent 라는 단위로 할당하고 관리

- 1,2,4,8,16,32,64,128,256 MB 만들 있음

- PV VG 더해지고 쪼개어 질때 동일한 크기의 PE 나뉘어진다

- LV 만들어질때 하나 이상의 LE 할당

- LE PV 상의 PE하나에 매핑

- LVM 모든 PV 헤더구조안에 Extent Map 저장

 

- Extent 사이즈가 작아지면 LV 만드는데 있어서 유연성이 커진다

- Extent 사이즈가 커지면 헤더 공간이 적게 든다

- Extent 사이즈는 LVM 성능과 무관하며, VG 만들어진 이후에는 변경이 불가능

 

11.11 / 11.23 -> LVM v1.0

maxvgs 커널파라미터가 10 정의되어 있다 -> 256으로 바꿔야 최대값을 사용할 있음 -> 11.31에는 없어짐

 

mirror 개수 - 11.23 이전에는 2, 11.31이후에는 5

stripe 개수(몇개의 볼륨에 쪼개서 저장할 것인가) - 11.23에는 255, 이후에는 511

 

=================LVM 1.0 최대 이슈 ====================

속성값 max pe/pv = 1016 default, VG 만들   1016보다 큰값이 필요하면 값이 자동으로 들어가며(수정불가) 65535 최대값으로 갖음

-> 2.0 이후에는 VG 최대크기를 미리 정해놓고 만들어야 . 헤더사이즈가 너무 커지는 것을 막기 위해 미리 정하는것

 

11.31부터는 해당 max pe/pv 크기를 조절할 있는 기능이 있는데 이때 주의해야할 것은, 크기가 늘어나게 되면 헤더사이즈가 커지기때문에

기존에 볼륨 그룹에 포함되어 사용중이던 디스크의 첫번째 Extent 위치가 바뀌어야 하므로 변경이 이루어짐

 

# LVM Device file( specical file)

- vg01 - /dev/vg01/group

           - /dev/vg01/datavol    Block Device file

           - /dev/vg01/rdatavol   raw(character) Device file

 

===========================

볼륨 만들어보기

===========================

1. 디스크(LUN또는 PV) 사용중인지 확인하기

 

- strings /etc/lvmtab

root  [/dev]# strings /etc/lvmtab
/dev/vg00
/dev/disk/disk1_p2
/dev/vg10
/dev/disk/disk4

 

- lvmadm -l

root  [/dev]# lvmadm -l
--- Version 1.0 volume groups ---
VG Name /dev/vg00
PV Name /dev/disk/disk1_p2

VG Name /dev/vg10
PV Name /dev/disk/disk4

 

- ioscan -m dsf
root
 [/dev]# ioscan -m dsf
Persistent DSF           Legacy DSF(s)
========================================
/dev/rchgr/autoch1       /dev/rac/c3t0d0
/dev/rdisk/disk1         /dev/rdsk/c0t0d0
/dev/rdisk/disk1_p1      /dev/rdsk/c0t0d0s1
/dev/rdisk/disk1_p2      /dev/rdsk/c0t0d0s2
/dev/rdisk/disk1_p3      /dev/rdsk/c0t0d0s3
/dev/rchgr/autoch3       /dev/rac/c10t0d1
/dev/rdisk/disk4         /dev/rdsk/c14t0d0
                         /dev/rdsk/c15t0d0
/dev/pt/pt5              /dev/rscsi/c2t0d0
/dev/pt/pt6              /dev/rscsi/c4t0d0
/dev/pt/pt7              /dev/rscsi/c6t0d0
/dev/pt/pt8              /dev/rscsi/c8t0d0
/dev/pt/pt10             /dev/rscsi/c11t0d0
/dev/pt/pt12             /dev/rscsi/c13t0d0
/dev/rtape/tape16_BEST   /dev/rmt/c3t0d1BEST
/dev/rtape/tape16_BESTn   /dev/rmt/c3t0d1BESTn

 

2. 디스크 초기화 (PVRA 생성)

- 이전에 다른 볼륨 그룹에 사용하던 PV라면 -f 옵션을 넣어줘야

- pvcreate /dev/rdisk/disk14

- pvcreate /dev/rdisk/disk15

 

3. group 라는 이름의 디바이스 파일 생성

- mkdir /dev/vg_temp

- mknod group c 64 0x010000

- chmod 640 group

 

4. vgcreate 명령으로 볼륨 그룹을 생성

- V 옵션이 없으면 기본으로 1.0으로 만듬

- LVM 버젼은 따로 설치할 수도 있지만, 볼륨 그룹을 만들때 지정해 있고, 모두 같이 사용할 수있음

- vgcreate /dev/vg_temp /dev/disk/disk14 /dev/disk/disk15

LVM 2.0이상에서는 -V -S, -s 옵션이 반드시 들어가야함

# vgcreate -V 2.2 -s 32 -S 10t /dev/vgdb /dev/disk/disk11 /dev/disk/disk12

#strings /etc/lvmtab

 

 

*****LVM 2.0 이상으로 만든 그룹은 /etc/lvmtab 아니라 /etc/lvmtab_p 파일에 저장이 *****

5. LOVL 만들어보기

# lvcreate /vg_temp

-->lvol1이란 기본 이름으로 만들어지는데, 크기가 0이다

# lvcreate -n test1 -L 400 vg_temp (-L : size -l : number of extents)

 

# lvdisplay

- mirror copies

- consistency recovery

- schedule : mirror 방법, parallel, sequetial

# vgdisplay /dev/vg_temp

# pvdisplay /dev/disk/disk14

 

Dynamic multi-pathing -> LVM에서는 PV Link라는 개념으로 제공한다. Path 여러개 있어서 그중에 하나만 사용

-> LVM에서는 active / passive 가능

 

# vmadm -t

LVM limits 버젼별로 출력

 

출력값--------------------------------------------------------

--- LVM Limits ---
VG Version                  1.0       
Max VG Size (Tbytes)        510                 
Max LV Size (Tbytes)        16                  
Max PV Size (Tbytes)        2                   
Max VGs                     256    
Max LVs                     255    
Max PVs                     255    
Max Mirrors                 2          
Max Stripes                 255        
Max Stripe Size (Kbytes)    32768                   
Max LXs per LV              65535         
Max PXs per PV              65535         
Max Extent Size (Mbytes)    256                     

VG Version                  2.0       
Max VG Size (Tbytes)        2048               
Max LV Size (Tbytes)        256                 
Max PV Size (Tbytes)        16                  
Max VGs                     512                 
Max LVs                     511    
Max PVs                     511    
Max Mirrors                 5          
Max Stripes                 511        
Max Stripe Size (Kbytes)    262144                  
Max LXs per LV              33554432      
Max PXs per PV              16777216      
Max Extent Size (Mbytes)    256                     

VG Version                  2.1       
Max VG Size (Tbytes)        2048               
Max LV Size (Tbytes)        256                 
Max PV Size (Tbytes)        16                  
Max VGs                     2048                
Max LVs                     2047   
Max PVs                     2048   
Max Mirrors                 5          
Max Stripes                 511        
Max Stripe Size (Kbytes)    262144                  
Max LXs per LV              33554432      
Max PXs per PV              16777216      
Max Extent Size (Mbytes)    256                     

VG Version                  2.2       
Max VG Size (Tbytes)        2048               
Max LV Size (Tbytes)        256                 
Max PV Size (Tbytes)        16                  
Max VGs                     2048                
Max LVs                     2047   
Max PVs                     2048   
Max Mirrors                 5          
Max Stripes                 511        
Max Stripe Size (Kbytes)    262144                  
Max LXs per LV              33554432      
Max PXs per PV              16777216      
Max Extent Size (Mbytes)    256                     
Min Unshare unit(Kbytes)    512                    
Max Unshare unit(Kbytes)    4096                   
Max Snapshots per LV        255 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Managing Filesystem

File system - 실제 데이타가 저장된 블락을 사용자가 편리하게 접근하게 하기 위한 방법, 구조,체계

 

# 종류

JFS - Journaled FS - 파일 시스템에 접근하는 일들에 대한 로그를 기록해서 복구하는데 시간을 줄일 있는 기능

VxFS - Veritas FS

CDFS

LOFS - Loopback FS

CFS - Cluster FS - 클러스터를 구성하여 2개의 노드가 있닥고 생각하면, 양쪽에서 볼륨을 동시에 접근해야 하므로, 필요한 통제기능이 있는 FS

NFS - 네트워크로 연결되는 FS

CacheFS - NFS 연결시에 속도 향상을 위한 캐시기능을 더함

CIFS - NFS 기능상은 비슷

MemFS - 임시데이타에 대한 빠른 I/O 필요할 사용(휘발성)

 

File system 구조

- userdata

- metadata( superblock, inode, inode table )

 

1) superblock - general information about filesystem (type, size,used, free, inode address )

# fstyp -v /dev/vg00/lvol5

 

2) inode -file 구분하기 위한 식별 번호,file 생성할 superblock 의해 생성되는 번호

# ll -i /etc/passwd

128418 -r--r--r--   1 root       sys            909 Jan 16 14:08 /etc/passwd

inode - table

inum - type - permission - link -owner - group - size - timestamp - pointer

 

3) directory - filename inode number 변환

 

Block extent - 연속된 블락의 집합(하나이상) extent라고 ( extent 크기는 I/O 많은 영향을 미친다 )

 

# Hard link Soft(Symbolic) link

hard link - 이름이 다른 파일들이 항상 같은 내용을 같도록

               - 같은 inode 번호를 같다

               - 원본 파일을 수정하면 내용뿐만아니라 파일명이 바뀌어도 적용됨

               - 다른 파일 시스템이 있는 파일을 링크할 없다

               - 디렉토리는 링크 할수 없음

               - 원본과 같은 파일을 보고 있기 때문에 용량이 원본과 같게 보이지만 디스크에 공간을 2배차지하는 것은 아님

               - 원본을 지우게 되더라도 링크에 inode 정보는 지워지지 않는다. 링크수가 2에서 1 줄어들기만

 

Symbolic link - inode 번호가 같지 않음

                       - 원본파일의 수정은 되지만 파일명이 바뀌면 적용이 되지 않는다

                       - 디렉토리도 링크가 가능

                       - 오류가 없게하려면 반드시 절대경로 입력

                       - 원본을 지우게 되면 링크가 의미가 없어짐

                       - 링크 정보의 저장을 위한 공간이 필요하며, 원본과 별도로 디스크 공간이 필요

 

intent log - filesystem 메타데이타 변경 내용을 기록

                - 비정상 종료로 인한 파일 시스템의 메타데이타 오류시에 fsck라는 프로그램이 intent log 이용하여 metadata 복구하게

                - 복구를 빠르게 하기 위한 목적으로 사용

 

===========================

파일시스템 만들기

===========================

 

1. lvol 만듬

2. 파일시스템을 만듬. 포맷

3. 마운트할 지점을 만들고, 마운트 시킴

4. 부팅시에 자동으로 마운트하게 하려면 /etc/fstab 마운트할 때의 옵션을 지정해줌

 

# lvcreate -n test2 -l 1000 -i 2 /dev/vg_temp  ==> extent 1000개를 이용해 2개의 디스크에 stripe 형식으로 저장하게

# lvdisplay /dev/vg_temp/test2

# newfs -F vxfs -o largefiles -s size /dev/vg_temp/rtest2

( -o largefiles : file 하나의 크기가 2GB 이상의 지원하도록, 크기가 늘어나는 파일들이 무한정 늘지 못하도록 하기위해 기본값은 지원안되게 설정)

# newfs -F vxfs -o largefiles /dev/vg_temp/rtest2

# mkfs -m /dev/vg_temp/rtest2 

 

###############################

RAW DEVICE 쓰는 명령어

pvcreate -> PVRA /VGRA 라는 Header 만듬

newfs -> superblock / inode / intent log(FS Header)

 

성능이 중용하지 않고 데이터를 디스크에 즉시 쓰는것이 중요할 사용하는 것이 raw device(character device) 이다

###############################

 

마운트된 정보를 확인하는 방법

# mount -p

# mount -v

# bdf

 

umount - 특정 사용자가 해당 마운트포인트를 사용중이면(해당 디렉토리에 들어가 있으면) unmount 없다.

 

 

# 파일및 디렉토리 사용하고 있는 프로세스 찾기및 kill 명령어

# fuser -cu /test2

/test2: 28857c(user20)

# fuser -kcu /test2 --> test2 사용중인 사용자나 프로세스를 중지시킴

# lsof - GNU 사이트에서 다운받아 별로 설치

 

# 자동으로 마운트 시키기 ( 부팅시에)

 /etc/fstab 등록

/dev/vg00/lvol3 / vxfs delaylog 0 1
/dev/vg00/lvol1 /stand vxfs tranflush 0 1
/dev/vg00/lvol4 /var/adm/crash vxfs delaylog 0 2
/dev/vg00/lvol5 /nsr vxfs delaylog 0 2
/dev/vg10/lvol1 /OSBACKUP vxfs delaylog 1 1

=> 마지막에 숫자는 이상이 생겼을 fsck 복구하는 순서를 정해줌( 우선순위)

0 체크하지 않음

1 최우선 체크

2 1 선언된 항목의 체크가 완료된 이후에 체크

 

delaylog -> intent log 기록에 따르는 부하를 줄이기 위해 지연시간을 갖겠다는 내용

mount -a mountall

=> 둘다 /etc/fstab 있는 파일 시스템을 모두 마운트하는데 mountall fsck 이상 있는 파일시스템을 복구후에 마운트시킴

 

11.11버젼에서 CD 마운트할 주의사항 -- 파일이름 형식때문에 마운트 후에 파일 제대로 보이지 않는 현상 있음

mount -F cdfs -o ro,cdcase,rr /dev/dsk/c0t6d0/cdrom

 

############ 11.31 에서는 ios 이미지를 마운트 있음 ############

# swlist ISOIMAGE-ENH

# kcmodule cdfs=loaded fspd=loaded ==> kernal configuration /stand/vmunix

커널이 무거워지지 않도록 모듈을 따로 설정하게 되어 있다. 이를 subsystem 또는 module 이라고

# kcmodule cdfs=loaded fspd=loaded

# kcmodule cdfs fspd

# mkdir /cdrom

# mount -F cdfs /test2/aaa.iso /cdrom

- fstab 파일에 쓰기 예제

/test2/aaa.iso /cdrom /cdfs noauto 0 0

 

================= ISO 파일 만들기 =================

IGNITE-UX 설치되어 있어야

/opt/ignite/lbin/mkisofs -R -o /tmp/parkns.iso /home/user1 ==> /home/user1 안의 모든 디렉토리와 파일을 iso 만드는데 자신은 넣지 않음

 

############ LOFS ############

# mkdir /opt/home

# mount -F lofs /home /opt/home

예전에 hard link 없던 시절에 파일 시스템등을 특정포인트로 연결하기 위해 쓰던것

 

참조 : 
HPE-UX 관리자 과정 교육
HP-UX system & network administration 1,2

'OS > HP-UX' 카테고리의 다른 글

HP-UX study 6일차  (0) 2022.07.05
HP-UX study 5일차  (0) 2022.07.05
HP-UX study 4일차  (0) 2022.07.05
HP-UX study 2일차  (0) 2022.07.05
HP-UX study 1일차  (0) 2022.07.05

+ Recent posts