[Bash] 여러개의 Disk를 모아서 mount하기

2025. 4. 28. 00:14Developers 공간 [Shorts]/Software Basic

728x90
반응형
<분류>
A. 수단
- OS/Platform/Tool : Linux, Kubernetes(k8s), Docker, AWS
- Package Manager : node.js, yarn, brew, 
- Compiler/Transpillar : React, Nvcc, gcc/g++, Babel, Flutter

- Module Bundler  : React, Webpack, Parcel

B. 언어
- C/C++, python, Javacsript, Typescript, Go-Lang, CUDA, Dart, HTML/CSS

C. 라이브러리 및 프레임워크 및 SDK
- OpenCV, OpenCL, FastAPI, PyTorch, Tensorflow, Nsight

 


1. What? (현상)

 

이번 글에서는 LVM(Logical Volume Manager)에 대해 설명하려고 합니다.

 

리눅스에서 여러개의 Disk들을 모아서 하나의 Disk처럼 mount하고 사용할 때 사용하는 프레임워크입니다.

 

LVM을 사용하기 위해 아래의 개념 몇가지를 인지해야합니다.

  • 물리적 볼륨(PV, Physical Volume) : 실제 물리 디스크
  • 볼륨 그룹(VG, Volume Group) : 여러개의 물리적 볼륨을 하나로 묶어 놓은 그룹
  • 논리적 볼륨(LG, Logical Volume) : 볼륨 그룹을 원하는 형태로 다시 분리해서 묶은 논리적 그룹

[https://www.thegeekdiary.com/redhat-centos-a-beginners-guide-to-lvm-logical-volume-manager/]

 

그럼 과정을 살펴보겠습니다.


2. Why? (원인)

  • X

3. How? (해결책)

먼저 lvm을 설치해줍니다.

sudo apt-get install lvm2

 

 

1. 현재 서버에 디스크들이 어떤 것들이 있는지 확인

 

아래와 같은 명령어를 통해 어떤 disk를 묶어야 할지 먼저 디스크 목록을 살펴봅니다.

lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   232.9G  0 disk
sdb      8:16   0 931.5G  0 disk
sdc      8:16   0 931.5G  0 disk
sdd      8:16   0 931.5G  0 disk
sde      8:16   0 931.5G  0 disk
더보기

----------------------------------------------------

<disk 조회하는 다른 명령어들>

 

아래와 같은 명령어로 disk들을 살펴볼 수 있습니다.

ls /dev/

sudo fdisk -l

lsblk

 

이외에 UUID까지를 확인하고 싶으면 아래와 같은 명령어로 확인할 수 있습니다.

** UUID(Universally Unique IDentifier) : 디스크, 파티션, 파일 시스템, LVM 등을 고유하게 식별하기 위해 사용하는 식별자

sudo blkid

ls -l /dev/disk/UUID
ls -l /dev/disk/by-uuid/

----------------------------------------------------

 

2. (디스크 각각) 해당 디스크에 파티션을 생성 (선택)

 

파티션은 디스크 용량을 어떻게 나누어야할지 설정하는 것으로, 전체를 사용하려면 하나의 파티션으로 구성합니다.

 

아래는 /dev/sdf라는 디스크를 하나의 파티션으로 구성하는 명령어입니다.

fdisk /dev/sdf

 

3. (디스크 각각) 물리적 볼륨 생성

 

"생성된 파티션의 이름"이나 "해당 디스크의 이름"을 활용해 그 디스크에 물리적 볼륨을 생성합니다.

sudo pvcreate /dev/sdb

# Check
sudo pvdisplay

 

4. 볼륨 그룹 생성

 

위로 인해 만들어진 각각의 물리적 볼륨들을 묶어서 하나의 볼륨 그룹을 만듭니다. 아래는 MY_GROUP이라는 볼륨 그룹을 만들었습니다.

sudo vgcreate MY_GROUP /dev/sdb /dev/sdc /dev/sdd /dev/sde

# Check
sudo vgdisplay

 

5. 논리적 볼륨 생성

 

위의 볼륨 그룹에서 내가 사용할 논리적 볼륨을 생성합니다. 아래는 MY_GROUP 볼륨 그룹에서 MY_LOGICAL_GROUP이라는 논리적 볼륨을 만든 것입니다.

sudo lvcreate —size 3.6TB —name MY_LOGICAL_GROUP MY_GROUP

# Check
sudo lvdisplay

 

6. 파일시스템 할당

 

해당 논리적 볼륨에 파일시스템을 할당합니다. 위치는 위 MY_GROUP MY_LOGICAL_GROUP으로 이루어져 있습니다.

sudo mkfs.ext4 /dev/MY_GROUP/MY_LOGICAL_GROUP

 

7. 내가 사용할 폴더에 마운트

 

root위치에 있는 /data에 mount해서 해당 파일시스템을 사용하려고 합니다.

sudo mkdir /data

sudo mount /dev/MY_GROUP/MY_LOGICAL_GROUP /data

https://log4day.tistory.com/38 

728x90
반응형