IT/AIX&Linux

[하루 5분 AIX] LVM 과 Device 4부

뜻밖의 행복 2014. 3. 1. 16:46
반응형

안녕하세요?

뜻밖의 행운입니다.

 

3월 3일 KRX에서 신스템이 드디어 오픈 하는 날입니다.

2014년 3월 1일 그래서 뜻밖의 행운도 증권사에서 작업이 있어 이렇게 나와 있습니다.


사전점검에 앞서 그래도 여유가 있어서 이렇게 포스팅을 할 수 있어서 좋네요 ^^


지난 포스팅때 Hdisk 즉  PV 구조에 대해 간략하게 알아 봤습니다.

그러면 이제 AIX에서 PV는 어떻게 보이고 각 명령어로 봤을 때 보이는 output들이 무슨 뜻인지

차근 차근 이어서 살펴보도록 하겠습니다.

 

 

 


Physical volume identifier


PVID 를 예전 LVM 포스팅때 들어보신적이 있으실겁니다.

서버를 관리하다 보면 pv를 교체하거나 제거했다가 다시 설치하여 사용하는등

변경작업이 몇번 있을 수 있습니다.


이때문에 hdisk 번호로만 해당 disk를 구별할 수가 없어서

휴대폰 번호 처럼 각자에게 유일한 식별 번호를 주어 식별할 수 있도록 한 것입니다.

 

 

 

 

우선 PVID는 AIX에서 생성하는 soft serial 입니다.

생성 하는 방식의 현재 사용중인 서버의 시리얼넘버와 시간을 조합하여 생성을 합니다.


다시 한번 말씀드리면 이것은  AIX에서 위에서 말한 조합법을 통하여 만들어내는

soft serial 입니다. 


[root@lpar51]$ lspv
hdisk0          00c8750f550f8d5d                    rootvg          active             
hdisk1          00c8750f511eb195                    None                               
hdisk2          00c8750fef8a4e29                    sharedvg                           
[root@lpar51]$ uname -m
00C8750F4C00
[root@lpar51]$

 

위의 예제를 보시면

lspv로 pv들을 확인하니 3개의  pv가 있음을 알 수 있습니다.

그리고 각각의 pvid가 보입니다.

총 16자리 이고 이 3개의  pv 모두 앞의 8자리는 같은걸로 보아

같은 서버에서 만들어진것으로 보이네요?


uname -m 으로 한번 장비 시리얼을 보도록 하겠습니다.

00C8750F4C00으로 앞의 8자리를 따온것을 알 수 있습니다.


그럼 한가지 의문이 들지 않으세요?

이  PVID는 어디에 저장이 되어 있는 것이고

예를 들어 00c8750f511eb195 의  pvid를 지닌 hdisk1을 제거해서 다른 서버에 설치하면

hdisk1의 pvid는 새로 생성될까요?

아니면 그대로일까요?

 

우선 PVID는 pv에 저장되며 ODM에도 역시 저장이 됩니다.

 

그리고 한가지 더 PVID는 중복될수도 있습니다.

하지만 이것은 로또보다 더 낮으 확률입니다.

사용자의 실수나 테스트 환경 구성으로 100% 확률로 겹칠 때도 있습니다.

이 것이 다른 서버에서 같은 PVID가 있으면 상관 없으나

같은 서버내에서 PVID가 겹친다면 일이 생기겠지요?

 

AIX에서 PVID가 어떤식으로 있는지 예제를 보겠습니다.


[root@lpar51]$ lquerypv -h /dev/hdisk1
00000000   C9C2D4C1 00000000 00000000 00000000  |................|
00000010   00000000 00000000 00000000 00000000  |................|
00000020   00000000 00000000 00000000 00000000  |................|
00000030   00000000 00000000 00000000 00000000  |................|
00000040   00000000 00000000 00000000 00000000  |................|
00000050   00000000 00000000 00000000 00000000  |................|
00000060   00000000 00000000 00000000 00000000  |................|
00000070   00000000 00000000 00000000 00000000  |................|
00000080   00C8750F 511EB195 00000000 00000000  |..u.Q...........|
00000090   00000000 00000000 00000000 00000000  |................|
000000A0   00000000 00000000 00000000 00000000  |................|
000000B0   00000000 00000000 00000000 00000000  |................|
000000C0   00000000 00000000 00000000 00000000  |................|
000000D0   00000000 00000000 00000000 00000000  |................|
000000E0   00000000 00000000 00000000 00000000  |................|
000000F0   00000000 00000000 00000000 00000000  |................|
[root@lpar51]$

 

오늘 다룬 명령어들 따로 설명을 하든지

뒷 부분에서 각종 명령어 잘쓰는 옵션으로만 모아서 설명을 하든지 하겠습니다. ^^

 

PVID는 pv자체에 저장이 된다고 했습니다.

이것이 정말인지 lquerypv -h /dev/hdisk1
명령어로 보니까 정말로 pv 내에 pvid가 있습니다.

 

그러면 이것을 지우면 어떻게 될까요?

[root@lpar51]$ dd if=/dev/zero of=/dev/hdisk1 bs=1M count=100
100+0 records in.
100+0 records out.
[root@lpar51]$

 

lquerypv 로 살펴보니 pvid가 앞쪽에 있어서 사실 저렇게 크게 주지 않아도 되는데

dd명령어의 옵션을 통해서 pv 앞에 있는 정보들을 싹다 지워보겠습니다. 


[root@lpar51]$ lquerypv -h /dev/hdisk1                      
00000000   00000000 00000000 00000000 00000000  |................|
00000010   00000000 00000000 00000000 00000000  |................|
00000020   00000000 00000000 00000000 00000000  |................|
00000030   00000000 00000000 00000000 00000000  |................|
00000040   00000000 00000000 00000000 00000000  |................|
00000050   00000000 00000000 00000000 00000000  |................|
00000060   00000000 00000000 00000000 00000000  |................|
00000070   00000000 00000000 00000000 00000000  |................|
00000080   00000000 00000000 00000000 00000000  |................|
00000090   00000000 00000000 00000000 00000000  |................|
000000A0   00000000 00000000 00000000 00000000  |................|
000000B0   00000000 00000000 00000000 00000000  |................|
000000C0   00000000 00000000 00000000 00000000  |................|
000000D0   00000000 00000000 00000000 00000000  |................|
000000E0   00000000 00000000 00000000 00000000  |................|
000000F0   00000000 00000000 00000000 00000000  |................|

 

네 의도한 대로 잘 지워져 있습니다.

 

[root@lpar51]$ lspv
hdisk0          00c8750f550f8d5d                    rootvg          active             
hdisk1          00c8750f511eb195                    None                               
hdisk2          00c8750fef8a4e29                    sharedvg

                           
[root@lpar51]$ chdev -l hdisk1 -a pv=yes
hdisk1 changed


[root@lpar51]$ lspv
hdisk0          00c8750f550f8d5d                    rootvg          active             
hdisk1          00c8750f7929554d                    None                               
hdisk2          00c8750fef8a4e29                    sharedvg 

                         
[root@lpar51]$ lquerypv -h /dev/hdisk1 
00000000   C9C2D4C1 00000000 00000000 00000000  |................|
00000010   00000000 00000000 00000000 00000000  |................|
00000020   00000000 00000000 00000000 00000000  |................|
00000030   00000000 00000000 00000000 00000000  |................|
00000040   00000000 00000000 00000000 00000000  |................|
00000050   00000000 00000000 00000000 00000000  |................|
00000060   00000000 00000000 00000000 00000000  |................|
00000070   00000000 00000000 00000000 00000000  |................|
00000080   00C8750F 7929554D 00000000 00000000  |..u.y)UM........|
00000090   00000000 00000000 00000000 00000000  |................|
000000A0   00000000 00000000 00000000 00000000  |................|
000000B0   00000000 00000000 00000000 00000000  |................|
000000C0   00000000 00000000 00000000 00000000  |................|
000000D0   00000000 00000000 00000000 00000000  |................|
000000E0   00000000 00000000 00000000 00000000  |................|
000000F0   00000000 00000000 00000000 00000000  |................|

 

lspv로 다시 확인하니까

분명 pv 안에 pvid를 지웠는데 그대로 있는 것을 볼 수 있습니다.

하지만 이 것은 odm에 반영이 안되어 있는 걸로 odm과 sync 형식의 기능을 가지고 있는 명령어

 

chdev -l hdisk1 -a pv=yes

새로 설치한 디스크에 보통 pvid를 박을 때 쓰는 명령어이지요?

 

위 명령어를 실행하고 다시 lspv를 하니

아까랑 다르게 기존의 pvid가 박히는게 아니 아예 새로운 pvid를 심어주는것을 볼 수 있습니다.

 

분명 odm에도 pvid가 저장이 된다고 했는데?

왜 hdisk의 pvid가 변경이 되지 않는 것일까요?

그럼 odm에 있는 pvid는 백업의 개념이 아니라 다른것일까요?

 

이미 감이 오셨을거라 생각이 되는데 다음 포스팅때

이어서 바로 알아보도록 하겠습니다.

반응형