Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel7
minLevel1

리소스를 생성하고 삭제하기까지의 전반적인 관리작업과 구성파일의 주요 설정에 대해 설명합니다.

...

리눅스

리눅스에서 온라인 볼륨 확장을 수행하려면 다음과 같은 조건을 충족해야 합니다. bsr의 블럭장치가 LVM 과 같은 볼륨 관리자와 함께 구성되어 있어야

...

하며 소스와 타깃 노드는 복제 연결상태를 Connected 상태로 유지해야 합니다.

운영 노드를 Primary 상태로 두고 양 노드의 볼륨의 크기를 LVM을 통해 늘린 후 한 노드에서 다음과 같은 명령을 내려서 다음의 과정을 통해 새롭게 늘어난 크기를 bsr 에 인식시킵니다. 아래는 LV 로 구성된 580MB 크기로 구성된 볼륨을 확장하는 예 입니다.

Code Block
bsradm resize <resource>

...

  1. LV 구성. 기존 사이즈는 580M로 구성되어 있는 상태

    Code Block
    [root@bsr01 /]# lvs /dev/local/r0
      LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync 
    Convert                                                 
      r0   local  -wi-ao---- 580.00m    
    
    
  2. conf 구성. /dev/local/r0 가 /dev/bsr0의 backing device로 구성된 상태

    Code Block
    	volume 0 {
    		device /dev/bsr0;
    		disk /dev/local/r0;
    		meta-disk /dev/loop3 /bsr_meta/r0_meta;
    	}
    
  3. LV 볼륨 확장을 위해 PV 추가 생성

    Code Block
    [root@bsr01 /]# pvcreate /dev/sdf1
      Physical volume "/dev/sdf1" successfully created.
  4. VG 확장

    Code Block
    [root@bsr01 /]# vgs local
      VG    #PV #LV #SN Attr   VSize   VFree
      local   3   1   0 wz--n- 588.00m 8.00m
    [root@bsr01 /]# vgextend local /dev/sdf1
      Volume group "local" successfully extended
    [root@bsr01 /]# vgs local
      VG    #PV #LV #SN Attr   VSize VFree  
      local   4   1   0 wz--n- 1.52g 980.00m
  5. LV를 1.5GB 로 확장

    Code Block
    [root@bsr01 /]# lvextend -L 1.5G /dev/local/r0
      Size of logical volume local/r0 changed from 580.00 MiB (145 extents) to 1.50 GiB (384 extents).
      Logical volume local/r0 successfully resized.
    [root@bsr01 /]# lvs /dev/local/r0
      LV   VG    Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      r0   local -wi-ao---- 1.50g      
  6. 3~5번 단계를 모든 노드에서 동일하게 수행

  7. 확장된 size 를 resize 명령을 사용하여 bsr 에게 알림 (primary 노드에서 수행)

    Code Block
    [root@bsr01 /]# bsrsetup status --v --s r0
    r0 node-id:0 role:Primary suspended:no
        write-ordering:drain req-pending:0
      volume:0 minor:0 disk:UpToDate
          size:593920 read:1129876 written:248320 al-writes:23 bm-writes:0 upper-pending:0 lower-pending:0 al-suspended:no al-pending-changes:0
          al-used:0 blocked:no
      bsr02 node-id:1 connection:Connected role:Secondary congested:no
        volume:0 replication:Established peer-disk:UpToDate resync-suspended:no
            received:0 sent:588328 out-of-sync:0 pending:0 unacked:0
      bsr03 node-id:2 connection:Connected role:Secondary congested:no
        volume:0 replication:Established peer-disk:UpToDate resync-suspended:no
            received:0 sent:588704 out-of-sync:0 pending:0 unacked:0
    [root@bsr01 /]# bsradm resize r0
  8. resize 명령 실행 후 확장된 영역에 대해 부분 동기화가 진행되며, size 값이 593920에서 1572864으로 증가된 것을 확인할 수 있음

    Code Block
    [root@bsr01 /]# bsrsetup status --v --s r0
    r0 node-id:0 role:Primary suspended:no
        write-ordering:drain req-pending:0
      volume:0 minor:0 disk:UpToDate
          size:1572864 read:1582588 written:248320 al-writes:31 bm-writes:0 upper-pending:0 lower-pending:2 al-suspended:no al-pending-changes:0
          al-used:0 blocked:no
      bsr02 node-id:1 connection:Connected role:Secondary congested:yes
        volume:0 replication:SyncSource peer-disk:Inconsistent done:47.46 resync-suspended:no
            received:0 sent:762944 out-of-sync:826368 pending:35 unacked:80
      bsr03 node-id:2 connection:Connected role:Secondary congested:yes
        volume:0 replication:SyncSource peer-disk:Inconsistent done:49.15 resync-suspended:no
            received:0 sent:786064 out-of-sync:799744 pending:27 unacked:68
  9. LV 확장과 resize 명령까지 성공하였다면 resize2fs 명령을 사용하여 filesystem을 확장시켜 주어야 한다. (primary 노드에서 실행)

    Code Block
    [root@bsr01 /]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    ...
    /dev/bsr0                555M  544M     0 100% /mnt0
    
    [root@bsr01 /]# resize2fs /dev/bsr0
    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/bsr0 is mounted on /mnt0; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 1
    The filesystem on /dev/bsr0 is now 393216 blocks long.
    
    [root@bsr01 /]# df -h
    ...
    /dev/bsr0                1.5G  545M  878M  39% /mnt0

볼륨의 늘어난 영역에 대한 새로운 동기화가 수행됩니다.

Info

연결이 해제된 상태에서 볼륨 크기를 조정하려면 다음의 절차에 따릅니다.

  1. secondary 노드에서 bsradm disconnect 로 연결 단절

  2. 양 노드에서 LV 확장

    1. LV 확장은 secondary 상태로 수행 가능하며 primary로 승격할 필요 없음.

  3. 확장된 size를 적용하기 위해 primary 노드에서 resize 명령 수행

    Code Block
    [root@bsr01 /]# bsrsetup status --v --s r1
    r1 node-id:0 role:Primary suspended:no
        write-ordering:drain req-pending:0
      volume:0 minor:1 disk:UpToDate
          size:512000 read:1561828 written:25956 al-writes:37 bm-writes:0 upper-pending:0 lower-pending:0 al-suspended:no al-pending-changes:0 al-used:0
          blocked:no
      bsr-02 node-id:1 connection:Connecting role:Unknown congested:no
        volume:0 replication:Off peer-disk:DUnknown resync-suspended:no
            received:0 sent:1562367 out-of-sync:0 pending:0 unacked:0
    [root@bsr01 /]# bsradm resize r1
  4. resize 명령 수행 후 size 값 증가 확인, 확장된 영역이 out-of-sync 로 설정됨

    Code Block
    [root@bsr01 /]# bsrsetup status --v --s r1
    r1 node-id:0 role:Primary suspended:no
        write-ordering:drain req-pending:0
      volume:0 minor:1 disk:UpToDate
          size:1572864 read:1561828 written:25956 al-writes:45 bm-writes:0 upper-pending:0 lower-pending:0 al-suspended:no al-pending-changes:0 al-used:0
          blocked:no
      bsr-02 node-id:1 connection:Connecting role:Unknown congested:no
        volume:0 replication:Off peer-disk:DUnknown resync-suspended:no
            received:0 sent:1562367 out-of-sync:1060864 pending:0 unacked:0
  5. primary 노드에서 resize2fs 명령 실행

    Code Block
    [root@bsr01 /]# resize2fs /dev/bsr1
    resize2fs 1.45.6 (20-Mar-2020)
    Filesystem at /dev/bsr1 is mounted on /mnt_r1; on-line resizing required
    old_desc_blocks = 8, new_desc_blocks = 12
    The filesystem on /dev/bsr1 is now 1572864 (1k) blocks long.
  6. 파일 시스템 확장까지 완료한 이후 secondary에서 connect 명령을 사용하여 연결

% 재 연결시 주의 사항

  • primary 노드가 있어야 한다.  primary 노드가 없다면 확장된 영역이 동기화 되지 못하고 out-of-sync가 남아있게 된다.

  • 확장 이후 secondary의 볼륨 크기가 primary의 크기 보다 크거나 같아야 한다. primary의 볼륨 크기가 더 크면 복제 연결이 성립되지 않는다.

  • 타겟 노드의 LV 볼륨 사이즈를 secondary 상태에서 변경했다면 SB 해결 절차 없이 connect 명령 만으로 연결 할 수 있다. 타겟 노드를 --force primary 로 승격한 뒤 resize를 진행했다면, SB 해결 절차 수행이 필요하다.

리소스 삭제

구성파일을 삭제 함으로써 리소스가 삭제됩니다. 보통 운영 중일 경우에는 다음의 절차를 통해 리소스를 삭제 합니다.

...