• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
Linux

헤놀로지 on virt manager (KVM)

콜라 616

0

2

 

proxmox도 결국 QEMU를 이용한 도구입니다.

당연히 KVM에서도 되겠죠?

 

근데 왜 잘 알려진 proxmox를 안쓰고 KVM으로?

조금 깁니다. 무시해도 됩니다.

한줄로 요약하자면 zfs 스냅샷을 적극적으로 사용하고, virtiofs(shared folder)를 사용하기 위함입니다.

 

건너 띄어도 되는 부분입니다.

예전에 proxmox라는 걸 알게 되고서 KVM으로 구현해둔걸 싹 옮기려고 노력한 끝에

포기한 적 있습니다.

첫째로, 귀찬음...(응?)

너무 많은 걸 KVM에다가 구현해뒀었다는 것이죠.

 

두번째로 zfs. 가상머신 디스크와 독커 컨테이너를 각각 zfs 서브볼륨을 만들어 zfs 스냅샷으로 관리하고 싶었습니다.

 

docker 파일들은 스냅샷으로 관리하기 위해서 docker 파일들을 zfs에 두기로 했습니다.

현재는 docker 폴더 하나 만들고, 그 안에 npm, nginx, adguard 를 만들었는데, 이 폴더들 하나 하나가 zfs 서브볼륨입니다

독커 하나 고장나면 독커 하나만 스냅샷으로 롤백 할수 있지요.

 

그러면서 docker는 host가 아닌 가상머신에서 실행하고 싶었습니다.

이유는 같습니다.

독커 실행하는 머신이 맛탱이(?)가 가면 스냅샷으로 롤백하기 위함이죠.

사실 이건 qcow2 자체가 스냅샷이란 기능을 제공해서 큰 문제가 되지는 않..지 않습니다.

문제가 있어요. KVM은 shared folder가 되기 때문에 문제가 안되지만 proxmox에서는 문제가 됩니다.

또한 docker 파일은 가상 머신의 qcow2 디스크 파일과 관계 없이 host에 존재하는 파일이므로

머신을 롤백해도 독커는 롤백 되지 않아요.

 

첫번째 방안.

proxmox 위에 가상머신을 두고 가상머신에서 스토리지의 파일시스템을 zfs로 하는것도 생각했었습니다.

하지만 이렇게 구현하면 머신을 롤백하면 독커도 같이 롤백됩니다.

 

두번째 방안.

머신에 두개의 디스크를 넣고, 하나는 부팅, 하나는 독커용으로 두는 것도 생각했었습니다.

그리고 독커용 qcow2의 파일시스템을 zfs로 만들어서 마운트하고 부팅 디스크만 proxmox에서 롤백하고

docker용 qcow2는 부팅 후에 롤백하면 될테니까요

물론 proxmox snapshot은 zfs snapshot이 아니라 qcow2 스냅샷입니다.

당연히(?) 부팅용 qcow2만 롤백하고, docker용 qcow2는 남겨두는게 될리가 없죠.

 

어찌 저찌 cli로 접속하면 zfs로 qcow2를 스냅샷하고 롤백하면 되니까, 어찌저찌 가능은 할겁니다.

 

근데 virt-manager를 사용하면 cockpit과 webmin으로 webui에서 스냅샷을 복제하고, 마운트하고, 파일을 복원하고

다시 마운트 해제, 복제된 볼륨 삭제를 할수 있는데...

(대신 zfs를 이용한 스냅샷은 머신 설정은 롤백해주지 않는다는 문제가 있긴 합니다)

 

쨋든, 이걸 proxmox로 옮기는데 실패 했습니다.

proxmox가 virtiofs를 안해줘요..

 

SMB나 NFS를 사용하라고 하더군요..

 

 

virt-manager에서 xpenology. 진짜로 시작합니다.

제 블로그엔 arpl 부팅 이후도 적었는데, 여기에서는 arpl 부팅되는 것까지만 적겠습니다.

그 이후는 

달소님 글을 참고해주세요..ㅎㅎㅎ

 

1 KVM 스토리지 풀을 설정합니다.

저는 ISO랑 default를 따로 해뒀습니다.

ISO 스토리지 풀 경로: /-USERDATA/libvirt/storage/iso

default 스토리지 풀 경로: /-USERDATA/libvirt/storage/defaults

가상머신 생성 1 스토리지 저장소 default.png.jpg

 

2. arpl 로더 이미지를 받아옵니다.

먼저 arpl github의 release에서 주소를 알아옵니다.

가상머신 생성 4 arpl URL 가져오기.png.jpg

img 파일에 마우스 우클릭 해서 링크 복사를 해주세요.

 

그리고 wget으로 파일을 받아줍니다.

파일은 ISO 폴더에 넣어주세요.

 

cd /-USERDATA/libvirt/storage/iso

wget  https://github.com/fbelavenuto/arpl/releases/download/v1.0-beta9/arpl-1.0-beta9.img.zip

 

압축을 푼 후에 qcow2 파일로 변환, default 폴더로 옮겨줍니다.

unzip arpl-1.0-beta9.img.zip
qemu-img convert -f raw -O qcow2 arpl.img arpl-qcow2.qcow2

mv arpl-qcow2.qcow2 ../defaults/

 

 

3. 가상 네트워크입니다.

공유기에서 DHCP 고정 IP를 할당할 수 있으면 되지만, 제가 xpenology 만든곳이 회사라..(월..루?)

공유기의 DHCP를 설정할 수 없어서 virt-manager의 가상 네트워크에서 IP를 할당했습니다.

 

당연히 내부에서 밖으로는 통신 가능하지만, 외부에서 내부로는 못합니다.

정확히는 가상 네트워크에 포트포워딩 설정해서 가능한데,

그걸 하느니 공유기에 연결되는 고정 IP가 아닌 NIC를 하나 만드는게 낫죠.ㅎㅎ

그래서 이번 글에서는 가상머신에 할당한 NIC가 두개입니다.

하나는 고정IP 받는 인터페이스입니다.

다른 하나는 실제로 통신하는, 공유기에서 DHCP로 IP를 받는 NIC죠.

 

가상 공유기도 건드릴 권한이 있으실테니 네트워크 설정은 대부분 건너 띄시면 됩니다.

가상머신 생성 5 네트워크 설정.png.jpg

 

가상머신 생성 6 네트워크 생성.png.jpg

customNAT라는 이름으로 네트워크 만들었습니다.

이미 customNAT이란 이름이 있다고 나와서 newNAT로 스샷을 찍었는데, 아닙니다.

스크린샷이 틀린거예요.

 

가상머신 생성 9 네트워크 정지상태.png.jpg

중요한 것은 <host mac="52:54:10:10:05:05" name="penology.cola.vm" ip="10.10.5.5"/> 부분입니다.

이 부분이 mac주소와 ip를 매핑하는 영역입니다.

IP를 address 범위 안에 들어가는 IP로 설정하고 적용을 눌러주세요.

 

ㄱ러면 XML이 수정 전으로 돌아갈겁니다.

놀라지 마시고 하단의 빨간색 원을 눌러 네트워크를 중지, 그 왼쪽의 재생(?) 버튼을 눌러 다시 가동해주세요.

중지하면 수정한 XML대로 적용될겁니다.

 

4. 가상머신 생성

이지 합니다.

상단에 모니터에 노란색 눈꽃 그려진 버튼 누르면 머신 생성입니다.

(도대체 아이콘 누가 만든건지 모르겠어요. 네트워크 중지, 재생 버튼도 그렇고;;)

기존 디스크 이미지 불러오기를 누르고, ARPL qcow2 이미지를 불러옵니다.

가상머신 생성 10 가상머신 생성.png.jpg

가상머신 생성 12 arpl qcow 선택.png.jpg

 

 

가상머신 생성 13 성능은 알아서.png.jpg

성능은 원하는대로

 

가상머신 생성 14 사용자 설정, CustomNAT.png.jpg

머신 이름 설정하시고, 설치 전에 사용자 설정 하시고, 네트워크를 설정해주세요.

네트워크는 가상 네트워크를 만드셨으면 가상 네트워크를,

만들지 않으셨으면 브릿지 네트워크를 선택하세요.

브릿지 네트워크는 사전에 생성되어있어야 합니다.

 

그리고 완료를 눌러주시면 상세 설정 창이 나옵니다.

개요 설정

image.png.jpg

Q35에 BIOS로 설정합니다.

 

가상머신 생성 16 CPU.png.jpg

cpu는 kvm 64, 코어수는 알아서.

가상머신 생성 17 arpl sata.png.jpg

ARPL 스토리지는 sata로

가상머신 생성 20 첫번째 네트워크. 맥주소.png.jpg

고정 ip는 맥주소에 따라 할당 받습니다. NIC는 맥주소 꼭 확인하세요!

 

하단의 하드웨어 추가를 눌러서 스토리지를 추가합니다.

헤놀은 scsi 또는 sata를 인식합니다.

scsi로 DSM 설치할 디스크를 만들어서 연결해주세요

가상머신 생성 18 두번째 스토리지(시놀 설치 디스크).png.jpg

또 하드웨어 추가해서 NIC

가상머신 생성 23 두번째 네트워크. 실제 통신용.png.jpg

얜 일부러 IP가 안받아지도록 비활성화 했습니다.

DSM 설치 이후에 활성화 하겠습니다.

 

가상머신 생성 25 실제 통신 네트워크 비활성화.png.jpg

 

그리고 상단의 설치 시작을 누르면 끝!

이제 부팅이 될것입니다. ARPL 설정은 여기를 보고 따라하시면 됩니다.ㅎㅎ

 

신고공유스크랩
2
콜라 글쓴이 2023.01.04. 12:54
달소
저는 특수한 목적이 있어서 kvm을 이용했는데, 대부분 proxmox를 많이 쓰실것 같아요.ㅎㅎ

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

본 게시판은 서버구축 게시판과 통합되었습니다.

서버구축 게시판 이동하기
분류 제목 글쓴이 날짜 조회 추천
공지 서버OS(ESXi/Linux/Router 등) 게시판 이용안내. 달소 21.11.16.17:43 585 +1
ESXi 공지 ESXi 관련 추천글 모음 5 달소 21.04.23.12:19 3748 +6
ESXi USB LAN으로 ESXi8 설치하기.(Feat. Realtek LAN) 15 달소 23.01.01.18:51 2172 +2
Assistant OS 당신이 알아야할 새로운 스탠다드 Matter란 무엇인가 5 DarkAcid 22.12.30.02:38 736 +1
Proxmox 인텔 igpu는 gvt-g를 이용해 두개 이상의 가상머신에 패스스루 해줄 수 있네요. 13 니즛 22.12.23.02:19 1366 +1
질문
normal
초코코알라 23.05.06.18:14 662 0
Proxmox
image
굿럭 23.01.05.12:59 1424 0
Linux
image
달소 23.01.05.10:23 362 0
질문
image
swift89 23.01.04.14:05 378 0
질문
image
DarkAcid 23.01.04.12:34 440 0
Linux
image
콜라 23.01.03.23:07 616 0
질문
normal
ENTJ도플랜 23.01.03.13:15 305 0
Proxmox
image
eyeball 23.01.02.14:42 1222 0
ESXi
image
달소 23.01.01.18:51 2172 +2
질문
normal
누구냐 23.01.01.00:06 460 0