IT
[AIX] awk 명령어를 이용한 VG, PV, LV 조회 명령어 본문
1. VG, PV, LV 조회 명령어
lsvg 명령어에 -p, -l 옵션을 이용해 PV와 LV를 조회할 수 있다.
이때, awk 명령어를 이용해 한 줄의 명령어로 한 번에 pv와 lv를 조회할 수 있다.
lsvg -o |awk '{print "lsvg -p " $1 "; lsvg -l " $1}' |sh
(1) lsvg -o
vg목록 중 활성화 vg표시(vary on 상태인 vg)
(2) awk
텍스트를 행, 단어 별로 처리하는 명령어
$1: 현재 줄의 첫 번째 필드 출력
(3) lsvg -p [vg명]
해당 vg의 pv를 출력
(4) lsvg -l [vg명]
해당 vg의 lv를 출력
(5) sh
생성된 명령어를 쉘에서 실행
이거 없으면 그냥 명령어를 출력만 함
▶ 즉, lsvg -o 를 통해 나온 vg목록을 lsvg -p, lsvg -l 뒤에 붙여서 명령어로 실행함.
실행 결과
[test:root] / > lsvg -o |awk '{print "lsvg -p " $1 "; lsvg -l " $1}' |sh
appvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk3 active 199 0 00..00..00..00..00
hdisk4 active 199 0 00..00..00..00..00
hdisk5 active 199 0 00..00..00..00..00
hdisk6 active 199 0 00..00..00..00..00
hdisk7 active 199 0 00..00..00..00..00
hdisk13 active 199 0 00..00..00..00..00
hdisk14 active 199 0 00..00..00..00..00
hdisk15 active 199 0 00..00..00..00..00
hdisk16 active 199 0 00..00..00..00..00
hdisk17 active 199 0 00..00..00..00..00
hdisk9 active 199 0 00..00..00..00..00
hdisk18 active 199 0 00..00..00..00..00
hdisk19 active 199 0 00..00..00..00..00
hdisk20 active 199 0 00..00..00..00..00
hdisk11 active 199 87 07..00..00..40..40
hdisk12 active 199 19 00..00..00..00..19
appvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
webapplv jfs2 600 1200 8 open/syncd /webapp
1homelv jfs2 919 1838 10 open/syncd /1home
tscanlv jfs2 20 40 2 open/syncd /tscan
imsivg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk8 active 199 0 00..00..00..00..00
imsivg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
imsilv jfs2 199 199 1 open/syncd /imsi
rootvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk0 active 558 434 111..62..38..111..112
hdisk1 active 558 426 111..54..38..111..112
rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 2 2 closed/syncd N/A
hd6 paging 32 64 2 open/syncd N/A
hd8 jfs2log 1 2 2 open/syncd N/A
hd4 jfs2 16 32 2 open/syncd /
hd2 jfs2 16 32 2 open/syncd /usr
hd9var jfs2 16 32 2 open/syncd /var
hd3 jfs2 16 32 2 open/syncd /tmp
hd1 jfs2 4 8 2 open/syncd /home
hd10opt jfs2 4 8 2 open/syncd /opt
pkglv jfs2 8 16 2 open/syncd /package
lg_dumplv sysdump 8 8 1 open/syncd N/A
ptflv jfs2 10 20 2 open/syncd /ptf
근데 이렇게 보면 너무 붙어있어서 보기 힘들기 때문에 다음과 같은 명령어를 사용하면 좀 더 가독성이 좋다.
lsvg -o |awk '{print "echo \"VG: " $1 "\"; lsvg -p " $1 ";echo \"LVs:\"; lsvg -l " $1 "; echo"}' |sh
위 명령어에 echo를 추가해서 vg, lv 앞에 VG:, LVs:를 추가하고 줄을 바꾼다.
실행 결과
[test:root] / > -p " $1 ";echo \"LVs:\"; lsvg -l " $1 "; echo"}' |sh <
VG: appvg
appvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk3 active 199 0 00..00..00..00..00
hdisk4 active 199 0 00..00..00..00..00
hdisk5 active 199 0 00..00..00..00..00
hdisk6 active 199 0 00..00..00..00..00
hdisk7 active 199 0 00..00..00..00..00
hdisk13 active 199 0 00..00..00..00..00
hdisk14 active 199 0 00..00..00..00..00
hdisk15 active 199 0 00..00..00..00..00
hdisk16 active 199 0 00..00..00..00..00
hdisk17 active 199 0 00..00..00..00..00
hdisk9 active 199 0 00..00..00..00..00
hdisk18 active 199 0 00..00..00..00..00
hdisk19 active 199 0 00..00..00..00..00
hdisk20 active 199 0 00..00..00..00..00
hdisk11 active 199 87 07..00..00..40..40
hdisk12 active 199 19 00..00..00..00..19
LVs:
appvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
webapplv jfs2 600 1200 8 open/syncd /webapp
1homelv jfs2 919 1838 10 open/syncd /1home
tscanlv jfs2 20 40 2 open/syncd /tscan
VG: imsivg
imsivg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk8 active 199 0 00..00..00..00..00
LVs:
imsivg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
imsilv jfs2 199 199 1 open/syncd /imsi
VG: rootvg
rootvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk0 active 558 434 111..62..38..111..112
hdisk1 active 558 426 111..54..38..111..112
LVs:
rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 2 2 closed/syncd N/A
hd6 paging 32 64 2 open/syncd N/A
hd8 jfs2log 1 2 2 open/syncd N/A
hd4 jfs2 16 32 2 open/syncd /
hd2 jfs2 16 32 2 open/syncd /usr
hd9var jfs2 16 32 2 open/syncd /var
hd3 jfs2 16 32 2 open/syncd /tmp
hd1 jfs2 4 8 2 open/syncd /home
hd10opt jfs2 4 8 2 open/syncd /opt
pkglv jfs2 8 16 2 open/syncd /package
lg_dumplv sysdump 8 8 1 open/syncd N/A
ptflv jfs2 10 20 2 open/syncd /ptf
2. 디스크 용량 조회
디스크 목록은 lspv명령어 또는 lsdev -Cc disk 를 통해 확인 가능
lspv
lsdev -Cc disk
근데 디스크 용량은 나오지 않는다.
디스크 용량은 bootinfo -s [디스크명]으로 확인 가능
bootinfo -s hdisk0
따라서 awk를 이용해 디스크 용량을 한 번에 조회할 수 있다.
lsdev -Cc disk |awk '{print "echo \"DISK: " $1 "\"; bootinfo -s " $1}' |sh
실행결과
[test:root] / > lsdev -Cc disk |awk '{print "echo \"DISK: " $1 "\"; bootinfo -s " $1}' |sh
DISK: hdisk0
286102
DISK: hdisk1
286102
DISK: hdisk2
286102
DISK: hdisk3
102400
DISK: hdisk4
102400
DISK: hdisk5
102400
DISK: hdisk6
102400
DISK: hdisk7
102400
DISK: hdisk8
102400
DISK: hdisk9
102400
DISK: hdisk10
102400
DISK: hdisk11
102400
DISK: hdisk12
102400
DISK: hdisk13
102400
DISK: hdisk14
102400
DISK: hdisk15
102400
DISK: hdisk16
102400
DISK: hdisk17
102400
DISK: hdisk18
102400
DISK: hdisk19
102400
DISK: hdisk20
102400
위에서 숫자는 MB단위로 hdisk0은 250GB이다.
맨 뒤에 sh 안 쓸 경우
[test:root] / > lsdev -Cc disk |awk '{print "echo \"DISK: " $1 "\"; bootinfo -s " $1}'
echo "DISK: hdisk0"; bootinfo -s hdisk0
echo "DISK: hdisk1"; bootinfo -s hdisk1
echo "DISK: hdisk2"; bootinfo -s hdisk2
echo "DISK: hdisk3"; bootinfo -s hdisk3
echo "DISK: hdisk4"; bootinfo -s hdisk4
echo "DISK: hdisk5"; bootinfo -s hdisk5
echo "DISK: hdisk6"; bootinfo -s hdisk6
echo "DISK: hdisk7"; bootinfo -s hdisk7
echo "DISK: hdisk8"; bootinfo -s hdisk8
echo "DISK: hdisk9"; bootinfo -s hdisk9
echo "DISK: hdisk10"; bootinfo -s hdisk10
echo "DISK: hdisk11"; bootinfo -s hdisk11
echo "DISK: hdisk12"; bootinfo -s hdisk12
echo "DISK: hdisk13"; bootinfo -s hdisk13
echo "DISK: hdisk14"; bootinfo -s hdisk14
echo "DISK: hdisk15"; bootinfo -s hdisk15
echo "DISK: hdisk16"; bootinfo -s hdisk16
echo "DISK: hdisk17"; bootinfo -s hdisk17
echo "DISK: hdisk18"; bootinfo -s hdisk18
echo "DISK: hdisk19"; bootinfo -s hdisk19
echo "DISK: hdisk20"; bootinfo -s hdisk20
이렇게 위처럼 명령어로 실행되는 게 아니고 그냥 출력됨.
'SE > AIX' 카테고리의 다른 글
[AIX] MAX LPs 늘리기 (0) | 2025.03.08 |
---|---|
[HMC] hscroot password 변경 (0) | 2025.02.20 |