xpenology on proxmox

proxmox에 arpl을 이용하여 헤놀로지 설치하는 글은 많습니다.
서버 포럼 커뮤니티 운영자인 달소님이 시도하여 글을 많이 작성 해주셨어요.(달소님 블로그에도 잘 정리되어있습니다.)
하지만 저는 이미 kvm과 virt-manager, cockpit-machine에 익숙해져있습니다.

네트워크와 virtio를 이용한 환경 등을 proxmox로 옮기기 위해 여러가지 알아보았지만 몇가지 문제에 부딫혀 proxmox로 옮기는 것은 중단하게 되었습니다.

proxmox 문제점

zfs로 독커와 가상머신을 따로 snapshot을 캡쳐, 롤백, 마운트 등 관리

이렇게 하기가 어려웠습니다.
proxmox는 당연히 zfs에 설치됩니다.
가상머신은 손쉽게 롤백이 되죠.

근데 머신 롤백할 때 docker도 강제로 롤백 됩니다.
또한 머신을 새로 만들면 docker도 새로 만들어야 하죠.

제가 원하는 것은 각각 관리할 수 있는 것입니다.
심지어 docker의 경우 각 컨테이너마다 rollback이 가능하면 좋겠습니다.

proxmox에만 zfs가 설치되어있다면 독커 컨테이너마다 qcow2 이미지를 만들어서 해결할 수 있습니다.
하지만 스냅샷을 복제하여 mount하는 것은 어렵겠죠.

KVM은 이 문제를 어떻게 해결했는가?

shared folder입니다.
host의 특정 공간에 docker 관련 파일들을 넣어두고
그 폴더를 virt-manager의 shared folder로 가상머신에 넣어줍니다.
그러면 가상머신에서는 virtiofs를 통해서 zfs 위의 독커 파일들에 접근할 수 있죠.

게다가 docker 폴더는 host에서 zfs로 관리되기 때문에 rollback이나 snapshot을 복제해서 마운트하는 것이 자유롭습니다.
또한 가상머신이 외부(host)의 폴더를 마운트하는 만큼, 가상머신의 디스크 파일을 롤백해도 docker는 최신을 유지할 수 있습니다.

결정적으로 nfs나 smb보다 압도적으로 빠릅니다.ㅎㅎ

저에게는 virt-manager가 가장 적합했고, KVM에 xpenology를 적용하게 되었습니다.

xpenology on kvm with arpl

KVM 스토리지 풀 설정

KVM의 스토리지 풀을 설정해야 합니다.
저는 iso와 가상머신에 연결할 스토리지 풀을 따로 분리해두었습니다.
스토리지풀의 경로는 다음과 같습니다.
ISO: /-USERDATA/libvirt/storage/iso
default: /-USERDATA/libvirt/storage/default

스토리지-저장소-default
스토리지-저장소-iso

kvm이 있는 host에 cli로 작업

저는 ssh로 접속했습니다.
키보드나 마우스 이용하는 것도 좋지만, URL을 키보드로 타이핑 하기는 어려우니 복사 붙여넣기 할 수 있는 환경을 이용하는 것이 좋습니다.

arpl 이미지 URL 가져오기

글 작성일(23년 1월 3일) 기준으로 1.0 베타9이 최신 버전입니다.
fbelavenuto / arpl의 release 페이지로 이동합니다.

여기서 arpl-(버전).img.zip에 마우스 우클릭 하여 링크 복사를 누릅니다.
arpl URL 가져오기

ISO 스토리지 풀에 arpl 다운로드

cd /-USERDATA/libvirt/storage/iso

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

unzip arpl.img.zip

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

arpl.img를 default 스토리지 풀로 이동

mv arpl-qcow2.qcow2 ../defaults/

virt-manager에서 가상 네트워크를 설정합니다.

이 부분은 온전히 사용자 환경에 따라 다릅니다.
제가 가상 네트워크를 설정하는 이유는 고정 IP 때문입니다.
만약 공유기에서 고정IP를 설정할 수 있다면, 공유기에서 고정 IP를 설정 후, bridge로 생성하는 방법도 있습니다.
어떻게든 고정 IP를 할당하기만 하면 됩니다!

ARPL은 고정 IP는 필수인 것 같습니다.

고정 IP를 안하면 문제가 되는 것 같았습니다.
네트워크의 IP 대역을 변경 하였음에도 arpl에서는 ip가 자동으로 변경되지 않더라구요.
한번 10.10.10.10을 받아오면 mac주소를 변경하거나, 네트워크 대역을 10.10.10.10이 해당되지 않게 변경하여도 계속 10.10.10.10을 받아오더군요..

어쩌면 DSM 설치 후 부팅하면 잘 될수도 있습니다만, 전 해보지 않았습니다.ㅠㅠ

저라면 절대 안쓸것 같은 IP 대역에 서브넷 마스크 255.255.255.248 정도로 아주 좁게 해서 ARPL 접속하는 용도로 네트워크 인터페이스 하나 연결해둘 것 같아요.

가상 NAT 네트워크 생성(공유기에서 고정 IP 가능하면 하지 마세요)

네트워크 설정
네트워크-생성
연결 상세 정보에 가셔서 하단의 +를 누르고 NAT로 생성합니다.

xml을 눌러서 xml로 보이게 하고, 하단의 정지를 눌러 네트워크를 중지합니다.
이제 여기에 DHCP 및 고정IP 설정을 하게 됩니다.

# 현재 워드 프레스 오류로 xml이 안보이네요.
# 이미지 캡쳐본을 참조해주세요.
# host mac 부분만 추가, IP 범위 부분을 수정해주시면 됩니다.

  customNAT
  7d19a687-9f8e-4a2a-8a4a-775652598416
  
    
      
    
  
  
  
  
  
    
      
      
    
  

그리고 다시 재생 버튼을 눌러서 실행합니다.
xml 설정, 하단 시작버튼

가상머신 생성

생성 마법사

어차피 사용자 설정에서 다 설정할 예정이므로 디스크랑 네트워크만 신경쓰고 나머지는 그까이꺼 대~충 하면 됩니다.
기존 디스크 이미지
ARPL Qcow2 이미지를 기존 저장소 경로로 적어줍니다.
arpl qcow 선택
성능은 알아서
마지막으로 네트워크는 브릿지 또는 customNAT(가상 네트워크를 만든 경우에 한함)
꼭 설치 전 사용자 설정을 해야 합니다.
사용자 설정, customNAT

생성마법사 – 사용자 설정

사용자 설정에서는 개요, cpu, 디스크, 네트워크를 설정해야 합니다.

생성마법사 – 사용자 설정 – 개요

스크린샷 다 찍어놓고 작성하고 있는데, 개요 이미지가 없어 구글링해서 나온 이미지를 첨부합니다.
Q35, BIOS
칩셋은 Q35, 펌웨어는 BIOS로 설정합니다.

생성마법사 – 사용자 설정 – CPU

CPU KVM64
KVM 64로 설정해주세요.
CPU 코어는 원하시는 만큼 해주시면 됩니다.

생성마법사 – 사용자 설정 – 디스크 – arpl

생성 마법사에서 ARPL qcow2 디스크를 선택했었습니다.
arpl.qcow의 디스크 버스는 sata
이 디스크는 디스크버스가 virtio로 되어있을텐데, SATA로 변경해줍니다.

생성마법사 – 사용자 설정 – 디스크 – DSM 설치 디스크

두번째 스토리지(DSM 설치 디스크)
하단의 +를 눌러서 새 장치를 추가합니다.
이 디스크는 DSM이 설치 될 디스크입니다.
sata, scsi 모두 가능합니다.

생성마법사 – 사용자 설정 – NIC 1

네트워크 설정
고정 IP를 받아야 하므로 mac주소를 설정해주셔야 합니다.
이미지는 생성 후 가상머신 수정하는 화면이라 MAC주소 설정이 불가능하게 보이지만,
생성 마법사(창 상단에 설치 시작, 설치 취소 버튼이 보이는 창)에서는 MAC 주소를 변경할 수 있습니다.
저처럼 이미 생성한 후라면, XML을 수정하여 MAC주소를 변경하실 수 있습니다.

생성마법사 – 사용자 설정 – NIC 2

실제 통신 네트워크
저 처럼 ARPL용 네트워크를 따로 만든 경우, 공유기에 DHCP로 연결되는 네트워크를 따로 연결하셔야 합니다.
공유기에서 DHCP를 받아야 외부에서 접속할 수 있을테니까요.
ARPL에서 이 인터페이스가 받은 IP가 잡히지 않도록 비활성화 했습니다.
DHCP로 받은 IP가 인식 되버리면 다음에 빌드할 일 생겼을 때 문제가 생길까봐 저는 시도 안해봤습니다.

가상머신 부팅

ARPL로 부팅

10.10.5.5
이처럼 10.10.5.5 IP를 가져온 것을 확인하실 수 있습니다.
여기서 http://10.10.5.5:7681로 접속하면 menu.sh를 실행한 것과 같은 화면이 표시 됩니다.

ssh로도 접속 가능합니다.
보시는 것처럼 비밀번호가 표시 되므로 해당 IP로 SSH 연결하여 설정할 수 있습니다.

시놀로지 모델 선택


처음에는 시놀로지 하드웨어를 선택합니다.

DSM 빌드 선택


다음은 DSM 운영체제 버전을 선택하는 단계라고 보시면 됩니다.
저는.. 채신!

시리얼넘버

addons

9p, 파워 스케쥴, lsi 애드온을 추가했습니다.
아직 virtiofs나 전원 스케쥴, lsi를 사용해본적은 없습니다.
그래서 실제로 작동하는지 조차 몰라요.ㅠㅠ

build the loader


마지막으로 빌드 더 로더를 누르면

이런 화면이 나오면서 pat를 다운로드하고 빌드하게 됩니다.

빌드가 완료되면 build the loader 아래에 boot the loader 버튼이 표시됩니다.

boot the loader

boot the loader에서 엔터를 누릅니다.
boot the loader
이제부터 arpl로 부팅하면 알아서 loader를 불러온 후 DSM으로 부팅합니다.

누르면 이런 화면이 나왔다가
이 이미지처럼 모델과 빌드가 표시되고, 여러가지 옵션이 출력된 후에 부팅이 진행됩니다.

최종적으로 이런 화면이 나오게 됩니다.
최종 화면

시놀로지나 큐냅이 부팅될 때 디스플레이로 아무것도 출력이 안되듯…
이 머신도 화면으로는 아무것도 출력이 안됩니다.
가상머신의 cpu 사용량이나 디스크 IO를 보면서 사용량이 줄어들면 부팅이 완료되었다고 판단하는 것이죠.

부팅이 완료되면 IP:5000(이 예시에서는 10.10.5.5:5000이 되겠네요)으로 접속해서 설치 진행하시면 됩니다!

DSM 설치

우리가 ARPL에서 선택한 빌드 넘버가 보이면 자동으로 다운로드하여 설치하도록 합니다

이 글에서는 ARPL에서 42962 빌드로 선택했습니다.
DSM 7.1 – 42962를 다운로드하여 설치한다고 표시되었기에 자동 설치를 진행합니다.
만약 빌드 버전과 자동 다운로드 버전이 다르면 synology downloads에 가셔서 맞는 build의 pat를 다운로드, 설치하시면 됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


Ads Blocker Image Powered by Code Help Pro

광고 차단 감지됨!

닫기를 누르면 이용하실 수 있지만, 광고 차단은 해제해주시면 좋겠습니다.
Powered By
100% Free SEO Tools - Tool Kits PRO