개요
운영 중인 Proxmox에 신규 디스크(HDD)를 증설 또는 삭제하는 방법에 대해 기록해보려고 한다.
1. 디스크 증설
1-1. 신규 디스크 포맷
작업 진행 전에 먼저 신규 디스크를 포맷 해주고 시작하자.
만약 하위에 sda1
, sda2
.. 등의 파티션이 이미 존재하는 경우 해당 파티션들을 먼저 초기화
해주고나서 sda
를 초기화 해주자.
1-2. 디스크 확인
먼저 lsblk
명령어로 추가할 디스크의 위치를 확인합니다.
새롭게 추가할 디스크는 위 lsblk
로 검색되는 sda
디스크입니다.
nvme 등 다른 형태의 디스크이거나 디스크 갯수가 다양할 경우 디스크 이름은 다를 수 있습니다.
lsblk
1-3. parted 패키지 설치 확인
먼저 apt 목록에 parted
가 존재하는지 확인해봅니다.
리눅스의 parted
는 디스크에 파티션을 만들거나 포맷을 하는 등 다양한 기능을 제공하는 리눅스 프로그램 입니다.
apt policy parted
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%
1-5. 파일 시스템 생성
새로 생성된 파티션 sda1
에 원하는 볼륨 레이블로 ext4 파일 시스템을 생성해줍니다.
드라이버를 추가하거나 제거할 때 장치 이름(sda1
)이 변경될 수 있으므로 파티션에 레이블을 지정하는 것을 권장합니다.
mkfs.ext4 -L storageprox /dev/sda1
위 예제에서는 storageprox
라는 이름으로 레이블을 생성하였습니다.
1-6. 드라이브 마운트
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가지 형식으로 가능합니다.
Mount Type | Desc |
---|---|
LVM | LVM은 하드 디스크와 파티션 위에 있는 가벼운 소프트웨어 계층입니다. 사용 가능한 디스크 공간을 더 작은 논리 볼륨으로 분할하는 데 사용할 수 있습니다. LVM은 Linux에서 널리 사용되며 하드 드라이브를 더 쉽게 관리할 수 있습니다. |
LVM과 LVM-Thin의 차이 | LVM은 일반적으로 볼륨을 생성할 때 블록을 할당합니다. 대신 LVM 씬 풀은 블록이 기록될 때 블록을 할당합니다. 볼륨이 물리적으로 사용 가능한 공간보다 훨씬 클 수 있기 때문에 이 동작을 씬 프로비저닝이라고 합니다. |
디렉터리 | 흔히들 알고계시는 디스크를 특정 디렉터리에 마운트하는 방법입니다. proxmox 에서 /mnt/pve/에 디렉터리를 만들고 여기에 디스크를 마운트하는구조입니다. 데이터로 쓰기에는 안성맞춤입니다. |
ZFS | 관련 내용이 매우 많기에 구글링을 추천드립니다. |
Proxmox Web에 접속해서 (1) 데이터 센터라는 메뉴를 눌러줍니다.
우측의 서브메뉴를 보시면 Storage(스토리지) 라는 메뉴가 보입니다.
클릭 후 add(추가) 버튼을 눌러 디스크를 연동하도록 하겠습니다.
여기서는 간단하게 디렉토리 형식으로 마운트하겠습니다.
ID의 경우 /etc/fstab에 마운트 옵션 추가에서 지정해줬던 LABEL명을 입력해주면 됩니다.
요약된 내용은 아래와 같습니다.
2. 디스크 삭제
이미 사용되고 있는 디스크를 언마운트와 초기화하려면 디스크 증설의 역순으로 진행해주면 된다.
데이터 센터 -> 스토리지에서 스토리지를 제거하고
Proxmox 서버의 쉘로 가서 umount
명령어로 언마운트 시켜주면 된다.
그리고 /etc/fstab에서 등록했었던 디스크 LABEL 정보를 삭제하고
그 후, 다시 해당 디스크를 초기화 해주면 끝이다.