티스토리 뷰

반응형

리눅스 서버를 운영하다 보면 파일시스템을 증설할 일이 많이 생깁니다. 오늘은 XFS 파일시스템을 증설하는 방법에 대해 알려드리도록 하겠습니다. 

 

XFS(확장파일시스템) 과 ext4 파일시스템에 대해 잠깐 설명드리도록 하겠습니다. 

XFS 파일시스템은 1990년도 후반에 개발된 고성능 파일 시스템입니다. 최대 확장 가능한 용량은 XFS 파일 시스템의 버전과 사용하는 운영 체제에 따라 다를 수 있으며, 일반적으로 XFS 파일 시스템은 대규모 데이터 저장을 위해 설계되어 있으므로 매우 큰 용량을 지원합니다. 보통 8EB(엑사바이트)보다 큰 용량을 지원하는 걸로 되어 있습니다. 

ext4 파일시스템은 64비트 기억 공간을 없애고 ext3의 성능을 향상시키며, 하위 호환성이 있는 버전으로 본래는 러스터 파일시스템을 위해 개발 되었습니다.  최대 16TB(테라바이트) 까지 지원가능하며,  1엑사바이트의 볼륨을 지원합니다. 

성능은 많은 요소에 의해 영향을 받으며, 파일 시스템 선택은 사용하는 시나리오에 따라 달라질 수 있습니다. 따라서 특정 상황에서는 ext4가 더 나은 성능을 제공할 수도 있고, 다른 상황에서는 XFS가 더 적합할 수도 있습니다. 성능을 평가하고 비교할 때는 파일 시스템의 크기, 작업 부하 유형, 동시 액세스 패턴 등을 고려해야 합니다.

ext4는 일반적인 용도에 적합한 안정적이고 효율적인 파일 시스템이며, XFS는 대용량 파일 시스템 및 고성능 작업에 적합한 scalable 파일 시스템입니다. 

 

xfs 파일시스템 증설하기

 

기존 320GB 짜리 파일시스템을 420GB로 증설하도록 하겠습니다. 

vwmware 기반으로 vmware에서 기존 하드 디스크의 용량을 320에서 420으로 증설 후 재부팅을 진행합니다.

VMWare에서 디스크 증설 화면

정상적으로 디스크가 증설되었다면 다시 리눅스 화면으로 접속

 

fdisk -l 하면

fdisk -l /dev/sda
GPT PMBR size mismatch (629145599 != 838860799) will be corrected by write.   >> 이런 화면 체크
Disk /dev/sda: 400 GiB, 429496729600 bytes, 838860800 sectors
Disk model: Virtual disk    
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7540E18A-9C6C-4170-9D4E-97CE10FFA2A9

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1230847   1228800   600M EFI System
/dev/sda2  1230848   3327999   2097152     1G Linux filesystem
/dev/sda3  3328000 629143551 625815552 298.4G Linux LVM
parted /dev/sda          <<<< parted로 증설

(parted) P               >>>> print를 해보면 3번에 320기가로 되어 있는것을 확인할 수 있음                                                                
모델: VMware Virtual disk (scsi)
/dev/sda 디스크: 429GB   >>>> 증설된 용량은 420기가로 확인 가능
섹터 크기(논리/실제): 512/B512B
분할 영역 테이블: gpt
디스크 플래그: 

번호  시작    끝      크기    파일 시스템  이름                  플래그
 1    1049kB  630MB   629MB   fat32        EFI System Partition  boot, esp
 2    630MB   1704MB  1074MB  xfs
 3    1704MB  322GB   320GB                                      lvm
(parted) resizepart 3 100%           >>>>> resizepart로 리사이징
(parted) print                       >>>>> print 결과 3번에 420기가로 확장되어 있는것을 확인                                     
모델: VMware Virtual disk (scsi)
/dev/sda 디스크: 429GB
섹터 크기(논리/실제): 512/B512B
분할 영역 테이블: gpt
디스크 플래그: 

번호  시작    끝      크기    파일 시스템  이름                  플래그
 1    1049kB  630MB   629MB   fat32        EFI System Partition  boot, esp
 2    630MB   1704MB  1074MB  xfs
 3    1704MB  429GB   428GB                                      lvm   <<< <<<<<<<<

이제 fdisk -l 를 했을 때 위의 " GPT PMBR size mismatch " 이런 문구는 나오지 않음

확인 했다면, physical volume부터 만든다

 

fdisk -l 로 확인 후 진행

[root@sample]# pvresize /dev/sda3      <<<<<<  신규 피지컬 볼륨을 생성한다. 
  Physical volume "/dev/sda3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
  
[root@sample]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               cs
  PV Size               398.41 GiB / not usable 1.98 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              101993
  Free PE               25600        >>>>> Free PE가 늘어난것을 확인
  Allocated PE          76393
  PV UUID               k1KBQg-YSxo-LMO2-bpko-R3Vf-trPg-uvUBJs
[root@sample]# lvextend -L +100G /dev/root-vol/root  >>> lvdisplay로 lv명을 미리 확인해둘것
 위에 방법도 되고 옆의 방법처럼 Free PE를 넣어도 됨 >>>> lvextend /dev/root-vol/root -l +25600 
  Size of logical volume cs/root changed from 290.41 GiB (74345 extents) to 390.41 GiB (99945 extents).
  Logical volume cs/root successfully resized.
[root@sample]# xfs_growfs /dev/mapper/root--vol-root   >>>>> 최종 확장
meta-data=/dev/mapper/cs-root    isize=512    agcount=4, agsize=19032064 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=76128256, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=37172, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 76128256 to 102343680

[root@sample]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
devtmpfs                      4.0M     0  4.0M   0% /dev
tmpfs                         7.7G     0  7.7G   0% /dev/shm
tmpfs                         3.1G   11M  3.1G   1% /run
/dev/mapper/root--vol-root    420G  5.1G  386G   2% /    >>>>>> 정상 확장 완료
/dev/sda2                     960M  255M  706M  27% /boot
/dev/sda1                     599M  7.5M  592M   2% /boot/efi
tmpfs                1.6G     0  1.6G   0% /run/user/1000

ext4도 방법은 동일하며 나중에 확장하는 명령어인 resize2fs 로 하면 됩니다. 

 

반응형

'IT 일반 > Linux 일반' 카테고리의 다른 글

Linux에서 온라인으로 DISK 추가하는 방법  (0) 2023.02.21
댓글