ZimaBoard 애호가 여러분, 안녕하세요! 오늘은 우리 헌신적인 커뮤니티 멤버 Tyrehl이 제공하는 종합 튜토리얼을 소개하게 되어 기쁩니다. Tyrehl은 ZimaBoard에 ZFS를 설치하는 과정을 전문적으로 안내할 뿐만 아니라, ZimaBoard 자체에 대한 포괄적인 개요도 제공합니다.
커뮤니티 인사이트부터 상세한 설치 지침까지, Tyrehl의 글은 ZFS와 ZimaBoard의 잠재력을 최대한 활용할 수 있는 원스톱 리소스입니다. 커뮤니티 참여와 기술적 노하우를 잇는 이 풍부한 기여에 대해 Tyrehl에게 진심으로 감사드립니다. 함께 이 여정을 시작하여 ZimaBoard 경험을 한층 높여봅시다. 즐거운 탐험 되세요!
소개
싱글 보드 컴퓨터(SBC)는 홈 랩 시나리오에서 매우 인기가 있으며, 최근 몇 년간 전문 환경과 산업 분야에서도 입지를 다져왔습니다. 오늘날에는 엣지 컴퓨팅과 소형 폼팩터 시스템을 중심으로 한 큰 생태계가 형성되어 있습니다.
괜찮은 컴퓨팅 성능은 다양한 SBC가 4코어와 충분한 램을 제공하기 때문에 쉽게 얻을 수 있습니다. 하지만 보통 저장 공간에서는 부족함을 보입니다. SD 카드와 플래시 저장 장치는 일반적으로 느리고, 쓰기 작업이 많은 상황에서는 고장 나기 쉽습니다. USB를 통해 연결된 디스크는 같은 수준의 신뢰성을 제공하지 않으며, 좋은 USB-투-SATA 커넥터를 고르는 것도 쉽지 않습니다.
ZimaBoard는 비장의 무기를 가지고 있습니다. 두 개의 SATA 포트, 듀얼 100/1000 이더넷, 그리고 다양한 PCIe 확장 옵션이 매우 유연한 시스템을 만듭니다.
SBC가 현실적으로 달성할 수 있는 한계는 어디에 있으며, 왜 저장 공간은 항상 골칫거리일까요? 특별히 어떤 작업도 잘 수행하지 못하는 컴팩트한 기기와 외부 ATX 전원 공급 장치가 필요한 6개의 SATA 디스크가 얽힌 케이블 난장판 사이의 황금 중간 지점은 어디일까요?
이 글은 ZimaBoard의 강점을 탐구하고, 이를 잘 활용할 수 있는 방법을 제시하는 것을 목표로 합니다. 어리석고 비실용적인 구성이 되지 않도록 하면서 말이죠.
동기
앞서 언급했듯이, 많은 컴퓨팅 자원은 쉽게 배포하고 활용할 수 있습니다. 메모리도 저렴하기 때문에 저장 공간이 빠르게 제한 요소가 됩니다. 인프라를 다뤄본 사람이라면 아마 이 점을 잘 알고 있을 것입니다. k8s 네트워크 스토리지 옵션, 클러스터에 S3 호환 API를 제공한다고 주장하는 다양한 플랫폼, 그리고 이들을 배포하고 제대로 운영하는 것이 얼마나 번거로운지 한번 살펴보세요.
탁월한 I/O 기능을 갖춘 ZimaBoard는 소형 NAS 또는 견고한 로컬 스토리지를 갖춘 범용 서버에 적합한 후보입니다. 그리고 여기서 도전 과제가 있습니다 – "그냥 작동하는" 플랫폼에서 소형 폼팩터 패키지로 내결함성 스토리지를 어떻게 제공할 것인가, 그리고 운영상 지루하지 않게 만드는 방법입니다.
하드웨어 측면에서는 ZimaBoard 뒷면의 전원 및 SATA 커넥터에서 2.5인치 디스크 두 개만 사용하도록 제한합니다. 이는 외부 전원 공급 장치나 확장 카드가 필요 없는 매우 컴팩트한 솔루션을 만듭니다.
적을수록 더 좋다
대용량 스토리지를 배치하는 것도 좋지만, 내결함성 스토리지를 갖는 것이 더 좋습니다. 이를 위해서는 스토리지 중복성을 제공하는 더 고급 파일 시스템이 필요합니다.
ZFS는 대부분의 하드웨어 RAID 컨트롤러를 능가하는 소프트웨어 RAID 기능을 제공합니다. 증분 스냅샷, 원격 시스템 및 스토리지 풀 간 동기화, 암호화 등 많은 주목할 만한 기능을 갖춘 진정으로 훌륭한 파일 시스템입니다.
오늘의 초점은 순전히 디스크를 중복으로 운영하는 데 있습니다. 보통 ZFS는 RAIDZ 배열 관리를 위해 사용됩니다. 하지만 두 개의 디스크로 제한했기 때문에 유일한 관련 옵션은 ZFS 미러 풀입니다. 이는 저장 용량을 사실상 절반으로 줄이지만 동시에 더 나은 중복성과 단일 디스크 장애를 견딜 수 있는 능력을 제공합니다. 이상적이지는 않지만 어쩔 수 없습니다.
하드웨어
디스크
일반적으로 ZimaBoard 커뮤니티는 2.5인치 디스크 사용을 권장합니다. 이들의 주요 장점은 작동을 위해 12V 레일이 필요 없다는 점입니다. 3.5인치 디스크로 성공적인 테스트 사례도 보고되고 있으니 결과는 다를 수 있습니다. 제 경우에는 1TB SSD 두 개를 선택했습니다. 더 많은 용량이 필요하면 HDD도 선택할 수 있습니다.
커넥터 및 3D 프린트 액세서리
두 개의 디스크를 연결하고 전원을 공급하기 위해 공식 Y-스플리터를 강력히 권장합니다. USB-투-SATA 전원 어댑터를 사용하는 등의 우회 방법도 있습니다. 보기에는 좋지 않지만 작동은 합니다. 모든 것을 함께 고정하려면 3D 프린트된 듀얼 HDD 스탠드가 매우 좋습니다. 최종 결과는 매우 휴대 가능하고 낮은 프로파일의 패키지입니다.


링크는 글 끝에 포함되어 있습니다. 이 버전은 크기가 작아 매우 간결하고 실용적이라고 생각했습니다. 공간이 있다면 랙 장착용 3D 프린트 플레이트도 다양하게 존재합니다.
ZFS 설치
ZimaBoard는 기본적으로 Debian과 함께 배송됩니다. 이것은 방해가 되지 않고 놀라움이 없는 안정적인 배포판으로서 개인적으로도 추천하는 배포판입니다. 다른 배포판의 경우 해당 문서와 ZFS 설치 지침을 참조하세요.
시작하기 전에 가능하면 최신 LTS 릴리스로 업데이트하는 것을 잊지 마세요. 데이터를 백업하여 쉽게 초기화하고 다시 시작할 수 있도록 하세요. 그리고 모든 단계를 문서화하여 문제 해결을 쉽게 만드세요. 다음을 살펴보세요 스크립트 이를 편리하게 수행하는 명령어입니다.
자세한 지침과 고급 사용 사례는 다음에 문서화되어 있습니다 https://wiki.debian.org/ZFS 이것은 ZFS 설정을 위한 권장 기본 소스입니다.
사전 요구사항
HTTPS 저장소에 접근할 수 있는지 확인하세요:
1 apt install -y lsb-release apt-transport-https
릴리스에 맞는 백포트 저장소를 /etc/apt/sources.list 파일을 편집하거나 ‘/etc/apt/sources.list.d/’ 아래에 새 소스 파일을 추가하여 설정하세요:
1 #코드네임 확인 또는 아래를 수동으로 교체:
2 codename=$(lsb_release -cs)
3 #백포트 저장소를 소스 목록에 추가:
4 echo “deb http://deb.debian.org/debian $codename-backports main contrib non-free”|sudo tee /etc/apt/sources.list.d/debian_backports.list && sudo apt update
ZFS 패키지
마지막으로, Debian 문서에 따라 최신 Linux 헤더와 관련 ZFS 패키지를 설치하세요:
1 sudo apt install linux-headers-amd64;sudo apt install -t $codename-backports zfsutils-linux zfs-dkms
“오류 발생 – 문제가 생겼습니다”
ZFS 설치 실패는 보통 오래되었거나 잘못된 커널, 또는 헤더 누락 때문입니다. 모든 ZFS 관련 패키지를 제거하고, 설치된 헤더를 확인한 후 설치 문서를 다시 읽는 것이 좋습니다.
1 sudo dpkg -l | egrep ‘linux-image|linux-headers’
풀과 파일시스템 생성
ID별 디스크 목록:
1 ls -l /dev/disk/by-id/
2 ls -l /dev/disk/by-id/
3 lrwxrwxrwx 1 root root 9 12월 22 15:29 ata-KINGSTON_SA400S37960G_50026B73818333D1 -> ../../sdb
lrwxrwxrwx 1 root root 9 12월 22 15:29 ata-KINGSTON_SA400S37960G_50026B73818333DB -> ../../sda
4 lrwxrwxrwx 1
안정적인 장치 ID를 지정하여 풀 생성, 예:
1 zpool create $mirror_pool_name mirror ata-KINGSTON_SA400S37960G_50026B73818333D1 ata-KINGSTON_SA400S37960G_50026B73818333DB
암호화된 파일 시스템 생성:
1 zfs create \
2 -o encryption=on \ # 필요 없으면 제거
3 -o keyformat=passphrase -o casesensitivity=mixed \
4 -o acltype=posixacl -o xattr=sa -o dnodesize=auto $mirror_pool_name/$dataset_name
실제 사용 시나리오 및 성능
ZimaBoard는 ZFS 실행에 아무 문제가 없으며, 암호화만이 CPU 사용량에 눈에 띄는 영향을 미치면서도 충분한 성능을 제공합니다. 트랜스코딩 및 스트리밍(예: Jellyfin 사용)도 문제 없습니다. 암호화된 파일 시스템에 매우 큰 파일을 읽거나 쓰는 경우 CPU에 큰 부하가 걸릴 수 있다는 점을 유의할 필요가 있습니다. 이는 시스템에서 실행 중인 다른 작업에 영향을 줄 수 있습니다.
SMB/NFS
일반 테스트 중, 단일 12GB 파일을 ZFS 미러 풀에 쓰는 데 약 5분이 걸렸으며, 디스크 IO가 병목 현상이었습니다. ZFS 풀에서 읽는 속도는 훨씬 빨라서 절반도 채 걸리지 않았습니다. 사실상 1Gbps 네트워크 연결이 완전히 최대치에 도달했습니다. 두 테스트 모두 암호화되지 않은 파일 시스템에서 / 로 수행되었습니다:

다음 테스트는 암호화가 CPU에 미치는 큰 영향을 보여줍니다. 동일한 12GB 파일을 암호화되지 않은 ZFS 파일 시스템에서 읽고 암호화된 파일 시스템에 썼습니다. 성능은 여전히 우수하지만 CPU 사용량이 급증하여 전체 과정 동안 매우 높게 유지되었습니다.

자료 및 참고 문헌
- Debian에서의 ZFS 설치: https://wiki.debian.org/ZFS#Installation
- https://www.printables.com/model/224057-zimaboard-dual-hdd-stand
- SATA Y-케이블: https://shop.zimaboard.com/products/sata-y-cable-for-zimaboard-2-5-inch-hdd-3-5-inch-hdd-raid-free-nas-unraid
결론
튜토리얼에 대해 궁금한 점이 있거나 추가 설명이 필요하신가요? Tyrehl이 도와드리겠습니다! Discord 커뮤니티에 참여하여 Tyrehl과 직접 소통하고 유익한 토론에 참여하세요. 호기심은 튜토리얼에서 멈출 필요가 없습니다 – Tyrehl이 여러분의 ZFS 여정을 지원할 준비가 되어 있습니다. Discord 서버에 참여하세요: [ zimaboard.com/discord]

