[Linux] RHEL XFS LVM 디스크 증설 완벽 가이드

2025. 5. 16. 00:34·깐돌의 클라우드 도구함
728x90

안녕하세요! 오늘은 RHEL (Red Hat Enterprise Linux) 환경에서 XFS 파일 시스템을 사용하는 LVM (Logical Volume Manager) 디스크를 증설하는 방법에 대해 자세히 알아보겠습니다. 이 가이드는 엔지니어 여러분들이 실제 작업 환경에서 막힘없이 따라 할 수 있도록 구성되었습니다.

목차

  1. 디스크 정보 확인: 증설할 디스크의 상태를 확인합니다.
  2. PV (Physical Volume) 정보 확인: LVM의 기본 단위인 PV 정보를 확인합니다.
  3. PV 생성: 새로운 디스크를 PV로 등록합니다.
  4. VG (Volume Group) 확장: PV를 추가하여 VG의 용량을 확장합니다.
  5. LV (Logical Volume) 리사이징: VG의 확장된 용량을 기반으로 LV의 크기를 조정합니다.
  6. XFS 리사이징: 파일 시스템을 확장하여 변경된 LV 크기를 반영합니다.

1. 디스크 정보 확인

디스크 증설 작업을 시작하기 전에 현재 시스템에 어떤 디스크들이 연결되어 있는지, 그리고 증설할 디스크가 정상적으로 인식되고 있는지 확인하는 것이 첫 번째 단계입니다. fdisk 명령어를 사용하여 디스크 정보를 확인하고, grep 명령어를 통해 특정 디스크 장치명 (예: /dev/vd)을 필터링하여 필요한 정보만 추출할 수 있습니다.


[root@rhosp-tb0-test ~]# fdisk -l | grep "dev/vd"
Disk /dev/vda: 128.8 GB, 128849018880 bytes, 251658240 sectors
/dev/vda1   * 2048     2099199     1048576   83  Linux
/dev/vda2          2099200   251658239   124779520   8e  Linux LVM
Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors

위 출력 결과에서 /dev/vdb 라는 53.7 GB 크기의 새로운 디스크가 시스템에 추가된 것을 확인할 수 있습니다. 이 디스크를 LVM에 추가하여 기존 볼륨 그룹의 용량을 확장할 것입니다.

Tip: lsblk 명령어는 디스크와 파티션 정보를 트리 형태로 보여주어 더욱 직관적으로 확인할 수 있습니다. 함께 활용해 보세요.

Red Hat LVM 관리 문서

2. PV (Physical Volume) 정보 확인

LVM에서 가장 기본적인 블록 장치인 PV (Physical Volume)는 실제 물리적인 디스크나 파티션에 해당합니다. LVM을 사용하기 위해서는 먼저 물리적인 저장 공간을 PV로 등록해야 합니다. pvscan 명령어를 사용하여 현재 시스템에 등록된 PV들의 정보와 상태를 확인할 수 있습니다.


[root@rhosp-tb0-test ~]# pvscan
  PV /dev/vda2   VG rhel_director   lvm2 [<119.00 GiB / 0    free]
  Total: 1 [<119.00 GiB] / in use: 1 [<119.00 GiB] / in no VG: 0 [0    ]

위 결과는 /dev/vda2 파티션이 rhel_director 라는 Volume Group에 속해 있으며, 총 용량은 약 119GB이고 현재 사용 중임을 나타냅니다. 아직 새로운 디스크 /dev/vdb는 PV로 등록되지 않았기 때문에 in no VG 항목에 표시되지 않습니다.

참고: PV를 생성하기 전에 디스크에 파티션을 생성할 수도 있지만, 전체 디스크를 PV로 사용하는 것이 일반적입니다.

리눅스 LVM pvcreate 설명

3. PV 생성

이제 새로운 디스크 /dev/vdb를 LVM에서 사용할 수 있도록 PV로 생성해야 합니다. pvcreate 명령어를 사용하여 특정 디스크 장치를 PV로 초기화할 수 있습니다.


[root@rhosp-tb0-test ~]# pvcreate /dev/vdb
  Physical volume "/dev/vdb" successfully created.

pvcreate /dev/vdb 명령어를 실행하면 /dev/vdb 디스크가 LVM Physical Volume로 성공적으로 생성됩니다. 이제 다시 pvscan 명령어를 실행하여 변경된 PV 정보를 확인해 보겠습니다.


[root@rhosp-tb0-test ~]# pvscan
  PV /dev/vda2   VG rhel_director   lvm2 [<119.00 GiB / 0    free]
  PV /dev/vdb                      lvm2 [50.00 GiB]
  Total: 2 [<169.00 GiB] / in use: 1 [<119.00 GiB] / in no VG: 1 [50.00 GiB]

출력 결과를 보면 /dev/vdb가 PV로 등록되었으며, 아직 어떤 Volume Group에도 속해 있지 않고 약 50GB의 용량을 가지고 있는 것을 확인할 수 있습니다.

주의: 이미 데이터가 있는 디스크를 pvcreate로 초기화하면 기존 데이터가 모두 손실되므로 주의해야 합니다.


4. VG (Volume Group) 확장

생성된 PV /dev/vdb를 기존의 Volume Group rhel_director에 추가하여 VG의 전체 용량을 확장할 차례입니다. vgextend 명령어를 사용하여 특정 PV를 기존 VG에 추가할 수 있습니다.


[root@rhosp-tb0-test ~]# vgextend rhel_director /dev/vdb
  Volume group "rhel_director" successfully extended

vgextend rhel_director /dev/vdb 명령어를 실행하면 /dev/vdb PV가 rhel_director VG에 성공적으로 추가됩니다. 이제 vgdisplay 명령어를 사용하여 확장된 Volume Group의 정보를 확인해 보겠습니다.


[root@rhosp-tb0-test ~]# vgdisplay rhel_director | grep "VG Size"
  VG Size               168.99 GiB

VG Size 항목을 확인하면 Volume Group의 전체 크기가 기존의 약 119GB에서 약 169GB로 확장된 것을 확인할 수 있습니다. 이는 새로 추가한 /dev/vdb PV의 용량 (약 50GB)이 반영된 결과입니다.

활용: 여러 개의 PV를 하나의 VG에 추가하여 유연한 스토리지 풀을 구성할 수 있습니다.


5. LV (Logical Volume) 리사이징

Volume Group의 용량이 확장되었으므로, 이제 실제로 사용할 Logical Volume의 크기를 늘려야 합니다. 여기서는 /dev/rhel_director/root LV의 용량을 확장할 것입니다. 먼저 lvscan 명령어를 사용하여 현재 LV들의 정보와 상태를 확인합니다.


[root@rhosp-tb0-test ~]# lvscan
  ACTIVE            '/dev/rhel_director/swap' [12.00 GiB] inherit
  ACTIVE            '/dev/rhel_director/root' [<107.00 GiB] inherit

/dev/rhel_director/root LV의 현재 크기는 약 107GB입니다. 이제 lvextend 명령어를 사용하여 이 LV의 크기를 확장합니다. -l +100%FREE 옵션은 Volume Group에 남아있는 모든 여유 공간을 LV에 할당하라는 의미이며, -n 옵션 뒤에는 확장할 LV의 경로를 지정합니다.


[root@rhosp-tb0-test ~]# lvextend -l +100%FREE -n /dev/rhel_director/root
  Size of logical volume rhel_director/root changed from <107.00 GiB (27391 extents) to 156.99 GiB (40190 extents).
  Logical volume rhel_director/root successfully resized.

명령어가 성공적으로 실행되면 /dev/rhel_director/root LV의 크기가 약 157GB로 늘어난 것을 확인할 수 있습니다. 다시 lvscan 명령어를 실행하여 변경된 LV 정보를 확인합니다.


[root@rhosp-tb0-test ~]# lvscan
  ACTIVE            '/dev/rhel_director/swap' [12.00 GiB] inherit
  ACTIVE            '/dev/rhel_director/root' [156.99 GiB] inherit

/dev/rhel_director/root LV의 크기가 성공적으로 확장된 것을 확인할 수 있습니다.

팁: 특정 크기만큼만 늘리고 싶다면 -L +[크기] 옵션을 사용할 수 있습니다. 예를 들어 50GB를 추가하고 싶다면 -L +50G와 같이 사용합니다.


6. XFS 리사이징

Logical Volume의 크기를 확장했더라도, 실제 파일 시스템의 크기는 아직 변경되지 않았습니다. 따라서 파일 시스템을 확장하여 변경된 LV 크기를 인식하도록 해야 합니다. 여기서는 XFS 파일 시스템을 사용하고 있으므로 xfs_growfs 명령어를 사용하여 파일 시스템을 리사이징합니다. 먼저 df -Th 명령어를 사용하여 현재 파일 시스템의 마운트 정보와 사용량을 확인합니다.


[root@rhosp-tb0-test ~]# df -Th
Filesystem                         Type      Size  Used Avail Use% Mounted on
...
/dev/mapper/rhel_director-root    xfs       107G   46G   61G  43% /
...

/dev/mapper/rhel_director-root (이는 /dev/rhel_director/root LV에 해당합니다)의 크기가 여전히 107GB로 표시되는 것을 확인할 수 있습니다. 이제 xfs_growfs 명령어를 사용하여 파일 시스템을 확장합니다. 파일 시스템이 마운트된 경로를 인수로 전달하면 됩니다.


[root@rhosp-tb0-test ~]# xfs_growfs /dev/rhel_director/root
meta-data=/dev/mapper/rhel_director-root isize=512    agcount=4, agsize=7012096 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=28048384, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal                bsize=4096   blocks=13695, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 28048384 to 41154560

명령어가 성공적으로 실행되면 파일 시스템의 데이터 블록 수가 변경된 것을 확인할 수 있습니다. 이제 다시 df -h 명령어를 실행하여 파일 시스템의 크기가 확장되었는지 확인합니다.


[root@rhosp-tb0-test ~]# df -h
Filesystem                         Size  Used Avail Use% Mounted on
...
/dev/mapper/rhel_director-root     157G   46G  111G  30% /
...

/dev/mapper/rhel_director-root 파일 시스템의 크기가 157GB로 성공적으로 확장된 것을 확인할 수 있습니다. 이제 확장된 공간을 자유롭게 사용할 수 있습니다.

중요: XFS 파일 시스템은 마운트된 상태에서 온라인으로 리사이징이 가능합니다. 다른 파일 시스템의 경우 언마운트 후 리사이징해야 할 수도 있으므로 주의해야 합니다.

xfs_growfs 매뉴얼 페이지

마무리

지금까지 RHEL 환경에서 XFS 파일 시스템을 사용하는 LVM 디스크를 증설하는 전체 과정을 단계별로 자세히 살펴보았습니다. 디스크 정보 확인부터 PV 생성, VG 확장, LV 리사이징, 그리고 마지막으로 XFS 파일 시스템 리사이징까지의 과정을 엔지니어 여러분들이 실제 환경에서 쉽게 따라 할 수 있도록 명령어와 함께 상세하게 설명했습니다.

이 가이드가 여러분의 시스템 관리 작업에 조금이나마 도움이 되었기를 바랍니다. 궁금한 점이나 추가적인 질문이 있으시면 언제든지 댓글로 문의해 주세요. 감사합니다.

728x90
반응형

'깐돌의 클라우드 도구함' 카테고리의 다른 글

[모니터링] RHEL Zabbix 클라이언트 (에이전트) 설치 및 구성 가이드  (0) 2025.05.16
[모니터링] Zabbix 서버 설치 및 구성 가이드  (0) 2025.05.16
[Linux] RHEL Disk 추가 및 마운트 설정 방법  (1) 2025.05.16
[가상화] Neutron - Allowed Address Pair 기능을 활용한 VIP 설정 가이드  (0) 2025.05.16
[가상화] OVS CLI 명령어 정리 – OpenStack 네트워크 운영자를 위한 필수 가이드  (0) 2025.05.15
'깐돌의 클라우드 도구함' 카테고리의 다른 글
  • [모니터링] RHEL Zabbix 클라이언트 (에이전트) 설치 및 구성 가이드
  • [모니터링] Zabbix 서버 설치 및 구성 가이드
  • [Linux] RHEL Disk 추가 및 마운트 설정 방법
  • [가상화] Neutron - Allowed Address Pair 기능을 활용한 VIP 설정 가이드
깐돌씨
깐돌씨
하루하루를 기록하는 공간. 일상에서 얻은 영감, 좋아하는 취미, 그리고 클라우드 업무 팁까지 함께 나눕니다.
  • 깐돌씨
    조용한 깐돌이네
    깐돌씨
  • 전체
    오늘
    어제
    • 분류 전체보기 (133) N
      • 깐돌일기 (58) N
      • 취미탐험대 (19)
      • 깐돌의 클라우드 도구함 (56) N
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    에스엔시스
    리눅스
    rhocp
    Docker
    private registry
    공모주분석
    리눅스 서버
    공모주청약
    2025민생회복소비쿠폰
    IPMI
    KVM
    리눅스 가상화
    신규상장주
    rhel
    RHEL8
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
깐돌씨
[Linux] RHEL XFS LVM 디스크 증설 완벽 가이드
상단으로

티스토리툴바