VM을 위한 Volume을 제공하는 가장 쉬운 방법은 Local Disk를 이용하는 것이다. 로컬 파일 시스템 위에 적당한 크기의 image 파일을 만들어서 사용하면 되겠다. 가상화 환경구축까지는 Local Disk를 사용해도 충분하지 싶다.
하지만 Cloud 환경을 구축하려고 한다면, 필요에 따라서 원격 Storage에서 볼륨을 만들어야 할 필요가 생긴다. 원격 Storage에 볼륨을 만들면 VM HA, 마이그레이션, EIP 서비스등 유연한 네트워크 서비스가 가능하기 때문이다.
iSCSI은 SCSI를 인터넷으로 확장한 것으로 인터넷을 가로질러서 스토리지를 연결할 수 있다. 전통적인 파이버 채널은 특수한 목적의 케이블링을 요구했으며, 물리적인 제약이 있었다. iSCSI는 IP 기반이기 때문에 물리적인 제약을 극복하며, 비교적 저렴하게 중앙 집중화된 스토리지를 구성할 수 있다.
테스트 환경 구축
나는 KVM을 클라우드 환경에서 사용하기를 원하며, iSCSI를 이용해서 원격 storage 서버에 관리하는 걸 테스트 하려한다.
완전한 테스트를 위해서는 별도의 스토리지 서버를 구축해야 하겠으나 자원이 충분하지 않은 관계로 가상환경으로 구축하기로 했다. 테스트 환경은 대략 다음과 같다.
Guest VM을 하나 만들어서 iSCSI Target으로 만든다 이 Guest VM은 두 개의 disk를 가지는데, 이중 하나를 iSCSI 볼륨으로 제공한다. Host 운영체제는 iSCSI initiator로 Target에 접근해서 iSCSI disk 볼륨을 만든다. Test VM은 iSCSI disk 볼륨을 Root Disk volume으로 사용한다.
Hypervisor로는 KVM을 사용했다.
iSCSI Target 및 initiator 설정
자세한 iSCSI Target/initiator 설정은 Linux iSCSI 설정 문서를 참고한다. 여기에서는 설정내용만 공유한다.
iSCSI Target
다음과 같이 kvm을 이용해서 iSCSI Target Guest VM을 실행 했다. attach_volume01.raw가 iSCSI 볼륨으로 사용할 disk다.
Contents
iSCSI를 이용한 VM Root Disk와 Data Disk 제공
테스트 환경 구축
iSCSI Target 및 initiator 설정
iSCSI Target
iSCSI initiator
iSCSI를 KVM 볼륨으로
히스토리
Recent Posts
Archive Posts
Tags