TL;DR
- 데스크톱으로 사용하면서 잦은 충돌과 데이터 손실, 하드웨어·소프트웨어 호환성 문제를 겪어 OpenBSD를 중단하고 대부분의 작업을 Qubes OS와 Fedora 가상 머신 약 20개로 옮김.
- 블루투스 미지원, 제한적인 게임패드 지원, 대안보다 높은 전력 소비가 하드웨어 관련 문제임.
- OCI 컨테이너, 머신러닝, 가상 머신과 독점 소프트웨어를 다루는 작업에서 OpenBSD의 성능과 호환성이 부족함.
- 여러 ThinkPad 기기와 데스크톱에서 잠금, 멈춤, 커널 패닉이 발생했고, 그 결과 파일 손상과 데이터 손실을 겪음.
- Linux의 네임스페이스, cgroups, systemd, 스왑 압축, 저장소 기술, Flatpak, auditd, SELinux와 게임용 Fedora Silverblue를 긍정적으로 평가함.
1. 서론
- 지난달 한동안 OpenBSD를 직접 사용하지 않은 상태였기에 OpenBSD 팀을 떠나기로 결정함. 한동안 OpenBSD를 옹호해 왔는데 왜 사용을 중단했는지 묻는 사람이 많아 생각을 공유함.
- OpenBSD를 좋아하고, 고유한 가치를 지니며, 존재 자체가 중요하다고 봄. 다만 모든 요구를 충족하는 운영체제는 아니며, 더는 자신의 요구에 맞지 않음.
2. 문제
- 개별적으로는 감당할 수 있었던 여러 문제가 누적돼 OpenBSD를 떠나야 하는 수준에 도달함.
2.1. 하드웨어 호환성
- 블루투스 지원 부재.
- 제한적인 게임패드 지원. 모든 프로그램이 지원하는 것은 아니며, 모든 게임패드가 작동하는 것도 아님.
- 배터리 수명, 발열, 전력 사용량 문제. OpenBSD는 대안보다 상당한 차이로 전력을 더 많이 소비함.
2.2. 소프트웨어 호환성
- 데브옵스(DevOps) 분야에서 경쟁력을 유지하려면 OCI 컨테이너, 머신러닝, 일부 특수 기술을 포함한 다양한 도구를 실험하고 익혀야 함.
- OpenBSD의 가상 머신 실행은 제약이 큼. 단일 코어로 헤드리스(headless) 프로그램을 실행할 때 성능이 낮아, 기술 역량을 유지하려는 동기가 되기 어려움.
- 컨설팅 업무 중 가끔 독점 소프트웨어를 실행해야 함. 가상 머신에서 실행하면 문제가 없지만, OpenBSD에서는 큰 수고와 매우 낮은 성능 없이는 실행하기 어려움.
2.3. 신뢰성
- OpenBSD 파일 시스템에 불만이 있음. OpenBSD가 충돌할 때마다 파일이 손상되거나 사라지며, 데스크톱으로 사용할 때 충돌이 매우 자주 발생함. 이를 받아들일 수 없음.
- 하드웨어 호환성 문제일 가능성도 있음. 오래된 ThinkPad T400에서는 문제가 없었지만, 다음 기기에서는 잠금, 멈춤, 커널 패닉을 여러 차례 경험함.
- ThinkPad X395
- ThinkPad t470
- ThinkPad t480
- Ryzen 5600X + AMD GPU 데스크톱
- 매일 데이터를 먹어 치우는 운영체제를 계속 사용하고 싶지는 않음. 문제가 발생한 원인을 특정하지 못했으며, 다른 사용자들은 안정적으로 사용한다고 보임.
3. Linux로 이동
- 비디오 게임을 제외한 거의 모든 작업을 OpenBSD에서 Qubes OS로 옮겼으며, 그 안에서 Fedora 가상 머신을 평균 약 20개 동시에 실행함.
- 각 작업 맥락을 별도 공간으로 분리할 수 있어 OpenBSD보다 더 나은 보안을 제공함. 대부분의 사용자에게는 지나치게 강한 분리 방식이지만, 한 번 사용한 뒤에는 전통적인 시스템으로 돌아가기 어려움.
- 이전 블로그 글: [Qubes OS를 사용하는 이유는 무엇일까?]
- Linux에서 익힌 기능을 유용하게 평가함.
- 네임스페이스(namespaces): 프로세스의 범위를 제한할 수 있어 강력하며, Linux에서 오랫동안 제공된 기능임. 컨테이너 실행의 기반이기도 하고, chroot보다 훨씬 나음.
- cgroups: 자원 사용량을 집계하는 커널 하위 시스템임. 프로세스가 사용한 네트워크, 입출력(I/O), CPU, 메모리의 양을 정확하고 신뢰성 있게 확인할 수 있음. 운영자 관점에서 지표를 볼 때 자원을 소비하는 주체를 정확히 파악할 수 있다는 점이 중요함. OpenBSD에서는 특정 시점의 CPU 사용량 급증을 확인할 수 있지만, Linux에서는 어떤 사용자가 CPU를 사용했는지 확인할 수 있음.
- systemd: journald, 타이머, 스크립팅 기능을 제공함. 파격적인 변화이며 사용법을 새로 배워야 해 불만을 느끼는 사람도 있을 수 있지만, 유용한 기능이 많음. 매뉴얼 페이지도 좋음.
- 스왑 압축(swap compression): 메모리를 일부 사용하는 대신 하드웨어 한계까지 성능을 끌어올릴 수 있음. LZ4 압축 알고리즘을 사용하면 매우 빠른 스왑을 이용할 수 있으며, 일반적인 압축률은 3:1 또는 4:1임.
- 최신 저장소 백엔드(modern storage backend): 하드웨어에 따라 LVM, btrfs, ZFS로 성능, 신뢰성, 확장성을 높일 수 있음. 투명 압축을 사용하면 압축 가능한 데이터에 한해 하드웨어에 더 많은 데이터를 저장할 수 있음.
- Flatpak: 소프트웨어 배포 방식이 마음에 듦. 패키지는 각각 자체 네임스페이스에서 실행돼 전체 파일 시스템에 접근할 수 없고, 이전 버전으로 되돌리거나 여러 작업을 수행할 수 있음.
- auditd: 보안 환경에 필수적인 기능임. 특정 파일에 접근한 시점이나 파일이 수정된 시점 등 규칙에 부합하는 접근을 기록할 수 있음. OpenBSD에는 이 기능이 없으며, PID 1에서 ktrace를 실행하면 비슷한 작업이 가능할지는 의문임. 이러한 기능은 여러 인증 보안 환경의 기본 요구사항임.
- SELinux: 처음 방해가 된 뒤 더 살펴보지 않고 비활성화하는 사람이 많지만, 여러 종류의 취약점을 완화하는 강력한 보안 메커니즘임.
- 게임용 데스크톱에서는 안정적인 업그레이드, 우수한 품질, 폭넓은 소프트웨어 선택지를 갖춘 Fedora Silverblue가 매우 탄탄한 시스템이라고 판단함.
4. 결론
- OpenBSD에서 너무 많은 문제를 겪음. 올해 두 차례 다시 사용하려 했지만, 충돌로 데이터가 사라져 이틀을 잃었음. 정상 작동할 때도 성능이 답답했고 필요한 작업을 수행할 수 없었음.
- OpenBSD를 즐겨 사용하고 안정적인 시스템을 경험하는 사람들이 있다는 점은 기쁘게 생각함. 사용자들과 나눈 여러 대화에서 가장 흔하고 압도적으로 많이 언급된 장점은 시스템 내부에서 무슨 일이 일어나는지 이해할 수 있다는 점임. 이는 OpenBSD만의 특성일 수 있으며, NetBSD도 해당할 수 있음.
- 앞으로도 적절하다고 판단하는 상황에서는 OpenBSD를 계속 권장하고, 오픈 소스 소프트웨어에 기여할 때 OpenBSD 호환성을 계속 확인할 예정임. 최근 확인한 프로젝트는 Peergos임. 언젠가 OpenBSD로 돌아갈 수도 있다는 점에서 중요하게 여기는 일임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요