pvcreate 및 vgcreate 를 사용한 LVM 초기화
이 단계에서는 LVM(Logical Volume Manager) 작업을 시작합니다. LVM 은 Linux 에서 스토리지 장치를 관리하기 위한 강력한 도구입니다. 물리적 하드 드라이브와 파일 시스템 사이에 추상화 계층을 추가하여, 실행 중인 상태에서 볼륨 크기를 조정하는 것과 같은 유연한 구성을 가능하게 합니다.
LVM 의 기본 구성 요소는 다음과 같습니다:
- 물리 볼륨 (Physical Volumes, PVs): 하드 드라이브 파티션이나 이번 실습에서 사용하는 시뮬레이션 디스크와 같은 블록 장치입니다.
- 볼륨 그룹 (Volume Groups, VGs): 하나 이상의 물리 볼륨을 묶어서 만든 스토리지 풀입니다.
- 논리 볼륨 (Logical Volumes, LVs): 볼륨 그룹의 가용 공간에서 생성하는 "가상 파티션"입니다. 이 LV 위에 파일 시스템을 생성하게 됩니다.
먼저 필요한 도구인 lvm2와 mdadm이 설치되어 있는지 확인합니다.
sudo apt-get update && sudo apt-get install -y lvm2 mdadm
이 환경에는 여분의 물리 하드 드라이브가 없으므로 루프 장치를 사용하여 시뮬레이션합니다. 루프 장치를 사용하면 파일을 블록 장치처럼 취급할 수 있습니다. 프로젝트 디렉토리에 디스크 이미지 역할을 할 256MB 크기의 파일 두 개를 생성하는 것으로 시작합시다.
truncate -s 256M disk1.img disk2.img
이제 파일이 올바른 크기로 생성되었는지 확인합니다.
ls -lh
다음과 유사한 출력이 표시되어야 합니다:
total 0
-rw-r--r-- 1 labex labex 256M Jan 1 12:00 disk1.img
-rw-r--r-- 1 labex labex 256M Jan 1 12:00 disk2.img
이제 이 이미지 파일들을 루프 장치에 연결합니다. 여기서는 /dev/loop20과 /dev/loop21을 사용하겠습니다.
sudo losetup /dev/loop20 disk1.img
sudo losetup /dev/loop21 disk2.img
"디스크"(/dev/loop20 및 /dev/loop21) 가 준비되었으므로, pvcreate 명령을 사용하여 LVM 물리 볼륨으로 초기화할 수 있습니다.
sudo pvcreate /dev/loop20 /dev/loop21
출력을 통해 PV 가 성공적으로 생성되었음을 확인할 수 있습니다:
Physical volume "/dev/loop20" successfully created.
Physical volume "/dev/loop21" successfully created.
pvs 명령으로 물리 볼륨의 요약을 확인하거나, pvdisplay로 더 자세한 정보를 볼 수 있습니다.
sudo pvs
PV VG Fmt Attr PSize PFree
/dev/loop20 lvm2 --- 256.00m 256.00m
/dev/loop21 lvm2 --- 256.00m 256.00m
물리 볼륨이 준비되었으므로, 다음 단계는 두 PV 의 스토리지를 결합한 labvg라는 이름의 볼륨 그룹을 생성하는 것입니다. 이를 위해 vgcreate 명령을 사용합니다.
sudo vgcreate labvg /dev/loop20 /dev/loop21
성공 시 출력 결과는 다음과 같습니다:
Volume group "labvg" successfully created
마지막으로 vgs를 사용하여 새 볼륨 그룹의 요약을 확인하거나 vgdisplay로 상세 내용을 검토합시다.
sudo vgs
출력 결과에 각 PV 에서 256MB 씩 가져와 총 약 512MB 크기를 가진 labvg 그룹이 표시됩니다.
VG #PV #LV #SN Attr VSize VFree
labvg 2 0 0 wz--n- 512.00m 512.00m
이제 두 장치를 물리 볼륨으로 초기화하고 이를 하나의 볼륨 그룹으로 결합하여, 유연한 논리 볼륨을 생성할 준비를 마쳤습니다.