[이벤트참여] 허접한 방장의 메인시스템자랑😭
안녕하세요. 달소입니다!
이벤트를 개최하기 앞서 가이드(?) 같은 허접한 방장의 시스템자랑입니다 ㅎㅎ
운영하고있는 시스템은 3대나 되지만... 다쓰기에는 힘에부쳐 메인서버만 소개해보겠습니다.
(당첨확률은 1인 1서버!)
이벤트의 목적은 사용자들께서 많이 이용하는 시스템이나 좋은점들이 있다면 공유하는 측면에서 좋을것같아서입니다 ㅎㅎ 이용하는 모든 서비스나 하드웨어를 공유해주세요!
이벤트 많관부!!!
시스템 스펙
CASE : TANK H6 6bay 핫스왑 NAS케이스
CPU : Ryzen 5700G 8Core 16Thread
Mainboard : MSI B550M 박격포
RAM : Teamgroup 32G * 2 3200Mhz
Nvme SSD : Snadisk Ultra 3D NVME 2TB * 2 ZFS RAID1
HDD : WD Elements HDD 10TB 적출 HDD * 2 ZFS RAID1
Power : Enhance ENP-7025B 250w bronze
++PCIE LAN I350-T4 쿼드 기가비트 랜카드
++도메인은 클라우드플레어에서 구입해서 사용하고있습니다 ㅎ
케이스는 요놈입니다.
타오바오에서 직구했고 6bay 케이스입니다. PCIE 슬롯도 짱짱하지만
flex 파워 지원 + 조립난이도가 극상이라... 그리 추천드리지는 않습니다.
시스템(서비스) 구성
다들 알고계시겠지만 메인 OS는 Proxmox 가상화로 구성되어있습니다.
가상화의 장점은 여러가지 서비스를 독립적으로 구성할수있고 테스트나 백업,복원이 쉽다는 장점이있습니다.
ESXi가 아닌 Proxmox를 사용하는 이유는 ESXi에 비해 하드웨어를 많이 가리지않으면서 오픈소스답게 기능이 굉장히 많습니다. ZFS, PBS등등
사용자가 많아지면서 레퍼런스도 많아져 개인사용자에게는 강추드립니다!
주요 OS는 아래와같습니다.
1. Opnsense
방화벽 OS인 Opnsense입니다.
PCIE 슬롯을 사용하고있는 랜카드를 패스스루해서 공인 IP를 직접적으로 할당받아 사용중입니다.
Suricata를 통한 IPS기능과 포트포워딩으로 웹서비스를 별도의 공인 IP에서 운영하는 역할입니다.
2. Proxy서버
Nginx Proxy Manager를 이용해서 외부인터넷 -> Opnsense -> Proxy서버로 80/443 서비스가 오게끔 구성되어있습니다.
하단의 DSM이나 웹서버들에대해서 도메인별로 구별해서 넘겨주는 역할을 하고있습니다.
요런역할..
3. 웹서비스
설명이 더 필요한가요? ㅎ 아래와같이 각 도메인별로 다른 오픈소스로 구성되어있습니다.
물론 다 도커로 올렸습니다 :)
blog.dalso.org - 워드프레스
it-svr - Ghost
svrforum.com - 라이믹스
등등 많습니다 ㅎ...
4. DSM(헤놀로지)
서버포럼 트래픽의 일등공신이자 빼놓으면 섭섭할 DSM입니다.
arpl 로더로 구축하였으며 시놀포토, 파일공유 등등 목적으로 사용중입니다.
최근에는 구축하고 많이안쓰긴하네요...
사용서비스 : NFS,SMB,files,drive,photo 등등
5. 이외에 사용하고있는 서비스
Wireguard VPN - 말이 필요한가요? ㅎ VPN계의 본좌입니다..
Bitwarden - PW관리툴입니다. 제일 애용하고 만족도 별 100개입니다!
Plex - Plex Pass도 구입해서 사용하고있지만 최근에는 활용도가 많지않네요
Guacamole - 외부에서 원격접속용으로 사용중입니다.
Portainer - Docker 관리용으로 잘 쓰고있습니다.
Umami - Traking 용도입니다.(구글 애널리틱스 대체)
이외 개발서버에서 아무거나.. 사용중입니다.. ETC...
오라클 프리티어
qbittorrent - 토렌트다운용 입니다.
filerun - 토렌트로 다운로드받아지면 요걸로 웹에서 다운로드받습니다
uptimekuma - 사이트 헬스체크용!
백업
시스템 소개만하고 넘어가려다가.. 백업의 중요성을 또 간과할수없으니 저만의 백업시나리오를 소개해드리고자합니다.
기본적으로 메인시스템 외에도 보조서버, 백업서버 이렇게 2대를 더 사용중인데 평상시에는 매일새벽 백업서버로 메인시스템의 웹서비스에 대해 백업을 진행하고있습니다.
Proxmox 전용 백업시스템인 Proxmox Backup Server를 사용하고있으며 백업 NAS(헤놀)에서 NFS를 구동해서 PBS의 데이터 스토어로 사용하고있습니다.
Proxmox <-> PBS (백업서버의 NFS)
NFS로 연결하였기때문에 메인서버에 문제가생긴다면 보조서버에서 PBS를 띄우고 NFS만 연결하면 보조서버에서도 VM을 복구할수있습니다.
추가로 2차백업으로 매달 한번정도는 USB에 VM을 별도로 백업하고있습니다.
거창할것같지만 매우 거창하지않은 ㅎㅎ 허접한 방장의 소개글이였습니다!
질문은 언제나 환영입니다~
오오.... 각 가상화 os당 cpu 코어 몇개씩 주세요?
서버포럼 vm의 경우 8core, 보통은 2~4core정도 주고있어요~
opensense는 운영하는데 코어랑 메모리는 얼마정도 할당하나요?
라이센스가 있는걸 보니깐 무료일때는 어떤 제한이 있나요?
Nginx Proxy Manager 는 opensense 내에서 이루어 지나요?
아니면 다른 설정으로 별도 vm으로 운영되는건가요?
오픈소스프로젝트라서 아마 기술지원쪽 라이선스만 별도로있을것같네요. 기능상에 제한은 따로없습니다.(플러그인이 되게많습니다)
NPM은 별도 VM으로 운영중입니다
헤놀만 돌리다가 서버포럼을 통해 하이퍼바이저에 관심을 갖게 되어 서버 업그레이드 하면서 저도 proxmox에 입문했습니다.
지금은 구축한 지 얼마 안되어 DSM, 윈도우, 우분투 정도만 올렸는데 달소님은 proxmox 잘 활용하시는 것 같아 대단하네요!
많이 보고 배우겠습니다ㅎㅎ
아무쪼록 무궁무진한 활용하시길!!
wireguard VPN이 궁금한데요.
저는 현재 노드VPN(2년치 유료결재)으로 시놀로지 도커에 트랜스미션 연동(open VPN사용)해서 잘 사용중입니다.
속도가 좀 느린 편이라 바꾸고 싶은데.....
와이어가드를 쓴다는 것이.... 노드VPN을 와이어가드로 바꾼다는 건지
아니면 노드 VPN은 그냥 쓰면서 open VPN을 와이어 가드로 바꿔서 쓴다는 건지...
개념정리가 안되어서 질문드립니다. ^^
한번 찾아보시면 좋을것같습니다! 다만 클라 <-> VPN은 지원을 잘해줄텐데 트랜스미션 연동하는게 open vpn이 보편화되어있어서 지어ㅜㄴ이미지가 있을지는모르겠네요 ㅠ
달소님이 설명한 것 처럼 Wireguard를 지원하는 vpn서비스를 사용할경우
해당 프로토콜로 nas서버와 vpn서버가 통신하게됩니다.
도커 이미지 중에 openvpn방식을 지원하는 transmission이미지는 있지만
Wireguard는 없기때문에 gluetun이라는 vpn용 이미지로 컨테이너를 만들고
여기에다가 tranmission이나 qbitorrent를 연결해줘야합니다.
gluetun은 wireguard와 openvpn 두가지 프로토콜을 모두 지원하기때문에
취사선택해서 사용할 수 있습니다.
https://github.com/qdm12/gluetun
https://hub.docker.com/r/qmcgaw/gluetun
gluetun과 transmission을 연결하는 방법은 크게 두가지가 있습니다.
docker-compose구문을 활용하는 방법은 동일하지만
한개의 docker-compsoe.yml로 두가지를 한번에 올리는경우가 있고
각각의 docekr-compose.yml로 gluetun 컨테이너를 먼저 생성하고
이후에 transmission 컨테이너를 gluetun컨테이너에 연결해주는 방법이 있습니다.
아래의 예시는 제가 사용중인 vpn서비스에 맞춰서 작성된 구문인데
gluetun에서 지원하는 vpn서비스가 여러가지가 있으니 wiki를 참조하셔서
작성하시면 됩니다.
[gluetun과 transmission을 하나의 docker-compose.yml로 구성할 경우]
version: "3"
services:
gluetun:
container_name: gluetun
image: qmcgaw/gluetun
cap_add:
- NET_ADMIN
ports: #포트는 gluetun컨테이너에서만 열어줍니다.
- 9091:9091/tcp
- 51413:51413/tcp
- 51413:51413/udp
volumes:
- /원하는경로:/gluetun
- /dev/net/tun dev/net/tun none bind create=file #시놀로지의 경우 그대로 사용
environment: #사용할 vpn서비스에 따라 상세내용이 달라짐, wiki참조
- privileged
- VPN_SERVICE_PROVIDER=vpn서비스명 #wiki참고
- VPN_TYPE=wireguard
# Wireguard:
- WIREGUARD_PRIVATE_KEY=키값
- WIREGUARD_ADDRESSES=주소
- SERVER_CITIES=도시명 #wiki참고
- TZ=Asia/Seoul
restart: unless-stopped
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
network_mode:
service:gluetun
environment:
- PUID=값입력
- PGID=값입력
- TZ=Asia/Seoul
volumes:
- /경로:/config
- /경로:/downloads
- /경로:/watch
restart: unless-stopped
아니면 glutune만 따로 올리고 transmission도 별도로 올릴수 있습니다.
[docker-compose.yml] #gluetun용
version: "3"
services:
gluetun:
container_name: gluetun
image: qmcgaw/gluetun
cap_add:
- NET_ADMIN
ports: #포트는 gluetun컨테이너에서만 열어줍니다.
- 9091:9091/tcp
- 51413:51413/tcp
- 51413:51413/udp
volumes:
- /원하는경로:/gluetun
- /dev/net/tun dev/net/tun none bind create=file #시놀로지의 경우 그대로 사용
environment: #사용할 vpn서비스에 따라 상세내용이 달라짐, wiki참조
- privileged
- VPN_SERVICE_PROVIDER=vpn서비스명 #wiki참고
- VPN_TYPE=wireguard
# Wireguard:
- WIREGUARD_PRIVATE_KEY=키값
- WIREGUARD_ADDRESSES=주소
- SERVER_CITIES=도시명 #wiki참고
- TZ=Asia/Seoul
restart: unless-stopped
위 내용으로 gluetun을 올려서 vpn서비스에 접속시킨후
[docker-compose.yml] # transmission용
version: "3.0"
services:
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
network_mode: "container:gluetun"
environment:
- PUID=값입력
- PGID=값입력
- TZ=Asia/Seoul
volumes:
- /경로:/config
- /경로:/downloads
- /경로:/watch
restart: unless-stopped
이렇게 올리면 역시 gluetun컨테이너를 통해 vpn서버로 통신하게 됩니다.
gluetun 깃헙의 wiki에 보면 상세히 설명이되어있어서 여러가지 기능을 조합하시면
다양하게 이용이 가능합니다.
http proxy나 sock5 proxy도 환경변수에 추가해주면 다양하게 사용가능합니다.
gluetun깃헙의 wiki를 보면 다양한 vpn회사들의 설정법이 안내되어있는데
하나하나 눌러보면 Wireguard를 지원하는 회사들도 있고 openvpn만 지원하는 회사들도 있어서
보고 취사선택하면 될듯합니다.
멋지십니다 제가하나도 사용안해본것들이네요 와우~
저 케이스는 제가 신청했다가 두달정도 안보내줘서 환불받고ㅠㅠ
알리에서 8베이케이스 구입했죠
사실 구현해보고싶긴한데... 집에서 돌리기에는 전기세의 압박이 너무 무섭습니다..
ceph도 제대로 운영하려면 기본 3대는 돌아가야하니까요 ㅠㅠ
아쉬운대로 이정도로 만족하면서 사용중입니다
cmt alert