ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IBM AIX mirrorvg ALT_DISK 복제하는 작업
    System of Infra/Unix System 2020. 4. 15. 16:51
    반응형

    AIX로고이미지

    IBM AIX mirrorvg ALT_DISK 복제하는 작업

    [root@test_svr1:/]# lspv   
    hdisk0          00008492ef481bbc                    rootvg          active     
    hdisk1          00c5c6d77c7568d3                    rootvg          active     
    hdisk2          none                                None

     

     

    ▶ extendvg를 통해서 rootvg의 영역을 넓혀주었고 hdisk0과 hdisk1이 mirror가 되어 있는 상태입니다.
    [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      2      2    open/syncd    N/A
    hd4                jfs2      8      16      2    open/syncd    /
    hd2                jfs2      20      40      2    open/syncd    /usr
    hd9var              jfs2      20      40      2    open/syncd    /var
    hd3                jfs2      8      16      2    open/syncd    /tmp
    hd1                jfs2      8      16      2    open/syncd    /home
    hd10opt            jfs2      20      40      2    open/syncd    /opt
    hd11admin          jfs2      4      8      2    open/syncd    /admin
    lg_dumplv          sysdump    16      16      1    open/syncd    N/A
    livedump            jfs2      1      2      2    open/syncd    /var/adm/ras/livedump
    ptflv              jfs2      40      80      2    open/syncd    /ptf

     

    ▶ PPs가 LPs의 두 배가 되면서 mirror가 된 것을 다시 확인할 수 있습니다.

     

    [root@test_svr1:/]# ls -al | grep -i image.data
    -rw-r--r--    1 root    system            0 Dec 27 2018  .image.data.removetag

     

    ▶ mirror 된 vg를 alt_disk복제하기 전에는 image.data를 생성해주어야 합니다.  /경로에. image.data파일이 있는지 확인해주었습니다.
    [root@test_svr1:/]#mkszfile
    ▶ image.data파일이 없기 때문에 생성을 해주기 위해 mkszfile명령어를 칩니다.
    [root@test_svr1:/]# ls -al | grep -i image.data
    -rw-r--r--    1 root    system            0 Dec 27 2018  .image.data.removetag
    -rw-r--r--    1 root    system        12252 Apr 15 15:22 image.data
    ▶ imge.data의 파일이 생성된 것을 볼 수 있습니다.
    [root@test_svr1:/]# cat image.data
    
    image_data:
            IMAGE_TYPE= bff
            DATE_TIME= Wed Apr 15 15:22:02 KST 2020
            UNAME_INFO= AIX syjang2 1 7 00C5C6D74C00
            PRODUCT_TAPE= no
            USERVG_LIST=
            PLATFORM= chrp
            OSLEVEL= 7.1.4.32
            OSLEVEL_R= 7100-04
            OSLEVEL_S= 7100-04-06-1806
            CPU_ID= 00C5C6D74C00
            LPAR_ID= 202
    
    logical_volume_policy:
            SHRINK= no
            EXACT_FIT= no
    
    ils_data:
            LANG=  en_US
    
    ##Command used for vg_data; /usr/sbin/lsvg
    
    vg_data:
            VGNAME= rootvg
            PPSIZE= 256
            VARYON= no
            VG_SOURCE_DISK_LIST= hdisk0 hdisk1
            QUORUM= 1
            ENH_CONC_CAPABLE= no
            CONC_AUTO= no
            BIGVG= no
            TFACTOR= 1
            CRITVG= no
            
    ##Command used for source_disk_data; /usr/sbin/bootinfo
    
    source_disk_data:
            PVID= 00008492ef481bbc
            PHYSICAL_LOCATION= U9117.MMD.065C6D7-V202-C102-T1-L8100000000000000
            CONNECTION= vscsi0//810000000000
            LOCATION=
            SIZE_MB= 81920
            HDISKNAME= hdisk0
            
    source_disk_data:
            PVID= 00c5c6d77c7568d3
            PHYSICAL_LOCATION= U9117.MMD.065C6D7-V202-C102-T1-L8200000000000000
            CONNECTION= vscsi0//820000000000
            LOCATION=
            SIZE_MB= 102400
            HDISKNAME= hdisk1
    
    ##Command used for lv_data; /usr/sbin/lslv
    
    lv_data:
            VOLUME_GROUP= rootvg
            LV_SOURCE_DISK_LIST= hdisk0 hdisk1
            LV_IDENTIFIER= 000084920000d90000000167ef481c0d.1
            LOGICAL_VOLUME= hd5
            VG_STAT= active/complete
            TYPE= boot
            MAX_LPS= 512
            COPIES= 2
            LPs= 1
            STALE_PPs= 0
            INTER_POLICY= minimum
            INTRA_POLICY= edge
            MOUNT_POINT=
            MIRROR_WRITE_CONSISTENCY= on/ACTIVE
            LV_SEPARATE_PV= yes
            PERMISSION= read/write
            LV_STATE= closed/syncd
            WRITE_VERIFY= off
            PP_SIZE= 256
            SCHED_POLICY= parallel
            PP= 2
            BB_POLICY= non-relocatable
            RELOCATABLE= no
            UPPER_BOUND= 32
            LABEL= primary_bootlv
            MAPFILE=
            LV_MIN_LPS= 1
            STRIPE_WIDTH=
            STRIPE_SIZE=
            SERIALIZE_IO= no
            FS_TAG= 
            DEV_SUBTYP=
    ▶ image.data를 cat으로 보았을 때 lv_data들의 COPIES=2, LV_SOURCE_DISK_LIST=hdisk0 hdisk1, PP가 의 부분을 보시게 되면 COPIES는 미러링이 되어 있기 때문에 두배로 보이고 LV_SOURCE_DISK_LIST는 당연히 두 개의 hdisk를 통해 mirror를 진행하였기 때문에 hdisk0,1로 이루어져 있습니다.

    PP는 LV의 별로 PP의 개수가 다르겠지만 미러링이 되어 있는 image파일 이기 때문에 2배로 증가된 PP의 갯수로 보이게 될 겁니다. 저희는 image.data파일을 수정한 후에 이 기반으로 alt_disk를 진행하려고 하기 때문에 수정을 해보도록 하겠습니다.

    그러나 하나하나 수정을 할 수 있겠지만 LV의 갯수가 많게 되면 하나하나 수정하기 어렵겠죠. 그래서 저희는 아래의 VI 편집기를 통해서 자동으로 수정을 해줍니다.

     

    [VI 편집기]

    :%s/COPIES= 2/COPIES= 1/g

    :%s/hdisk1//g

     

    *추가적으로 저는 PP의 개수는 1/2로 줄여야 한다고 생각할 수 있겠지만 alt_disk를 복제할 때 image.data파일에서 이미 COPIES가 1로 변경되었기 때문에 문제는 없다고 말씀드릴 수 있겠습니다.


    lv_data:
    
            VOLUME_GROUP= rootvg
            LV_SOURCE_DISK_LIST= hdisk0
            LV_IDENTIFIER= 000084920000d90000000167ef481c0d.1
            LOGICAL_VOLUME= hd5
            VG_STAT= active/complete
            TYPE= boot
            MAX_LPS= 512
            COPIES= 1
            LPs= 1
            STALE_PPs= 0
            INTER_POLICY= minimum
            INTRA_POLICY= edge
            MOUNT_POINT=
            MIRROR_WRITE_CONSISTENCY= on/ACTIVE
            LV_SEPARATE_PV= yes
            PERMISSION= read/write
            LV_STATE= closed/syncd
            WRITE_VERIFY= off
            PP_SIZE= 256
            SCHED_POLICY= parallel
            PP= 2
            BB_POLICY= non-relocatable
            RELOCATABLE= no
            UPPER_BOUND= 32
            LABEL= primary_bootlv
            MAPFILE=
            LV_MIN_LPS= 1
            STRIPE_WIDTH=
            STRIPE_SIZE=
            SERIALIZE_IO= no
            FS_TAG=
            DEV_SUBTYP=
     ▶ LV_SOURCE_DISK_LIST= hdisk0, COPIES=1로 변경된 것을 볼 수 있습니다. 블로그에는 LV에 한 개만 나열해서 보여드렸는데 실제로는 전체 LV에 이 값들이 변경되어 있는지 확인을 해보셔도 될 거 같습니다.
    [root@test_svr1:/]# lspv
    hdisk0          00008492ef481bbc                    rootvg          active     
    hdisk1          00c5c6d77c7568d3                    None                       
    hdisk2          none                                None                       
    hdisk3          none                                None                       
    hdisk4          none                                None                       
    hdisk5          none                                None                       
    hdisk6          none                                None                       
    hdisk7          none                                None                       
    hdisk8          none                                None                       
    hdisk9          none                                None                       
    hdisk10        none                                None                       
    hdisk11        none                                None
    ▶ 수정된 이미지 파일을 alt_disk로 복제하기 위한 준비는 끝났습니다.
    추가적으로 테스트 서버에 hdisk2번의 용량이 적기 때문에 alt_disk의 복제를 할 수가 없게 되어 hdisk1의 미러링을 풀고 미러링이 되었다는 가정하고 hdisk1에 alt_disk를 진행하도록 하겠습니다.
    [root@test_svr1:/]# ls -al | grep -i image.data
    -rw-r--r--    1 root    system            0 Dec 27 2018  .image.data.removetag
    -rw-r--r--    1 root    system        11964 Apr 15 15:42 image.data
    ▶ image.data를 신규로 생성합니다.
    [root@test_svr1:/]# nohup alt_disk_install -i /image.data -CB hdisk1 &
    [1]    10551462
    [root@syjang2:/]# Sending nohup output to nohup.out.
    ▶ 이전에 alt_disk복제에서는 foreground로 돌렸지만 이번에는 진행의 과정을 보기 위해서 background로 돌려보도록 하겠습니다.
    nohup이라는 명령어를 통해서 image.data를 참조하여 alt_disk복제를 진행한다는 호출메시지입니다.
    기존에는 alt_disk_install -CB라는 명령어를 통해서 스스로 image.data를 생성하면서 진행하였지만 이번에는 image.data를 참조하여 alt_disk를 진행하였습니다.
    [root@test_svr1:/]# tail -f nohup.out
    ATTENTION: calling new module /usr/sbin/alt_disk_copy. Please see the alt_disk_copy man page
    and documentation for more details.
    Executing command: {/usr/sbin/alt_disk_copy -i "/image.data" -B -d "hdisk1"}
    +-----------------------------------------------------------------------------+
    Checking disk sizes.
    Creating cloned rootvg volume group and associated logical volumes.
    Creating logical volume alt_hd5
    Creating logical volume alt_hd6
    Creating logical volume alt_hd8
    Creating logical volume alt_hd4
    Creating logical volume alt_hd2
    Creating logical volume alt_hd9var
    Creating logical volume alt_hd3
    Creating logical volume alt_hd1
    Creating logical volume alt_hd10opt
    Creating logical volume alt_hd11admin
    Creating logical volume alt_lg_dumplv
    Creating logical volume alt_livedump
    Creating logical volume alt_ptflv
    Creating /alt_inst/ file system.
    Creating /alt_inst/admin file system.
    Creating /alt_inst/home file system.
    Creating /alt_inst/opt file system.
    Creating /alt_inst/ptf file system.
    Creating /alt_inst/tmp file system.
    Creating /alt_inst/usr file system.
    Creating /alt_inst/var file system.
    Creating /alt_inst/var/adm/ras/livedump file system.
    Generating a list of files
    for backup and restore into the alternate file system...
    Backing-up the rootvg files and restoring them to the
    alternate file system...
    ▶ nohup.out파일이 생성되면서 이 파일을 보게 되면 기존의 foreground로 진행되었던 alt_disk의 진행 상태를 볼 수 있습니다. 현재 이 장면은 background로 진행이 되고 있기 때문에 쉘밖으로 나와서 보겠습니다.
    [root@test_svr1:/]# df -tg
    Filesystem    GB blocks      Used      Free %Used Mounted on
    /dev/hd4          2.00      0.27      1.73  14% /
    /dev/hd2          5.00      3.93      1.07  79% /usr
    /dev/hd9var        5.00      0.29      4.71    6% /var
    /dev/hd3          2.00      0.02      1.98    1% /tmp
    /dev/hd1          2.00      0.00      2.00    1% /home
    /dev/hd11admin      1.00      0.00      1.00    1% /admin
    /proc                -        -        -    - /proc
    /dev/hd10opt      5.00      0.09      4.91    2% /opt
    /dev/livedump      0.25      0.00      0.25    1% /var/adm/ras/livedump
    /dev/ptflv        10.00      9.43      0.57  95% /ptf
    /dev/alt_hd4      2.00      0.27      1.73  14% /alt_inst
    /dev/alt_hd11admin      1.00      0.00      1.00    1% /alt_inst/admin
    /dev/alt_hd1      2.00      0.00      2.00    1% /alt_inst/home
    /dev/alt_hd10opt      5.00      0.09      4.91    2% /alt_inst/opt
    /dev/alt_ptflv    10.00      9.43      0.57  95% /alt_inst/ptf
    /dev/alt_hd3      2.00      0.03      1.97    2% /alt_inst/tmp
    /dev/alt_hd2      5.00      3.93      1.07  79% /alt_inst/usr
    /dev/alt_hd9var      5.00      0.29      4.71    6% /alt_inst/var
    /dev/alt_livedump      0.25      0.00      0.25    1% /alt_inst/var/adm/ras/livedump
    ▶ df의 명령어를 보시면 똑같은 파일시스템을 스스로 복제하고 있는 모습을 볼 수 있습니다. alt_disk가 완료되면 강제로 umount 하면서 없어지게 됩니다.
    [root@test_svr1:/]# while true
    > do
    > df -tg | grep alt*
    > sleep 3
    > done
    
    /alt_inst
    /alt_inst/admin
    /alt_inst/home
    /alt_inst/opt
    /alt_inst/ptf
    /alt_inst/tmp
    /alt_inst/usr
    /alt_inst/var
    /alt_inst/var/adm/ras/livedump

     

    ▶ 진행상황이 다 끝나는지 살펴보기 위해서 반복문을 사용해 보았습니다. 완료가 되면 sleep 문에서 alt*로 마운트된 파일시스템이 하나씩 umount 되면서 사라지게 됩니다.
    [root@test_svr1:/]# lspv
    hdisk0          00008492ef481bbc                    rootvg          active     
    hdisk1          00c5c6d77c7568d3                    altinst_rootvg
    ▶ mirror 된 vg가 alt_disk복제가 된 모습을 확인할 수 있습니다.

    2020.04.07 - [System of Infra/UNIX] - IBM AIX 하드디스크 장애파트 교체 작업

     

    IBM 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 hdisk

    pinetreeday.tistory.com

    2020.04.13 - [System of Infra/UNIX] - IBM AIX ALT_DISK생성 작업

     

    IBM AIX ALT_DISK생성 작업

    IBM AIX ALT_DISK생성 작업 [root@test_svr1:/]# lspv hdisk0 00008492ef481bbc rootvg active hdisk1 00c5c6d788d2c92f None -> 여분의 디스크가 있는지 확인 후에 여분의 디스크가 있다면 진행하시면 됩니다. [root@test_svr1:/]# boot

    pinetreeday.tistory.com

     

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

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

    반응형

    댓글

Designed by Tistory.