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 |