[AIX] hdisk 순서/번호 변경하기

반응형

이번 포스팅에서는 신규 설치나 서비스 중도 작업 건이나 혹은 실수로 변경 된 디바이스 이름을 차후 작업을 위해 엔지니어를 위한 측면 또는 관리적 측면에서 보다 쉽게 접근하고 빠른 이해를 위해 디바이스 순서를 정리하는 방법을 알아보고자 합니다. 따라서 오늘은 hdisk 번호 변경, hdisk 순서 변경 총 2가지 방법을 자세히 알아보도록 하겠습니다.

AIX hdisk 번호 변경

1. hdisk 번호/이름 변경

# device 변경 명령어로 hdisk 뿐만 아니라 다른 장치들의 번호/이름 변경이 가능
단, 반드시 사용 중이지 않은 장치(device)만 변경이 가능합니다.


command :
rendev -l hdiskX(기존 장치 이름) -n hdiskX(신규 장치 이름)

[Eloquence@root:/]# lspv
hdisk0          00cb90d0770c6e16                    rootvg          active
hdisk1          00cb90d076e079c2                    rootvg          active

hdisk2          00cb90d076eb83a4                    None

[Eloquence@root:/]# rendev -l hdisk2 -n hdisk99

[Eloquence@root:/]# lspv
hdisk0          00cb90d0770c6e16                    rootvg          active
hdisk1          00cb90d076e079c2                    rootvg          active

hdisk99        00cb90d076eb83a4                    None

# 응용

[Eloquence@root:/]# rendev -l hdisk80 -n hdisk5  (hdisk80 → hdisk5)
[Eloquence@root:/]# rendev -l fcs3 -n fcs10  (fcs3 → fcs10)
[Eloquence@root:/]# rendev -l eth2 -n eth4  (eth2 → eth4)

AIX hdisk 순서 변경

1. hdisk 순서 변경 전 현재 상태 확인

# odm 수정을 통한 디바이스 순서 변경 방법

command :
odmget CuDv | grep -p hdisk > hdisk-1.txt
odmdelete -q PdDvLn=disk/sas/sisarray -o CuDv
  // PdDvLn 경로는 상이할 수 있음. 아래 hdisk-1.txt 파일에서 확인 가능
odmadd /hdisk-1.txt


[Eloquence@root:/]# lspv   // hdisk0, hdisk1 순서대로 변경하고자 합니다.
hdisk1          00cb90d076e079c2                    rootvg          active      
hdisk0          none                                      None
               
[Eloquence@root:/]# lsdev -Cc disk   // lsdev 순서는 정상이네요.
hdisk0 Available 02-00-00 SAS 4K RAID 0 SSD Array
hdisk1 Available 02-00-00 SAS 4K RAID 0 SSD Array

 

2. odm hdisk 정보 수정

command :
odmget CuDv | grep -p hdisk > hdisk-1.txt

[Eloquence@root:/]# odmget CuDv | grep -p hdisk > hdisk-1.txt   // odm에 저장되어 있는 hdisk 정보를 읽기/수정 하기 위해 hdisk-1.txt 라는 이름으로 불러냈습니다.

[Eloquence@root:/]# ls 
.sh_history       hdisk-1.txt       proc              tmp 
.vi_history       home              sbin              u 
admin             lib               smit.log          unix 
audit             lost+found        smit.script       usr 
bin               lpp               smit.transaction  var 
dev               mnt               test 
etc               opt               tftpboot


# 변경 전 (기존 odm hdisk 정보)

[Eloquence@root:/]# vi hdisk-1.txt  // 기존 odm 정보입니다.  hdisk1 > hdisk0 순서로 되어 있네요. 위치를 바꾸고 저장.
"hdisk-1.txt" 20 lines, 320 characters
CuDv:
   name = "hdisk1
status = 1 
chgstatus = 0 
ddins = "scsidisk" 
location = "02-00-00" 
parent = "sas0" 
connwhere = "W_0" 
PdDvLn = "disk/sas/sisarray" 

CuDv:
   name = "hdisk0
status = 1 
chgstatus = 0 
ddins = "scsidisk" 
location = "02-00-00" 
parent = "sas0" 
connwhere = "W_0" 
PdDvLn = "disk/sas/sisarray"

명령어는 간단하게 8yy(8줄 복사), p(붙여넣기), 8dd(8줄 삭제)를 응용하여 서로 위치를 바꿔주도록 합니다.


# 변경 후 (수정 된 odm hdisk 정보)

[Eloquence@root:/]# cat hdisk-1.txt  // hdisk0 > hdisk1 순서대로 수정하고 저장했습니다.
"hdisk-1.txt" 20 lines, 320 characters
CuDv:
   name = "hdisk0
status = 1 
chgstatus = 0 
ddins = "scsidisk" 
location = "02-00-00" 
parent = "sas0" 
connwhere = "W_0" 
PdDvLn = "disk/sas/sisarray"

CuDv:
   name = "hdisk1
status = 1 
chgstatus = 0 
ddins = "scsidisk" 
location = "02-00-00" 
parent = "sas0" 
connwhere = "W_0" 
PdDvLn = "disk/sas/sisarray" 

 

3. 기존 odm hdisk 정보 삭제

command :
odmdelete -q PdDvLn=[경로] -o CuDv
  // PdDvLn 경로는 상이할 수 있음. 아래 hdisk-1.txt 파일에서 확인 가능

[Eloquence@root:/]# 
odmdelete -q PdDvLn=disk/sas/sisarray -o CuDv
0518-307 odmdelete: 2 objects deleted.

[Eloquence@root:/]# lspv
[Eloquence@root:/]# lsdev -Cc disk
// 현재 odm에 hdisk 관련 정보를 삭제 시킨 상태라 아무것도 출력되지 않는게 정상입니다.

 

4. 새로운 odm hdisk 정보 등록

command :
odmadd /hdisk-1.txt

[Eloquence@root:/]#
odmadd /hdisk-1.txt
[Eloquence@root:/]# lspv  // hdisk가 0 > 1 순서로 변경되었음을 확인했습니다.
hdisk0          none                                      None
hdisk1          00cb90d076e079c2                    rootvg          active

AIX Main hdisk 변경하기

1. mirroring, bootlist 등록 및 순서 변경

# 아래를 출력값을 보면 hdisk0, hdisk1 번호 순서는 잘 정렬되어 있지만 os 영역이 설치 된 rootvg 메인 hdisk가 0번이 아닌 1번으로 잡힌 경우, odm 순서 변경만으로는 해결할 수 없습니다.

[Eloquence@root:/]# lspv

hdisk0          none                                      None
hdisk1          00cb90d076e079c2                    rootvg          active

# 현재 rootvg의 메인 디스크를 hdisk1이 아닌 hdisk0으로 변경하고자 합니다.
mirroring 작업 시작.(미러 작업 자세한 설명은 생략. → aix mirroring 방법은 AIX mirrorvg 에서 확인 가능합니다.)


[Eloquence@root:/]# lspv
hdisk0          none                                      None
hdisk1          00cb90d076e079c2                    rootvg          active


[Eloquence@root:/]# chdev -l hdisk0 -a pv=yes
hdisk0 changed

[Eloquence@root:/]# lspv
hdisk0          00cb90d0770c6e16                    None

hdisk1          00cb90d076e079c2                    rootvg          active

[Eloquence@root:/]# extendvg rootvg hdisk0
0516-1254 extendvg: Changing the PVID in the ODM.

[Eloquence@root:/]# mirrorvg -S rootvg hdisk1 hdisk0

[Eloquence@root:/]# lspv
hdisk0          00cb90d0770c6e16                    rootvg          active

hdisk1          00cb90d076e079c2                    rootvg          active

[Eloquence@root:/]# bootlist -m normal -o
hdisk1 blv=hd5 pathid=0

[Eloquence@root:/]# bosboot -ad /dev/hdisk0

[Eloquence@root:/]# bootlist -m normal hdisk0 hdisk1

[Eloquence@root:/]# bootlist -m normal -o
hdisk0 blv=hd5 pathid=0
hdisk1 blv=hd5 pathid=0

 

2. lg_dumplv 옮기기

# mirroring 복제 기술을 사용해도 복제가 되지 않는 LV가 있습니다. 바로 lg_dumplv입니다.
hdisk0을 메인 디스크로 사용하기 위해서는 기존 메인 디스크였던 hdisk1에 있는 lg_dumplv를 hdisk0으로 옮기는 작업이 필요합니다.


[Eloquence@root:/]# lspv -l hdisk0  // 메인 디스크가 될 새롭게 추가된 hdisk
hdisk0:
LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
hd11admin             1       2       00..01..00..00..00    /admin
livedump              1       2       00..01..00..00..00    /var/adm/ras/livedump
hd5                   1       2       01..00..00..00..00    N/A
hd4                   200     400     00..00..143..57..00   /
hd2                   7       14       00..07..00..00..00    /usr
hd6                   1       2       00..01..00..00..00    N/A
hd8                   1       2       00..00..01..00..00    N/A
hd1                   20      40      00..20..00..00..00    /home
hd10opt               1       2       00..01..00..00..00    /opt
hd9var                1       2       00..01..00..00..00    /var
hd3                   60      120      00..60..00..00..00    /tmp

[Eloquence@root:/]# lspv -l hdisk1  // 기존 메인 디스크
hdisk1:
LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
lg_dumplv             8       8       00..08..00..00..00    N/A
hd11admin             1       2       00..01..00..00..00    /admin
livedump              1       2       00..01..00..00..00    /var/adm/ras/livedump
hd5                   1       2       01..00..00..00..00    N/A
hd4                   200     400     00..00..143..57..00   /
hd2                   7       14       00..07..00..00..00    /usr
hd6                   1       2       00..01..00..00..00    N/A
hd8                   1       2       00..00..01..00..00    N/A
hd1                   20      40      00..20..00..00..00    /home
hd10opt               1       2       00..01..00..00..00    /opt
hd9var                1       2       00..01..00..00..00    /var
hd3                   60      120      00..60..00..00..00    /tmp


command :
migratepv -l [LV name] [출발지 hdisk] [도착지 hdisk]

[Eloquence@root:/]# migratepv -l lg_dumplv hdisk1 hdisk0
[Eloquence@root:/]# lspv -l hdisk0   // lg_dumplv가 hdisk0으로 정상적으로 옮겨졌습니다.
hdisk0: 
LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT 
lg_dumplv             8       8       00..08..00..00..00    N/A

hd11admin             1       2       00..01..00..00..00    /admin 
livedump              1       2       00..01..00..00..00    /var/adm/ras/livedump 
hd5                   1       2       01..00..00..00..00    N/A 
hd4                   200     400     00..00..143..57..00   / 
hd2                   7       14       00..07..00..00..00    /usr 
hd6                   1       2       00..01..00..00..00    N/A 
hd8                   1       2       00..00..01..00..00    N/A 
hd1                   20      40      00..20..00..00..00    /home 
hd10opt               1       2       00..01..00..00..00    /opt 
hd9var                1       2       00..01..00..00..00    /var 
hd3                   60      120      00..60..00..00..00    /tmp 

[Eloquence@root:/]# lspv -l hdisk1
hdisk1: 
LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT  
hd11admin             1       2       00..01..00..00..00    /admin 
livedump              1       2       00..01..00..00..00    /var/adm/ras/livedump 
hd5                   1       2       01..00..00..00..00    N/A 
hd4                   200     400     00..00..143..57..00   / 
hd2                   7       14       00..07..00..00..00    /usr 
hd6                   1       2       00..01..00..00..00    N/A 
hd8                   1       2       00..00..01..00..00    N/A 
hd1                   20      40      00..20..00..00..00    /home 
hd10opt               1       2       00..01..00..00..00    /opt 
hd9var                1       2       00..01..00..00..00    /var 
hd3                   60      120      00..60..00..00..00    /tmp

 

3. unmirroring

# mirror를 푼다.

[Eloquence@root:/]#
unmirrorvg -S rootvg hdisk1  // rootvg mirror에서 hdisk1을 떼어낸다.

[Eloquence@root:/]#
reducevg rootvg hdisk1  // rootvg에서 hdisk1을 빼낸다.

[Eloquence@root:/]#
 lspv  // rootvg 메인 디스크가 hdisk0으로 변경되었습니다.
hdisk0          00cb90d0770c6e16                    rootvg          active

hdisk1          00cb90d076e079c2                    None

 

반응형

댓글

Designed by JB FACTORY