Profile picture

[Proxmox] Proxmox HDD(하드) 증설/삭제

JaehyoJJAng2024년 01월 23일

개요

운영 중인 Proxmox에 신규 디스크(HDD)를 증설 또는 삭제하는 방법에 대해 기록해보려고 한다.


1. 디스크 증설

1-1. 신규 디스크 포맷

작업 진행 전에 먼저 신규 디스크를 포맷 해주고 시작하자.
image
만약 하위에 sda1, sda2 .. 등의 파티션이 이미 존재하는 경우 해당 파티션들을 먼저 초기화 해주고나서 sda를 초기화 해주자.


1-2. 디스크 확인

먼저 lsblk 명령어로 추가할 디스크의 위치를 확인합니다.

새롭게 추가할 디스크는 위 lsblk로 검색되는 sda 디스크입니다.

nvme 등 다른 형태의 디스크이거나 디스크 갯수가 다양할 경우 디스크 이름은 다를 수 있습니다.

lsblk

image


1-3. parted 패키지 설치 확인

먼저 apt 목록에 parted가 존재하는지 확인해봅니다.

리눅스의 parted는 디스크에 파티션을 만들거나 포맷을 하는 등 다양한 기능을 제공하는 리눅스 프로그램 입니다.

apt policy parted

image


parted가 조회된디면 apt 명령어로 설치해줍니다.

apt install -y parted

1-4. 파티션 생성

설치가 완료되면 sda 디스크를 gpt 파티션 레이블로 만들어줍시다.

parted /dev/sda mklabel gpt

이후 gpt 파티션을 ext4 파일시스템으로 디스크 0% ~ 100%까지 채워준다고 설정해줍시다.
이후에는 sda1이라는 새로운 파티션이 생성됩니다.

parted -a opt /dev/sda mkpart primary ext4 0% 100%

image


1-5. 파일 시스템 생성

새로 생성된 파티션 sda1에 원하는 볼륨 레이블로 ext4 파일 시스템을 생성해줍니다.

드라이버를 추가하거나 제거할 때 장치 이름(sda1)이 변경될 수 있으므로 파티션에 레이블을 지정하는 것을 권장합니다.

mkfs.ext4 -L storageprox /dev/sda1

위 예제에서는 storageprox라는 이름으로 레이블을 생성하였습니다.
image


1-6. 드라이브 마운트

image

lsblk -fs | grep -A 1 "^sda"

이제 원하는 폴더에 위 sda1 드라이브를 마운트할 수 있습니다.

폴더를 하나 만들어 위 드라이브(sda1)를 마운트 해보도록 합시다.

mkdir -p /mnt/data

통일된 사용성을 위해 마운트 위치는 /mnt 경로로 설정하겠습니다.

/mnt안에 새 디스크의 데이터를 호스팅 할 폴더를 만듭니다.


1-7. /etc/fstab에 마운트 옵션 추가

디스크 설정 파일인 /etc/fstab 파일을 편집하여 마운트 옵션을 추가하도록 합시다.

마운트 옵션을 fstab에 추가하게 되면 부팅 시 자동으로 마운트됩니다.

LABEL=storageprox /mnt/data ext4 defaults 0 2

fstab 가장 하단에 위처럼 아까 이름을 지정해둔 storageprox 디스크를 추가해줍니다.


1-8. 마운트 정보 적용

업데이트된 마운트 정보를 바로 적용하도록 마운트 ALL 해줍시다.

mount -a

최종적으로 위처럼 마운트가 정상적으로 됩니다.

/mnt/data 디렉토리에 디스크가 정상적으로 연결되어 앞으로 Proxmox web에서도 사용이 가능합니다.

🔑 확인하고 가요

다만 아직까지는 시스템 상에서만 추가된 것이므로 실제 web에서도 사용하기 위해선 proxmox web에 등록해야만 합니다


1-9. 새로 추가한 디스크를 Proxmox Web에서도 사용하기

먼저 디스크를 연동하기 위해서는 Proxmox web에서의 연결을 위해 마운트용 폴더를 만들어주어야 합니다.

이는 ssh로 접속하여 위의 폴더 생성 명령어를 실행해주도록 합니다.

여기서는 아까 추가했던 /mnt/data 폴더를 지정해줄 것입니다.


디스크 마운트는 4가지 형식으로 가능합니다.
image


Mount Type Desc
LVM LVM은 하드 디스크와 파티션 위에 있는 가벼운 소프트웨어 계층입니다. 사용 가능한 디스크 공간을 더 작은 논리 볼륨으로 분할하는 데 사용할 수 있습니다. LVM은 Linux에서 널리 사용되며 하드 드라이브를 더 쉽게 관리할 수 있습니다.
LVM과 LVM-Thin의 차이 LVM은 일반적으로 볼륨을 생성할 때 블록을 할당합니다. 대신 LVM 씬 풀은 블록이 기록될 때 블록을 할당합니다. 볼륨이 물리적으로 사용 가능한 공간보다 훨씬 클 수 있기 때문에 이 동작을 씬 프로비저닝이라고 합니다.
디렉터리 흔히들 알고계시는 디스크를 특정 디렉터리에 마운트하는 방법입니다.
proxmox 에서 /mnt/pve/에 디렉터리를 만들고 여기에 디스크를 마운트하는구조입니다. 데이터로 쓰기에는 안성맞춤입니다.
ZFS 관련 내용이 매우 많기에 구글링을 추천드립니다.

image
Proxmox Web에 접속해서 (1) 데이터 센터라는 메뉴를 눌러줍니다.

우측의 서브메뉴를 보시면 Storage(스토리지) 라는 메뉴가 보입니다.

클릭 후 add(추가) 버튼을 눌러 디스크를 연동하도록 하겠습니다.

여기서는 간단하게 디렉토리 형식으로 마운트하겠습니다.
image
ID의 경우 /etc/fstab에 마운트 옵션 추가에서 지정해줬던 LABEL명을 입력해주면 됩니다.


요약된 내용은 아래와 같습니다.
image


2. 디스크 삭제

이미 사용되고 있는 디스크를 언마운트와 초기화하려면 디스크 증설의 역순으로 진행해주면 된다.


데이터 센터 -> 스토리지에서 스토리지를 제거하고
image


Proxmox 서버의 쉘로 가서 umount 명령어로 언마운트 시켜주면 된다.
image


그리고 /etc/fstab에서 등록했었던 디스크 LABEL 정보를 삭제하고
image


그 후, 다시 해당 디스크를 초기화 해주면 끝이다.
image


Loading script...