이 블로그는 닌텐도 Wii에서 호스팅됩니다
(blog.infected.systems)- 이 블로그는 Nintendo Wii에서 호스팅되고 있으며, NetBSD를 사용하여 운영됨
- Wii는 PowerPC 750 기반의 단일 코어 CPU를 사용하며, 이는 우주 탐사와 같은 고성능 작업에도 사용되는 칩셋임
- NetBSD는 Wii에서 최신 버전으로 지원되며, 이를 통해 실제 프로덕션 워크로드를 실행할 수 있음
- Wii에 NetBSD를 설치하기 위해 Wilbrand 익스플로잇을 사용하여 홈브류 채널을 설치하고, NetBSD 이미지를 SD 카드에 로드함
- lighttpd 웹 서버를 사용하여 블로그를 호스팅하며, Caddy를 통해 TLS 종료를 처리하여 성능을 최적화함
Wii에서 블로그 호스팅
- 이 블로그는 Nintendo Wii에서 호스팅되고 있으며, 이는 NetBSD를 사용하여 운영됨
- Wii는 PowerPC 750 기반의 단일 코어 CPU를 사용하며, 이는 우주 탐사와 같은 고성능 작업에도 사용되는 칩셋임
- Wii에 NetBSD를 설치하기 위해 Wilbrand 익스플로잇을 사용하여 홈브류 채널을 설치하고, NetBSD 이미지를 SD 카드에 로드함
- lighttpd 웹 서버를 사용하여 블로그를 호스팅하며, Caddy를 통해 TLS 종료를 처리하여 성능을 최적화함
Wii의 성능
- Wii의 CPU는 IBM의 PowerPC 750 라인업의 일부로, 1998년의 iMac에 사용된 아키텍처임
- Wii의 CPU는 단일 코어로, 최대 TDP가 9.8W이며, Wii에 사용된 버전보다 약 33% 더 높은 클럭 속도를 가짐
- 이 CPU는 우주 탐사와 같은 고성능 작업에도 사용되며, RAD750이라는 방사선 강화 버전도 존재함
NetBSD 설치 과정
- Wii에 NetBSD를 설치하기 위해 Wilbrand 익스플로잇을 사용하여 홈브류 채널을 설치함
- Wii의 MAC 주소를 알고, SD 카드에 몇 가지 파일을 생성하여 로드함으로써 설치 가능함
- NetBSD 이미지를 SD 카드에 로드하고, 홈브류 채널을 통해 부팅함
패키지 관리 및 웹 서버 설정
- pkgin 패키지 관리자를 설치하여 다양한 유용한 패키지를 설치함
- lighttpd 웹 서버를 설치하고, 기본 설정을 복사하여 활성화 및 시작함
- 블로그는 Hugo로 빌드된 정적 페이지 모음으로, rsync를 통해 파일을 전송하여 사이트를 호스팅함
성능 최적화 및 모니터링
- 여러 서비스의 비활성화를 통해 리소스를 확보하고, Caddy를 통해 TLS 종료를 처리하여 성능을 최적화함
- Caddy의 Prometheus 익스포터를 사용하여 사이트 로드를 모니터링하고, Wii의 시스템 상태를 간단한 셸 스크립트를 통해 모니터링함
최종 관찰
- Wii에서의 블로그 호스팅은 예상보다 잘 작동하며, 전력 소비도 비교적 적음
- Wii는 약 18W의 전력을 소비하며, 이는 월 약 13.2 kWh에 해당함
- 이 실험은 인위적인 제약을 적용하여 학습을 촉진하는 재미있는 실험이었음
왜 Caddy와 lighttpd를 동시에 쓰나 싶어서 의아했는데 static 파일만 Wii에서 처리하고 나머지는 다른 머신의 Caddy에서 처리하는 형태인가 보네요.
Hacker News 의견
- "SSL Added and removed here!" 이미지는 2013년 NSA에서 유출된 Google 데이터 센터 간의 암호화되지 않은 통신을 설명하는 다이어그램을 참조함
- NetBSD를 재부팅하면 전체 콘솔이 재부팅되며, NetBSD '앱'만 재부팅되는 것이 아니므로 커널 패치나 시스템 업그레이드 후 Wii 메뉴로 돌아가게 됨
- Priiloader를 설치하고 Homebrew Channel이나 NetBSD .dol 파일로 자동 부팅하도록 설정하면 이를 완화할 수 있음
- 참고로 Photo Booth 대신 Quicktime Player를 사용하여 "새 영화 녹화 생성"을 할 수 있음
- 이는 이미지 뒤집힘 문제를 해결할 수 있을 것이라고 믿음
- Wii 홈브루 경험에 기반하여, 작은 SD의 신뢰성 문제를 예상하여 익스플로잇 후 일반 USB 드라이브로 교체하여 해결할 수 있을 것임
- 포트는 2.0만 지원하지만 어차피 프로세서에 의해 제한됨
- 캡처 카드와 macOS의 Photo Booth를 사용하여 이 작업을 수행했는데, 실제로는 비디오 피드에서 이미지 뒤집기를 비활성화할 수 없음
- OBS 사용을 권장함
- "안아줌"을 받았음
- 다음 게시물은 "블로그가 Nintendo Wii (Varnish 실행 중)에 호스팅됨"이라고 말할지도 모름
- 성능이 나쁘지 않음
- Nintendo의 TCP 스택을 사용하지 않는 것이 분명하며, 이는 Wii에서 악명 높았음
- 까다롭게 굴고 싶지는 않지만, Caddy 인스턴스를 Wii로 이동시키거나 제거하지 않는 한 블로그가 Wii에 완전히 호스팅된 것은 아님
- 훌륭한 작업임
- 믿을 수 없을 정도로 놀라움
- 훌륭한 작업임