LVM 확장 논리 디스크 형태로 마운트하기

작성자 김민태 수정일 2022-10-17 13:49

#lvm, #논리그룹, #물리그룹, #Linux, #리눅스

들어가며

  • 리눅스 파일포맷과 논리볼륨 그룹을 LVM 확장 드라이버 포맷 형식으로 Mount하게 되면 아래와 같은 특징이 있습니다. 


장점 : 디스크 볼륨의 용량이 모자를 때 LVM영역의 논리 그룹의 자원을 서비스 영향을 최소화하며 증설 시킬 수 있음.


단점 : 증설이 완료 되면 반대로 유휴 리소스 자원을 회수하는 것은 불가능하므로 초기 너무 많은 리소스를 할당하지 않게 주의 해야함




내용


아래의 가이드에 따라 LVM 파일 포맷 형식으로 마운트 해봅니다.


하드디스크를 추가 후 장치 인식이 제대로 되었는지 확인합니다.


fdisk -l 

✓ 하드 디스크 추가 장착 전(前)


✓ 하드 디스크 추가 장착 후(後)



✻ 10GiB의 새 하드디스크 추가를 예시로 가이드 진행하겠습니다.   ( 장치  /dev/sdb)


물리 디스크를 인식 시키기 위해 fdisk 매니저를 실행합니다. 


fdisk /dev/sdb 

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x4f88d8e5.

Command (m for help): 






Command를 입력할 때 n 버튼을 입력하고 enter를 5번 정도 누르면 대부분의 값이 기본값으로 자동 생성 됩니다. 
Command (m for help): n  <n 입력후 enter입력>
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended

Select (default p):  <enter입력>

Using default response p
Partition number (1-4, default 1): <enter입력>

First sector (2048-20971519, default 2048): <enter입력>

Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): 
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set





LVM 논리 확장 방식을 지정합니다.


Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Hex code 값을 입력할 때 8e 를 입력하여 Linux LVM으로 선택합니다.



✓ 기타 여러가지 Linux 파일 마운트 포맷 리스트를 보려면 l 을 입력합니다.


Command (m for help): l

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      


 


설정이 제대로 적용 되었는지 확인하기 위해 p 를 누릅니다.


Command (m for help):  p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x4f88d8e5

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20971519    10484736   8e  Linux LVM





설정을 확인하였다면 w 를 입력하여 해당 상태를 저장하고 마운트 옵션을 적용합니다. 
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.





제대로 인식 되었는지 다시 fdisk -l 옵션으로 확인합니다. 


fdisk -l 

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20971519    10484736   8e  Linux LVM





해당 디스크를 LVM 확장 논리 디스크로 만들기 위해 포맷을 진행합니다.
 pvcreate /dev/sdb1 
  Physical volume "/dev/sdb1" successfully created.

※ 만약 해당 명령어가 패키지 설치가 안 되어 있어 사용이 불가하다면 yum install -y lvm2 로 설치합니다.



볼륨 그룹을 생성합니다.       * 추가할 볼륨 그룹이 이미 생성되어 있다면 이 과정은 생략합니다.
vgcreate <볼륨그룹이름> /dev/sdb1 
 Volume group "볼륨그룹이름" successfully created
볼륨 그룹 리스트를 확인하려면 아래의 명령어를 입력합니다.
vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <99.00 GiB
  PE Size               4.00 MiB
  Total PE              25343
  Alloc PE / Size       25342 / 98.99 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               

✓ centos 라는 볼륨 그룹이 미리 생성되어있는 것을 확인 할 수 있습니다.



볼륨 그룹에 새로운 논리 볼륨을 생성합니다.


lvcreate -n <논리볼륨이름> -l 100%FREE spsd
  Logical volume "<논리볼륨이름>" created.



※ 이미 생성되어 있는 논리 볼륨이 있다면 아래의 명령어로 조회 가능합니다.


lvdisplay
   
  --- Logical volume ---
  LV Path                /dev/centos/data
  LV Name                data
  VG Name                centos
  LV UUID                bR5y8u-2QMI-SL0E-tsmd-mrQW-Pffo-YcSFy8
  LV Write Access        read/write
  LV Creation host, time rsc-master2, 2022-09-23 02:23:01 -0400
  LV Status              available
  # open                 1
  LV Size                <61.12 GiB
  Current LE             15646
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/spsd/sparklingsoda
  LV Name                sparklingsoda
  VG Name                spsd
  LV UUID                STLM8T-Lqre-l8xg-VnFB-OhPw-5HzD-y4f5sH
  LV Write Access        read/write
  LV Creation host, time rsc-master2, 2022-10-11 00:34:17 -0400
  LV Status              available
  # open                 0
  LV Size                <10.00 GiB
  Current LE             2559
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

- /dev/centos/data 라는 논리 볼륨이 이미 생성되어 있던 것을 확인할 수 있습니다.



해당 논리 볼륨의 파일시스템을 실제 사용하기 위해 포맷 합니다. 


mkfs.xfs /<논리볼륨경로>
meta-data=/<논리볼륨경로> isize=512    agcount=4, agsize=655104 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2620416, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


✖︎ 파일 시스템이 xfs 로 포맷 되었습니다.





생성 된 논리 볼륨 시스템을 원하는 디렉토리에 마운트 합니다. 


✓ 예시로 /data 디렉토리로 마운트 합니다.
mkdir /data
mount <논리그룹경로> /data






마무리


정상적으로 마운트 된 것을 확인할 수 있습니다.




위 마운트 설정은 시스템 재부팅시 자동 마운트 되지 않으므로 아래와 같이 fstab 에도 등록합니다.


vi /etc/fstab

#
# /etc/fstab
# Created by anaconda on Fri Sep 23 03:35:22 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=3d54a8b4-54f9-43c9-b5ba-9f40e488fd11 /boot                   xfs     defaults        0 0
/dev/mapper/centos-data /data                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/spsd/sparklingsoda /data xfs defaults 0 0 












아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300