ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IBM AIX 하드디스크 장애파트 교체 작업
    System of Infra/Unix System 2020. 4. 7. 14:50
    반응형

    AIX로고이미지

    IBM AIX 하드디스크 장애 파트 교체 작업

    [root:/test_svr1]#lsvg -p rootvg
    rootvg:
    PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
    hdisk0            active            319         97          01..00..00..32..64
    hdisk1            active            399         192         39..00..00..73..80
    
    [root:/test_svr1]#lspv
    hdisk0          00008492ef481bbc                    rootvg          active     
    hdisk1          00c5c6d788d2c92f                    rootvg          active

    -> 현재 AIX 시스템에 hdisk0번과 hdisk1번의 RAID 1으로 Mirror로 rootvg가 구성되어 있는 것을 확인할 수 있습니다.

    [root:/test_svr1]# lspv -l hdisk0
    hdisk0:
    LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
    livedump              1       1       00..01..00..00..00    /var/adm/ras/livedump
    ptflv                 52      52      46..03..03..00..00    /ptf
    hd11admin             4       4       00..00..04..00..00    /admin
    lg_dumplv             16      16      16..00..00..00..00    N/A(lg_dumplv가 hdisk0번에 있음)
    hd5                   1       1       01..00..00..00..00    N/A
    hd6                   32      32      00..32..00..00..00    N/A
    hd2                   52      52      00..00..20..32..00    /usr
    hd4                   8       8       00..00..08..00..00    /
    hd3                   8       8       00..00..08..00..00    /tmp
    hd9var                20      20      00..00..20..00..00    /var
    hd10opt               20      20      00..20..00..00..00    /opt
    hd1                   8       8       00..08..00..00..00    /home

    -> hdisk0번의 LV 정보를 확인하게 되면 lg_dumplv가 hdisk0번에 있는 것을 확인할 수 있습니다. 이 부분은 향후 디스크를 교체하거나 migratepv를 진행할 경우 작업을 수행해야 되는 부분이 있기 때문에 디스크 교체 전에 확인을 하도록 합니다.

    [root:/test_svr1]# lspv -l hdisk1
    hdisk1:
    LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
    livedump              1       1       00..01..00..00..00    /var/adm/ras/livedump
    ptflv                 52      52      40..12..00..00..00    /ptf
    hd11admin             4       4       00..00..04..00..00    /admin
    hd5                   1       1       01..00..00..00..00    N/A
    hd8                   1       1       00..00..01..00..00    N/A
    hd6                   32      32      00..32..00..00..00    N/A
    hd2                   52      52      00..15..30..07..00    /usr
    hd4                   8       8       00..00..08..00..00    /
    hd3                   8       8       00..00..08..00..00    /tmp
    hd9var                20      20      00..00..20..00..00    /var
    hd10opt               20      20      00..20..00..00..00    /opt
    hd1                   8       8       00..00..08..00..00    /home

    -> hdisk0번에서 lg_dumplv가 없다면 hdisk1번에 생성이 되어 있을 수 있기 때문에 hdisk1번도 확인을 합니다. 현재 시스템에서는 hdisk1번에 없기 때문에 만일 hdisk1번 디스크의 장애가 발생한 경우라면 diag를 통해서 교체를 진행하면 되겠습니다.

    [root:/test_svr1]#migratepv -l lg_dumplv hdisk0 hdisk1(hdisk0의 장애의 경우 안되면 이작업은 불가능)

    -> hdisk0번에 있는 lg_dumplv를 hdisk1번으로 migratepv를 통해서 옮길 수 있게 된다면 옮긴 후 디스크 교체 작업을 진행해도 되겠습니다.

    [root:/test_svr1]#unmirrorvg rootvg hdisk0

    -> 현재 RAID 1의 rootvg 구성에서 장애 난 디스크의 hdisk0번 mirror를 해제하도록 합니다.

    [root:/test_svr1]#bosboot -ad /dev/hdisk1
    [root:/test_svr1]#bootlist -m normal hdisk1 hdisk0

    -> 해당 시스템에서 hdisk0번을 unmirror 후 hdisk1번에 boot 이미지를 한번 심어주도록 합니다. 그리고 bootlist를 hdisk1번이 우선순위가 되도록 변경을 하도록 합니다.

    [root:/test_svr1]#sysdumpdev -l
    primary              /dev/lg_dumplv(primary에 lg_dumplv가 정책으로 지정이므로 삭제가 안됨)
    secondary            /dev/sysdumpnull
    copy directory       /var/adm/ras
    forced copy flag     TRUE
    always allow dump    TRUE
    dump compression     ON
    type of dump         fw-assisted
    full memory dump     disallow

    -> 해당 시스템의 sysdumpdev의 파일을 보게 되면 primary에 lg_dumplv가 설정이 되어 있기 때문에 임시로 변경 작업을 하도록 합니다.

    [root:/test_svr1]#smit sysdumpdev
    ->change the primary Dump Device
    ->Primary dump device[dev/hd8](임시로 변경)
    
    [root:/test_svr1]# sysdumpdev -l
    primary              /dev/hd8(primary에서 hd8로 정책이 변경됨)
    secondary            /dev/sysdumpnull
    copy directory       /var/adm/ras
    forced copy flag     TRUE
    always allow dump    TRUE
    dump compression     ON
    type of dump         fw-assisted
    full memory dump     disallow

    -> sysdumpdev의 primary를 lg_dumplv에서 hd8로 임시로 변경을 하게 되면 해당 lg_dumplv를 삭제 후 다시 만들어 줄 수 있습니다. lg_dump의 존재 여부에 따라서 장애 디스크의 포함이 되어 있는 경우 위와 같은 작업을 진행하도록 합니다. 그렇지 않은 경우는 일반적인 디스크 교체 프로세스에 따라서 해당 작업은 생략 후 작업을 진행하도록 합니다.

    [root:/test_svr1]#smit rmlv
    -> LOGICAL VOLUM name[lg_dumplv]
    
    [root:/test_svr1]# lspv -l hdisk0
    hdisk0:
    LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
    livedump              1       1       00..01..00..00..00    /var/adm/ras/livedump
    ptflv                 52      52      46..03..03..00..00    /ptf
    hd11admin             4       4       00..00..04..00..00    /admin
    #lg_dumplv             16      16      16..00..00..00..00    N/A(lg_dumplv가 있던 hdisk0번에 삭제가 되있음)
    hd5                   1       1       01..00..00..00..00    N/A
    hd6                   32      32      00..32..00..00..00    N/A
    hd2                   52      52      00..00..20..32..00    /usr
    hd4                   8       8       00..00..08..00..00    /
    hd3                   8       8       00..00..08..00..00    /tmp
    hd9var                20      20      00..00..20..00..00    /var
    hd10opt               20      20      00..20..00..00..00    /opt
    hd1                   8       8       00..08..00..00..00    /home

    -> 해당 lg_dumplv를 삭제하게 되면 장애 난 hdisk0번에 lg_dumplv가 사라진 것을 확인할 수 있습니다.

    [root:/test_svr1]#reducevg rootvg hdisk0
    
    [root:/test_svr1]#lspv
    hdisk0          00008492ef481bbc                    None                       
    hdisk1          00c5c6d788d2c92f                    rootvg          active

    -> reducevg를 통해서 hdisk0번을 빼고 확인한 결과 hdisk1번에 rootvg가 존재하고 hdisk0번에서는 None으로 빠진 것을 확인할 수 있습니다.

    [root:/test_svr1]#diag(디스크교체진행)

    -> diag를 통해서 hdisk0번의 디스크를 온라인 교체하도록 합니다.

    [root:/test_svr1]#extendvg -f  rootvg hdisk0
    
    [root:/test_svr1]#lspv
    hdisk0          00008492ef481bbc                    rootvg          active     
    hdisk1          00c5c6d788d2c92f                    rootvg          active
    
    [root:/test_svr1]#mirrorvg -S rootvg hdisk0

    -> hdisk0번을 교체 후 extendvg를 통해서 확장을 시켜주고 RAID 1의 Mirror를 다시 수행해주도록 합니다. -S의 옵션은 백그라운드로 진행을 하기 위한 옵션입니다.

    [root:/test_svr1]#while true
    >do
    >lsvg rootvg | grep -i stale
    >sleep 3
    >done
    
    STALE PVs:          1                        STALE PPs:      160
    STALE PVs:          1                        STALE PPs:      159
    STALE PVs:          1                        STALE PPs:      157
    STALE PVs:          1                        STALE PPs:      156
    ...
    STALE PVs:          1                        STALE PPs:      0
    *stale이 0이 되면 mirror완료

    ->미러링 작업을 보기 위해서 stale pps가 0이 되가는 과정을 반복문으로 가볍게 구성하였습니다. 0이 되면 미러링이 종료가 됩니다.

    [root:/test_svr1]#lsvg -l rootvg
    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       1       1    open/syncd    N/A
    ...(생략)

    -> rootvg안에 있는 LV와 파일 시스템들의 영역들 리스트입니다. 미러링이 끝났기 때문에 PPS가 LPs의 두배가 된 것을 확인할 수 있습니다.

    [root:/test_svr1]#bosboot -ad /dev/hdisk0
    [root:/test_svr1]#bootlist -m normal hdisk0 hdisk1

    -> 부팅 이미지를 심어주고 부팅 순서를 hdisk0번과 hdisk1번의 순서로 지정해줍니다.

    [root:/test_svr1]#smit mklv
    -> VOLUME GROUP name[rootvg]
    -> Logical volume NAME[lg_dumplv]
    -> Numberof LOGICAL PARTITIONS[pp갯수]
    -> PHYSICAL VOLUME names[hdisk0]
    -> Logical volume TYPE[sysdump]
    
    [root:/test_svr1]#smit sysdumpdev
    ->change the primary Dump Device
    ->Primary dump device[dev/lg_dumplv](변경)

    -> primary정책을 lg_dumplv로 다시 원복 해주도록 합니다.

    [root:/test_svr1]#ipl_varyon -i
    PVNAME          BOOT DEVICE    PVID                    VOLUME GROUP ID
    hdisk0          YES            00008492ef481bbc0000000000000000        000084920000d900
    hdisk1          YES            00c5c6d788d2c92f0000000000000000        000084920000d900

    -> bosboot의 이미지가 hdisk1번에 생성된 것을 볼 수 있습니다.

     

    PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.

    포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.

     

     

    반응형

    댓글

Designed by Tistory.