뒤에서 몰래 하고 있던 실험 때문에 데이터가 너무 금방 차오르던 기존의 연구실 서버… 어차피 새로 구축해야 할 겸 해서 안쓰는 컴의 하드를 두개 더 떼다가 연결해서 하드를 셋 구겨넣고 LVM으로 볼륨을 묶어서 관리하자라고 생각해서 진행해 보았다. (원래 하드가 셋인데 왠지 모르게 하나가 망가짐)
어차피 우분투 서버 재설치를 진행하면서, 항상 파티션 영역에 대해서는 귀찮아서 걍 전체 디스크를 LVM을 이용해서 사용한다고 선택하고 한다. 그러면 알아서 로직 볼륨으로는 root랑 swap을 만들어주던 이녀석… 언젠간 쓰겠지 하면서 한번도 안썼던 LVM…
그래서 이번에도 마찬가지로 일단 하드 하나 연결했을 때 설치를 진행했다.
그리고 나서 하드 두개를 마저 연결한 다음, 부팅 후 처음 설치 때 만들어진 LVM 그룹에 이 두 하드를 추가해서 root를 늘리고 싶었다.
이것 저것 찾아보니 방법은 있더라. 대부분은 새로운 그룹을 만들어서 처리하는 방법에 대해 주로 서술했는데, 기존 것에 추가하는 것도 별 차이는 없으니 걍 따라만 해보면 될 거 같다. 스샷을 하나도 못찍어서 걍 글과 명령어로 설명함. 그리고 당연히 운영체제 설치된 파티션을 확장하는 것이니 나중에 위험이 될 수도 있다. 그래도 하려면 따라해 보면 될 듯.
- fdisk /dev/sdb
추가할 하드를 설정해야 한다. 디스크의 파티션을 전부 지우고 새로 만드는데, primary 파티션으로 나머진 그냥 다 기본 설정으로 진행한다. 그러면 모든 용량 다 쓰는 파티션이 만들어지는데, 이 파티션의 설정을 바꿔야 한다. 8e코드인 “Linux VM”이라는 걸 선택한다. LVM에 사용되는 하드는 이렇게 전용 하드 설정을 가지고 있다. 원하는 하드를 전부 이런 식으로 만들어준다.
- pvcreate를 이용해 생성된 sdb1, sdc1을 만들어줌
이젠 직접적인 물리 볼륨을 만들어준다. format하는 것과 동일한 방법이라고 생각하면 된다.
pvcreate /dev/sdb1
pvcreate /dev/sdc1
- 기존 볼륨그룹 확인: vgdisplay
LVM의 볼륨 그룹을 확인하기 위한 명령어이다. 이걸 통해 어떤 볼륨 그룹이 마운트 되어있는지 이름을 확인할 수도 있고, 실제 할당량도 확인할 수 있다. 여기서 볼륨 이름을 확인해준다.
- 생성된 pv를 기존 볼륨 그룹에 추가: vgextend
기존의 볼륨 그룹에 추가를 해주는데, 명령어 vgextend를 사용하면 된다.
vgextend HSCLAB-Server-vg /dev/sdb1
vgextend HSCLAB-Server-vg /dev/sdc1
- 추가된 사이즈를 로지컬 볼륨에 확장해줌: lvextend
이젠 논리 볼륨의 사이즈를 추가한다. lvextend 명령어를 통해 직접 추가를 해주면 된다. -l을 이용하여 PE 사이즈로 추가할 수도 있고, -L 옵션을 줘서 용량 단위로 추가해 줄 수도 있다. 편한대로 추가해주면 된다.
lvextend -L +500G /dev/HSCLAB-Server-vg/root
lvextend -L +7G /dev/HSCLAB-Server-vg/swap
- 볼륨 그룹을 다시 확인
제대로 적용되었는지 다시 확인해준다.
- 로직 볼륨 정보 확인: lvdisplay
로직 볼륨도 확장되었는지 확인한다.
- 디스크 용량 확인: df -h
디스크 용량 확인하는 명령어로 용량이 얼마나 적용되어있는지 확인해본다. 근데 여기선 분명 적용 안되어 있을 것이다!
- 디스크 용량 적용: resize2fs
운영체제가 적용된 디스크 리사이즈를 바로 반영하지 않는다. 특히 파티션 관련된 작업에 대해서는 여러모로 신중하다. 그래서 명령어를 쳐서 직접 용량을 적용해 줘야 한다. 논리 볼륨에 직접 적용해주자.
resize2fs /dev/HSCLAB-Server-vg/root
resize2fs /dev/HSCLAB-Server-vg/swap
적용하고 나서 용량을 다시 확인하면 늘어나 있는 것을 확인할 수 있다.
전부 다 적용된 상태가 아래와 같다. 뭣 모르고 용량 계산 잘못해서 8기가 정도 남겼는데.. 뭐, 나중에 수정하자.
은근 어려운 거 같으면서도 어렵진 않았다. 이 방법은 RAID를 통해 오류 복구를 하거나 하는 방식이 아니라 그냥 논리적인 볼륨을 만들어서 사이즈를 늘리고 줄이는 게 목적인 만큼 파티션 꼬이면 문제 많이 되므로 확실하게 하나 하나 진행해 나가야 한다.
“LVM으로 씨름 좀 했네..ㅠㅠ”의 한가지 생각