drbd_에서_lvm_사용시_파일시스템_및_디스크_확장_방법

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

drbd_에서_lvm_사용시_파일시스템_및_디스크_확장_방법 [2016/06/02 11:05] (현재)
koov 만듦
줄 1: 줄 1:
 +====== DRBD 에서 LVM 사용시 파일시스템 및 디스크 확장 방법 ======
 +
 +원본링크 : https://mantech.jira.com/wiki/pages/viewpage.action?pageId=130777162
 +
 +===== 용어 설명 =====
 +
 +<WRAP center round box 90%>
 +DRBD on LVM은 DRBD가 Backing Device로 LVM(Logical Volume Manager)의 LV(Logical Volume)을 사용하는 경우를 말합니다. 
 +LVM on DRBD은 DRBD가 Backing Device로 Hard Disk Device(예, sda# 등)를 사용하고, DRBD를 LVM의 PV(Physical Volume)로 구성하는 경우를 말합니다. 
 +</WRAP>
 + 
 +DRBD가 Backing Device로 LVM의 LV를 사용(DRBD on LVM)할 경우, resize명령을 이용하여 볼륨 사이즈를 확장하게되면 DRBD 입장에서는 Backing Device의 사이즈가 늘어나게 됩니다. 이는 복제되고 있는 볼륨에 복제영역이 추가되는 것을 의미합니다.
 +DRBD의 meta data에는 DRBD device의 사이즈 정보도 포함되어 있기 때문에, DBRD의 meta data 갱신이 필요하고 drbdadm resize는 meta data를 늘어난 LV 사이즈로 갱신합니다. Secondary Node도 마찬가지의 이유로 동일 작업(lvextend , drbdadm resize)이 수행되어야 합니다. 
 + 
 +이 장에서는 LVM 의 LV를 Backing Device 로 사용하는 DRBD 환경에서 온라인 중에 파일시스템을 확장하는 방법에 대해 다음의 예제에서 상세하게 설명합니다. 
 +(다음 예제에서 운영 서버는 'DRBD1', 대기 서버는 'DRBD2', 리소스 이름은 r1 이란 이름으로 MCCS에 등록되어 있습니다. LV 사이즈를 1G에서 2G로 증가시키고, 동일사이즈를 DRBD에 인식시키는 예시입니다. )
 + 
 +예시된 /etc/drbd.conf 파일 정보 입니다. 
 +<WRAP prewrap>
 +<code vim /etc/drbd.conf>
 +resource r1 {
 +protocol C;
 +disk {
 +on-io-error detach;
 +
 +on DRBD1 { 
 +device /dev/drbd0;
 +disk /dev/vg1/lv1;
 +address 100.100.110.1:7791;
 +flexible-meta-disk internal;
 +}
 +on DRBD2 { 
 +device /dev/drbd0;
 +disk /dev/vg1/lv1;
 +address 100.100.110.2:7791;
 +flexible-meta-disk internal;
 +}
 +}
 +</code>
 +</WRAP>
 + 
 +예시된 LVM 구성정보 입니다. 
 +
 +LVM 구성정보
 +<WRAP prewrap>
 +<code bash>
 +--- Volume group ---
 +VG Name vg1
 +System ID 
 +Format lvm2
 +Metadata Areas 1
 +Metadata Sequence No 2
 +VG Access read/write
 +VG Status resizable
 +MAX LV 0
 +Cur LV 1
 +Open LV 0
 +Max PV 0
 +Cur PV 1
 +Act PV 1
 +VG Size 3.00 GiB
 +PE Size 4.00 MiB
 +Total PE 767
 +Alloc PE / Size 256 / 1.00 GiB
 +Free PE / Size 511 / 2.00 GiB
 +VG UUID a4AlxN-1MPk-lAJ0-0JJH-tTDz-QlFv-he1TpI
 +
 +--- Logical volume ---
 +LV Name /dev/vg1/lv1
 +VG Name vg1
 +LV UUID kwmHaH-bOdX-w3D2-Ktcq-CuZ8-u944-37NCNc
 +LV Write Access read/write
 +LV Status available
 +# open 0
 +LV Size 1.00 GiB
 +Current LE 256
 +Segments 1
 +Allocation inherit
 +Read ahead sectors auto
 +- currently set to 256
 +Block device 253:3
 +
 +--- Physical volumes ---
 +PV Name /dev/sdb 
 +PV UUID FdalSR-ckDD-xk1J-5g0t-7pKU-f18N-IM7oyT
 +PV Status allocatable
 +Total PE / Free PE 767 / 511
 +</code>
 +</WRAP>
 +
 +1.  DRBD Device가 LV 를 Backing Device로 사용하고 있으므로, 사이즈를 늘려주기 위해서는 LV의 사이즈를 늘려주어야 합니다. 이때, 양쪽 노드에서 LV 사이즈를 늘려주어야 합니다. 
 +
 +2. DRBD1 노드에서 Online 중에 LV의 사이즈를 1G에서 2G로 늘립니다. 
 +<WRAP prewrap>
 +<code bash>
 +[root@DRBD1 ~]# lvextend -L 2G /dev/vg1/lv1
 +</code>
 +</WRAP>
 +
 +3. DRBD1 노드에서 늘어난 LV 사이즈를 확인합니다.                                                                  
 +<WRAP prewrap>
 +<code bash>
 + [root@DRBD1 ~]# lvdisplay /dev/vg1/lv1
 +  --- Logical volume ---
 +  LV Name                /dev/vg1/lv1
 +  VG Name                vg1
 +  LV UUID                kwmHaH-bOdX-w3D2-Ktcq-CuZ8-u944-37NCNc
 +  LV Write Access        read/write
 +  LV Status              available
 +  # open                 0
 +  LV Size                2.00 GiB
 +  Current LE             512
 +  Segments               1
 +  Allocation             inherit
 +  Read ahead sectors     auto
 +  - currently set to     256
 +  Block device           253:3
 +</code>
 +</WRAP>
 +
 +4. DRBD2 노드에서 LV의 사이즈를 1G에서 2G로 늘립니다. 
 +<WRAP prewrap>
 +<code bash>
 +[root@DRBD2 ~]# lvextend -L 2G /dev/vg1/lv1
 +</code>
 +</WRAP>
 +
 +5. DRBD2 노드에서 늘어난 LV 사이즈를 확인합니다.
 +<WRAP prewrap>
 +<code bash>
 + [root@DRBD2 ~]# lvdisplay /dev/vg1/lv1
 +  --- Logical volume ---
 +  LV Name                /dev/vg1/lv1
 +  VG Name                vg1
 +  LV UUID                c8h9wm-mSiC-Jhq8-i9BT-0Bd8-fuc6-DtJ3IY
 +  LV Write Access        read/write
 +  LV Status              available
 +  # open                 0
 +  LV Size                2.00 GiB
 +  Current LE             512
 +  Segments               1
 +  Allocation             inherit
 +  Read ahead sectors     auto
 +  - currently set to     256
 +  Block device           253:3
 +</code>
 +</WRAP>
 +
 +6. DRBD1노드에서 DRBD에게 늘어난 LV의 사이즈를 인식시켜 주는 작업을 진행합니다.  
 +<WRAP prewrap>
 +<code bash>
 +[root@DRBD1 ~]# drbdadm resize r1
 +</code>
 +</WRAP>
 +
 +7. DRBD 메타데이터에도 LV의 사이즈가 늘어난 상태로 인식이 되고, 증가된사이즈 만큼 resync가 진행됩니다. 
 +<WRAP prewrap>
 +<code bash>
 +[root@DRBD2 ~]# cat /proc/drbd 
 +version: 8.3.13 (api:88/proto:86-96)
 +GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by dag@Build64R6, 2012-05-07 11:52:13
 + 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
 +    ns:365400 nr:0 dw:0 dr:374512 al:0 bm:22 lo:1 pe:29 ua:64 ap:0 ep:1 wo:b oos:1735324
 +        [==>.................] sync'ed: 17.4% (1735324/2097052)K
 +        finish: 0:01:27 speed: 19,872 (17,224) K/sec
 +</code>
 +</WRAP>
 +
 +8. Resync가 완료되면, DRBD2노드(Target)에서도 동일하게 DRBD의 meta data 갱신을 진행합니다. 
 +<WRAP prewrap>
 +<code bash>
 +[root@DRBD2~]# drbdadm resize r1
 +</code>
 +</WRAP>
 +
 +9. 양쪽 노드 모두에  LV의 사이즈가 증가되고, DBRD가  Resize된 정보 까지 모두 인식이 되었지만, 파일시스템에서는 2G로 인식하지 않고, 여전히 1G로 인식됩니다. 
 +<WRAP prewrap>
 +<code bash>
 +[root@DRBD1 ~]# df -h
 +Filesystem            Size  Used Avail Use% Mounted on
 +/dev/mapper/vg_drbd1-lv_root
 +                       15G  4.7G  9.0G  35% /
 +tmpfs                 499M   88K  499M   1% /dev/shm
 +/dev/sda1             485M   33M  428M   7% /boot
 +/dev/drbd0  1008M   34M  924M   4% /test
 +</code>
 +</WRAP>
 +
 +10. DRBD1노드에서 resize2fs 명령을 이용하여, 파일시스템에 늘어난 사이즈를 인식시킵니다. 
 +<WRAP prewrap>
 +<code bash>
 +[root@DRBD1 ~]# resize2fs /dev/drbd0
 +resize2fs 1.41.12 (17-May-2010)
 +Filesystem at /dev/drbd0 is mounted on /test; on-line resizing required
 +old desc_blocks = 1, new_desc_blocks = 1
 +Performing an on-line resize of /dev/drbd0 to 524288 (4k) blocks.
 +The filesystem on /dev/drbd0 is now 524288 blocks long.
 +</code>
 +</WRAP>
 +
 +11. DRBD1 노드에서 파일시스템 사이즈를 최종 확인합니다. 
 +<WRAP prewrap>
 +<code bash>
 +[root@DRBD1 ~]# df -h
 +Filesystem            Size  Used Avail Use% Mounted on
 +/dev/mapper/vg_drbd1-lv_root
 +                       15G  4.7G  9.0G  35% /
 +tmpfs                 499M   88K  499M   1% /dev/shm
 +/dev/sda1             485M   33M  428M   7% /boot
 +/dev/drbd0   2.0G   34M  1.9G   2% /test
 +</code>
 +</WRAP>
  
  • drbd_에서_lvm_사용시_파일시스템_및_디스크_확장_방법.txt
  • 마지막으로 수정됨: 2016/06/02 11:05
  • 저자 koov