이전 글에서 하드웨어 구성을 마쳤다면, 이제 본격적인 운영체제와 분석 환경을 세팅할 차례입니다.
이번 글에서는 실제 Ubuntu 환경에서 CryoSPARC와 RELION을 설치하고,
단일 GPU 기반의 실습용 워크스테이션을 구성하는 과정을 기록하였습니다.
1. Ubuntu 설치와 기본 설정
Ubuntu는 24.04 LTS 버전을 사용하였습니다.
설치 시 “Minimal Installation”을 선택해 불필요한 GUI 패키지를 줄였고, 설치 직후 기본 업데이트를 수행하였습니다.
sudo apt update && sudo apt upgrade -y
그후에 SSH 접속을 위해 다음 패키지를 설치하였습니다.
sudo apt install openssh-server
설정 후에는 다른 컴퓨터에서 다음과 같이 접속할 수 있습니다.
ssh -Y id@domain.com
DuckDNS(무료 도메인)와 같은 동적 도메인 서비스를 이용하면 외부 네트워크에서도 안정적으로 접근할 수 있습니다.
2. NVIDIA 드라이버와 CUDA 환경
Cryo-EM 데이터 처리에서 GPU는 필수적입니다. Ubuntu 환경에서는 다음과 같이 드라이버를 설치할 수 있습니다.
sudo apt install nvidia-driver-535
sudo reboot
nvidia-smi
GPU가 정상적으로 인식되면 CUDA Toolkit을 설치합니다. CryoSPARC와 RELION은 모두 CUDA 12.x 버전에서 안정적으로 동작했습니다.
sudo apt install nvidia-cuda-toolkit
nvcc --version
시스템 업데이트 시 CUDA 버전이 자동으로 변경되면 프로그램이 구동되지 않을 수 있으므로, 장기간 사용할 경우 버전을 고정하는 것이 좋습니다.
3. CryoSPARC 설치
CryoSPARC는 Python 기반의 독립 실행 서버 형태로 작동합니다. 단일 워크스테이션에서는 마스터(master)와 워커(worker)를 같은 머신에서 운영할 수 있습니다.
wget https://get.cryosparc.com/download/master-latest.tar.gz
tar -xzf cryosparc_master.tar.gz
./install.sh
설치 중 관리자 이메일, 포트(기본 39000), 데이터 경로를 지정합니다. 설치 후 CryoSPARC CLI를 이용해 서비스를 시작할 수 있습니다.
cryosparcm start
cryosparcm status
웹 브라우저에서 http://localhost:39000으로 접속하면 UI를 확인할 수 있습니다.
리눅스 환경에서는 CryoSPARC 명령어 자동완성(tab)이 정상적으로 동작하지 않는 경우가 있어,
.bashrc에 크라이오스파크 PATH를 추가하여 해결할 수 있습니다.
4. RELION 설치
RELION은 GitHub를 사용하여 직접 빌드합니다. 먼저 설치전에 필수 패키지를 설치합니다.
sudo apt install build-essential cmake openmpi-bin libfftw3-dev
git clone https://github.com/3dem/relion.git
cd relion && mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/relion
make -j 8 && sudo make install
빌드 완료 후 PATH에 추가합니다.
echo 'export PATH=/opt/relion/bin:$PATH' >> ~/.bashrc
현재 워크스테이션은 단일 GPU를 사용하므로, MPI 병렬 실행은 설정하지 않았습니다.
향후 GPU를 추가하면 mpirun 명령을 통해 병렬 처리를 적용할 수 있습니다.
5. CryoSPARC와 RELION 통합 운용
CryoSPARC와 RELION을 동시에 설치하고 운용하는 것은 가능합니다. 하지만 두 프로그램이 동시에 GPU에 접근하려 하면 에러가 발생할 수 있습니다. 가능하면 한 프로그램씩 순차적으로 실행하거나, GPU를 추가하여 각 프로그램이 별도의 GPU를 사용하도록 분리하는 것이 좋습니다.
이번 구성은 실습용에 가까운 개인용 워크스테이션을 기준으로 하며, 단일 GPU 환경을 전제로 하고 있습니다.
데이터 저장은 외장 SSD 드라이브를 마운트하여 사용했습니다. 외장 SSD는 CryoSPARC 워커가 일부 공간을 캐시로 활용할 수 있어, 데이터 접근 속도 측면에서도 유리합니다.
CryoSPARC와 RELION의 세부 사용법과 워크플로우 구성은 다음 글에서 더 자세히 다룰 예정입니다.
6. 운영 및 유지보수
업데이트는 주로 다음 명령으로 진행합니다.
sudo apt update && sudo apt upgrade
cryosparcm update
드라이버나 CUDA 관련 업데이트 시에는 항상 nvidia-smi를 통해 GPU 상태를 확인하고,
CryoSPARC와 RELION이 정상적으로 동작하는지 테스트하는 것이 좋습니다.
워크스테이션을 직접 구축하면서 느낀 점은, 계산 자원과 스토리지가 실제 분석 성능에 어떤 영향을 주는지를 명확히 체감할 수 있다는 것입니다. 단일 GPU 환경에서도 SPA 실습과 데이터 처리 전 과정을 충분히 수행할 수 있으며, 환경에 대한 이해도가 높을수록 문제 해결 속도도 함께 빨라지기에 개인용 워크스테이션을 구축하고 실습하는 것은 충분히 의미있는 일입니다.
다음 글에서는 RELION의 설치 후 설정과 튜토리얼 데이터 실행 과정을 다룰 예정입니다. 이제 본격적으로 EM 데이터를 처리하기 시작하는 것입니다.