SNUCSE Cloud
SNUCSE Cloud는 베타로 운영 중입니다. 새 계정의 리소스 쿼터는 0이니, 웹 UI의 쿼터 신청에서 필요한 자원을 신청해 승인을 받은 뒤 인스턴스를 만드세요(리소스 쿼터). 베타 기간에는 점검으로 인스턴스가 정지될 수 있고, 운영하면서 기능과 이 안내가 바뀔 수 있습니다. 바뀌는 내용은 웹 UI 위쪽 공지와 이 문서에서 알립니다.
안녕하세요, 서울대학교 컴퓨터공학부 서버 관리자 모임 바쿠스입니다.
SNUCSE Cloud는 컴퓨터공학부 주전공 회원과 허가된 외부 회원에게 가상 머신(인스턴스)을 제공하는 서비스입니다. 필요하면 GPU가 달린 인스턴스도 만들 수 있습니다. Apache CloudStack으로 운영합니다.
| 무엇을 | 어디서 |
|---|---|
| 인스턴스 만들기·관리 | 웹 UI https://cloud.snucse.org |
| 인스턴스에 SSH로 접속 | ssh -p 2222 <유저명>:<SSH 이름>@cloud.snucse.org |
| 인스턴스 화면 보기 | 웹 UI의 콘솔 |
인스턴스는 개인 계정 단위로 제공합니다. 팀이나 프로젝트 단위의 공유 기능은 제공하지 않으며, 인스턴스를 다른 사람과 함께 쓰려면 소유자가 게스트 접속으로 계정을 열어 줍니다. 수업·연구실 단위의 사용은 조교·관리자 가이드를 보세요.
모든 것이 SNUCSE ID와 연동되어 있습니다. 계정을 따로 만들지 않고 SNUCSE ID로 로그인하면 되고, 인스턴스에 SSH로 접속할 때도 다른 클라우드처럼 SSH 키를 만들어 등록할 필요 없이 브라우저에서 SNUCSE ID로 로그인하면 됩니다. 자세한 내용은 이용 대상과 로그인과 인스턴스에 접속하기를 보세요.
문의는 contact@bacchus.snucse.org로 보내 주세요.
이용 대상과 로그인
이용 대상

- 컴퓨터공학부 주전공: SNUCSE ID에서 주전공 인증을 마치면 "컴퓨터공학부 주전공" 그룹에 들어가고, 그 순간부터 SNUCSE Cloud에 로그인할 수 있습니다. 주전공 인증은 SNU Google Workspace(snu.ac.kr) 계정으로 학과를 확인하는 절차이며, SNUCSE ID 첫 화면에 있습니다.
- 허가된 외부 회원: 주전공이 아니지만 사용이 필요하면 contact@bacchus.snucse.org로 문의해 주세요. 외부 회원을 위한 게스트 그룹을 SNUCSE ID에 신설할 예정이며, 그 그룹에 추가되면 같은 방법으로 로그인할 수 있습니다.
로그인
- https://cloud.snucse.org에 접속합니다.
- 로고 아래의 SNUCSE ID 로그인 버튼을 누릅니다. 그 아래 접혀 있는 관리자 로그인은 운영진용입니다.
- SNUCSE ID에 로그인하고, 처음 한 번 뜨는 권한 요청을 승인합니다.

첫 로그인에서 계정이 자동으로 만들어집니다. 계정 이름은 SNUCSE ID 유저명(이메일 주소가 아닌 SNUCSE ID 아이디)과 같습니다. 학생은 따로 비밀번호 없이 SNUCSE ID로 로그인합니다.
로그인 화면에 "아직 사용할 수 없는 계정입니다"라는 안내가 나오면 아직 이용 대상 그룹에 없는 것입니다. 주전공 인증을 마친 뒤 다시 로그인해 주세요.
로그아웃
SNUCSE Cloud에서 로그아웃하면 SNUCSE Cloud에서만 로그아웃되고, SNUCSE ID에는 로그인된 채로 남습니다. 그 브라우저에서 누군가 다시 SNUCSE ID 로그인을 누르면 비밀번호 없이 내 계정으로 들어갈 수 있습니다. 실습실처럼 여럿이 쓰는 컴퓨터에서는 로그아웃한 뒤 로그인 화면의 "공용 컴퓨터라면 로그인한 곳에서도 로그아웃하세요" 아래 SNUCSE ID 로그아웃 링크를 눌러 SNUCSE ID에서도 로그아웃하세요.
그룹에서 빠지면
이용 대상 그룹에서 빠지면(예: 졸업) 다음 로그인 때 계정이 비활성화됩니다. 인스턴스는 정지된 채 보존되고, 그룹에 다시 들어오면 계정도 다시 활성화됩니다. 계정과 인스턴스가 정리되는 기준은 정식 오픈 때 안내합니다.
리소스 쿼터
만들 수 있는 자원의 양은 계정마다 리소스 쿼터로 정해져 있습니다. 쿼터를 넘기는 요청은 거부됩니다. 쿼터는 웹 UI의 쿼터 신청 메뉴에서 신청하고, 운영진(Bacchus)이 승인합니다.
쿼터 항목
| 항목 | 무엇을 세나 |
|---|---|
| vCPU (GPU 없는 인스턴스) | CPU 인스턴스의 vCPU 합 |
| 메모리 (GPU 없는 인스턴스) | CPU 인스턴스의 메모리 합 |
| 스토리지 (GiB) | 모든 볼륨(운영체제 디스크와 데이터 디스크), 남긴 루트 디스크, 디스크 이동의 이전 복사본(-previous-), 스냅샷, 다운로드하려고 꺼낸 볼륨 사본의 크기 합(볼륨과 스냅샷) |
GPU 종류별 장수(a100-40g, a100-80g, a6000, gtx1080) | GPU 인스턴스의 GPU. GPU 1장마다 그 종류의 vCPU와 메모리가 함께 딸려 옵니다 |
- CPU 인스턴스와 GPU 인스턴스는 따로 셉니다. GPU 쿼터에 딸린 vCPU와 메모리는 GPU 인스턴스에만 쓰이고 CPU 인스턴스에는 쓸 수 없습니다. 반대로 CPU 인스턴스의 vCPU·메모리 쿼터는 GPU 인스턴스에 쓰이지 않습니다.
- GPU 쿼터는 종류마다 따로입니다. A100 40GB와 A100 80GB도 다른 종류입니다. 같은 종류라면 연결 방식(
nvswitch,nvlink)과 상관없이 같은 쿼터를 씁니다. - 인스턴스 수와 볼륨 수는 따로 신청하지 않습니다. 위 항목에 맞춰 정해집니다.
- 스냅샷 개수에는 제한이 없고, 스냅샷이 차지하는 용량은 스토리지 쿼터에 들어갑니다. 스냅샷은 만들 때마다 볼륨 전체를 복사하므로 정기 스냅샷처럼 쌓이는 스냅샷은 쿼터를 많이 쓸 수 있습니다(볼륨과 스냅샷). 대시보드의 스토리지 쿼터는 이렇게 하나로 합친 쿼터의 남은 양입니다("볼륨과 스냅샷이 이 쿼터를 함께 씁니다").
- 정지된 인스턴스도 쿼터를 그대로 차지합니다. 쓰지 않는 인스턴스와 볼륨, 스냅샷은 삭제해 주세요. 휴지통은 없어서 삭제하면 바로 사라지고 쿼터가 돌아오며, 되돌릴 수 없으니 필요한 데이터는 미리 옮겨 두세요(인스턴스 삭제와 루트 디스크).
- 현재 사용량과 한도는 로그인 후 첫 화면(대시보드)의 자원 카드에서 볼 수 있습니다.
기본 쿼터
모든 계정에는 운영진이 정한 기본 쿼터가 있고, 기본 쿼터는 만료되지 않습니다. 베타 기간에는 기본 쿼터가 모두 0이라 신청해야 인스턴스를 만들 수 있습니다. GPU의 기본 쿼터는 늘 0이라 GPU는 신청해야만 쓸 수 있습니다.
쿼터 신청
- 왼쪽 메뉴의 쿼터 신청 → 내 신청에서 새 신청을 누릅니다.
- 필요한 양(vCPU, 메모리, 스토리지, GPU 종류별 개수), 만료일, 이유를 적고 보내기를 누릅니다. 이유에는 용도(수업, 연구, 개인 프로젝트 등)와 기간을 적어 주세요. GPU 칸에는 지금 신청할 수 있는 GPU 종류가 모두 나옵니다.
- 운영진이 승인하거나 거부합니다. 운영진은 값과 만료일을 조정해 승인할 수 있고, 신청 목록에는 신청 내용과 승인된 내용이 나란히 나옵니다. 승인되면 쿼터가 바로 바뀝니다.
- 결정을 기다리는 신청은 한 번에 하나만 둘 수 있습니다. 내용을 바꾸려면 신청 취소를 누른 뒤 다시 신청하세요.
- 목록 위의 현재 적용 중인 쿼터에서 지금 쿼터를 볼 수 있습니다.
- 받은 승인이 더 필요 없으면 반납할 수 있습니다. 쿼터는 그 승인을 빼고 다시 계산됩니다.
승인이 여러 개일 때
승인마다 만료일이 있고, 만료되지 않은 승인이 여러 개면 항목마다 가장 큰 값이 쿼터가 됩니다. 더하지 않습니다. 기본 쿼터도 이 계산에 들어갑니다.
예를 들어 12월 31일까지 vCPU 8개·스토리지 200 GiB를 받고, 11월 30일까지 vCPU 4개·A6000 1장을 따로 받았다면 11월 30일까지는 vCPU 8개·스토리지 200 GiB·A6000 1장이고, 그 뒤로는 vCPU 8개·스토리지 200 GiB입니다.
만료와 갱신
- 승인은 만료일 당일 23:59:59(운영진이 정한 시간대, 지금은 한국 시간)에 끝납니다.
- 만료 7일 전과 1일 전(운영진이 정한 값)에 화면 위쪽에 안내가 나오고 이벤트가 남습니다. 메일 알림은 준비되는 대로 함께 보냅니다.
- 계속 쓰려면 안내의 갱신 신청이나 내 신청 목록에서 그 승인의 갱신 신청을 누릅니다. 그 승인의 값으로 채워진 새 신청이 열리고, 다시 승인을 받아야 합니다. 이미 만료된 승인도 갱신 신청할 수 있습니다.
승인이 만료되거나 운영진이 회수해서 쓰고 있는 양이 쿼터를 넘게 되면 이렇게 됩니다.
- 실행 중인 인스턴스는 정지할 때까지 그대로 돌아갑니다. GPU 인스턴스는 지금의 사용 기한이 끝나면 정지되고, 기한 갱신은 거부됩니다(GPU 인스턴스의 사용 기한).
- 정지된 인스턴스는 시작할 수 없습니다("쿼터가 만료되었거나 이 오퍼링에는 부족합니다"). 운영진의 점검이 끝나 인스턴스가 다시 시작될 때도 쿼터를 넘은 인스턴스는 정지된 채로 남습니다.
- 볼륨이나 스냅샷 만들기, 디스크 이동처럼 새로 자원을 쓰는 일은 쿼터 아래로 내려올 때까지 거부됩니다.
- 아무것도 삭제되지 않습니다. 디스크와 스냅샷은 그대로 남습니다. 쓰지 않는 볼륨과 스냅샷을 지워(되돌릴 수 없습니다) 쿼터 아래로 내리거나, 쿼터를 다시 신청하세요.
인스턴스 만들기와 관리
왼쪽 메뉴의 컴퓨트 → 인스턴스에서 인스턴스 추가를 누릅니다.

순서대로 템플릿(운영체제), 컴퓨트 오퍼링(CPU·메모리·GPU), 운영체제 디스크, 데이터 디스크(선택), 이름을 정하면 됩니다. 네트워크는 하나뿐이라 자동으로 선택됩니다. 템플릿 대신 내 볼륨이나 스냅샷으로 만들 수도 있습니다(내 디스크로 인스턴스 만들기). 입력을 마치면 배치 항목이 그 조합이 지금 들어갈 자리가 있는지 알려 줍니다(배치 확인과 디스크 이동).
운영체제 디스크는 기본 20 GB(운영진이 정한 값)이고, 같은 이름의 단계에서 크기를 바꿀 수 있습니다. 최소 크기는 템플릿 크기와 운영진이 정한 하한(지금은 10 GB) 중 큰 값이고, 최대 크기는 남은 스토리지 쿼터입니다. 데이터 디스크는 그다음 단계에서 크기를 입력합니다. 디스크는 나중에 늘릴 수 있지만 줄일 수는 없습니다(디스크 늘리기). CPU 인스턴스의 vCPU는 2개 단위(운영진이 바꿀 수 있습니다)로, 최대치는 남은 CPU·메모리 쿼터입니다.
템플릿은 운영진이 등록한 것만 쓸 수 있고 직접 올릴 수는 없습니다. 필요한 운영체제나 이미지가 있으면 contact@bacchus.snucse.org로 요청해 주세요.
- 이름은 직접 정하고, 비워 두면
VM-0,VM-1, … 순서로 붙습니다. 규칙은 인스턴스 이름에 있습니다. SSH로 접속할 때는 이 이름에 계정 접두어가 붙은 SSH 이름을 씁니다. - 만들기가 끝나면 인스턴스 접속 정보 창에 SSH 명령, 로그인 계정, 인스턴스 비밀번호가 나옵니다. 인스턴스 비밀번호는 웹 콘솔 로그인에만 쓰고 이 창에서만 볼 수 있으니, 필요하면 복사해 두세요(웹 콘솔). SSH 명령과 로그인 계정은 인스턴스 화면에도 계속 나옵니다.
- 만들어진 인스턴스는 목록이나 인스턴스 화면에서 인스턴스 정지, 인스턴스 시작, 인스턴스 재시작, 인스턴스 파기(삭제, 되돌릴 수 없음)를 할 수 있습니다. 컴퓨트 오퍼링은 정지 상태에서만 인스턴스 확장으로 바꿀 수 있습니다.
- 정지된 인스턴스와 남긴 볼륨, 스냅샷도 스토리지 쿼터를 그대로 차지합니다. 쓰지 않으면 삭제해 주세요(볼륨과 스냅샷).
인스턴스 이름
화면에 보이는 이름은 만들기 마지막 단계의 이름(옵션) 칸에 직접 적습니다.
- 영문 대소문자·숫자·하이픈(
-)으로 30자까지 쓸 수 있고, 하이픈으로 시작하거나 끝날 수 없습니다. - 내 계정 안에서만 겹치지 않으면 됩니다. 대소문자는 구분하지 않아서
Test와test는 같은 이름입니다. 다른 사람이 같은 이름을 써도 상관없습니다. - 비워 두면
VM-0,VM-1, … 가운데 비어 있는 가장 작은 번호가 이름이 됩니다.
SSH 이름
SSH로 접속할 때는 이름 앞에 계정 접두어가 붙은 SSH 이름을 씁니다. 접두어는 SNUCSE ID 계정이면 snucse-<SNUCSE ID 유저명>-, Bacchus 계정이면 bacchus-<아이디>-입니다. 접두어는 자동으로 붙으므로 직접 입력하지 않으며, 덕분에 다른 사람의 인스턴스와 이름이 겹치지 않습니다.
예를 들어 유저명이 baneling100인 학생이 test라는 이름으로 만들면 SSH 이름은 snucse-baneling100-test이고, 접속 명령은 ssh -p 2222 baneling100:snucse-baneling100-test@cloud.snucse.org입니다. SSH 이름에서는 대문자가 소문자로 바뀝니다. 아이디가 x로 시작하거나 ., _, -를 포함하면 접두어의 일부 글자가 달라지므로, 명령을 직접 조립하지 말고 인스턴스 화면의 SSH 접속에서 복사해 쓰세요(SSH).
인스턴스 안의 호스트 이름(hostname)은 만들 때의 이름을 소문자로 바꾼 것입니다(test, 이름을 비워 두었으면 vm-0). 처음 부팅할 때 한 번 정해지고, 그 뒤로 웹 화면에서 이름을 바꿔도 따라 바뀌지 않습니다. 이 밖에 시스템이 안에서만 쓰는 고유 이름이 따로 있지만, 학생 화면에는 나오지 않고 알 필요도 없습니다.
이름 바꾸기
인스턴스 화면의 인스턴스 편집에서 이름 칸을 고칩니다. 위의 규칙이 그대로 적용되고, 인스턴스가 실행 중이어도 바로 바뀝니다.
- SSH 명령도 새 이름으로 바뀝니다. 1분쯤 지나면 새 이름으로 접속되고, 이전 이름으로는 접속되지 않습니다. 게스트가 있다면 새 명령을 알려 주세요(게스트).
- 인스턴스 안의 호스트 이름은 그대로입니다. 바꾸려면 인스턴스 안에서
sudo hostnamectl set-hostname <새 이름>을 실행하세요. - 이름이
<이름>-ROOT인 운영체제 디스크 볼륨은 새 이름에 맞춰 같이 바뀝니다.
예전에 만든 인스턴스
이 이름 규칙이 생기기 전에 만든 인스턴스는 옛 이름과 옛 SSH 명령을 그대로 씁니다. 이름을 바꿔도 이들의 SSH 이름은 바뀌지 않으니, 인스턴스 화면에 나오는 명령을 쓰세요. 운영체제 디스크 볼륨의 이름도 ROOT-<번호> 그대로입니다.
컴퓨트 오퍼링
| 종류 | 오퍼링 | 고르는 것 |
|---|---|---|
| CPU 인스턴스 | cpu 하나 | vCPU 수와 메모리를 직접 입력 |
| GPU 인스턴스 | GPU 종류와 장수마다 하나(예: a6000-1) | 오퍼링만 고르면 vCPU와 메모리가 GPU 수에 맞춰 정해짐 |
- CPU 인스턴스: vCPU는 2개 단위(2, 4, 6, …)로 정합니다. vCPU 2개가 물리 코어 1개(그 코어의 하드웨어 스레드 2개)이고, 인스턴스가 실행되는 동안 그 코어는 그 인스턴스만 씁니다. 다른 인스턴스와 코어를 나눠 쓰지 않습니다. 메모리는 GiB 단위로, 0.1 GiB씩 정합니다.
- vCPU·메모리·디스크 입력의 최대치는 남은 쿼터뿐입니다. 호스트(인스턴스가 실행되는 물리 서버)에 남은 자리는 입력을 막지 않고, 아래 배치 확인에서 따로 알려 줍니다.
- CPU 인스턴스는 가능한 한 적은 수의 호스트에 모아서 놓습니다. 작은 인스턴스가 여러 호스트에 흩어지지 않아야 큰 인스턴스가 들어갈 큰 빈자리가 남기 때문입니다.
- GPU 인스턴스는 GPU를 보세요. GPU 인스턴스에는 사용 기한이 있습니다.
배치 확인과 디스크 이동
만들기 단계의 배치 항목은 지금 고른 조합이 들어갈 자리가 있는지 알려 줍니다. 한 호스트에 남은 vCPU·메모리·디스크의 최대치(각각 따로 센 값)와 함께, 고른 조합에 대한 판정을 보여 줍니다.
- 지금 있는 그대로 시작할 수 있음
- 디스크를 옮긴 뒤에야 시작할 수 있음(옮길 크기와 예상 시간)
- 지금은 할 수 없음(이유: 쿼터, 여유 CPU 코어, 메모리, GPU, 로컬 디스크 공간 등)
이 수치는 참고용입니다. 인스턴스를 만들거나 시작할 때 SNUCSE Cloud가 다시 판단하므로 그 사이에 값이 바뀔 수 있습니다. 그 사이에 다른 사람이 먼저 자리를 차지하면, 보고 있던 판정과 달리 실패하거나 다시 묻습니다. 만들기 단계에서 "지금은 할 수 없습니다"라고 나온 조합도 제출할 수는 있지만 같은 이유로 실패합니다.
정지된 인스턴스를 시작하거나, 실행 중인 인스턴스에 다른 호스트의 볼륨을 붙이거나, 남긴 볼륨으로 인스턴스를 만들 때 디스크를 다른 호스트로 옮겨야 하면 확인 창("디스크를 먼저 옮겨야 합니다")이 뜹니다. 창에는 옮길 디스크와 크기(전체 크기와 실제 사용량), 예상 시간이 나오고, 옮기는 동안 그 디스크를 쓸 수 없다는 것과 이전 복사본이 어떻게 되는지도 적혀 있습니다.
- 이동 승인을 눌러야만 옮깁니다. 취소하면 아무것도 옮기지 않고 인스턴스도 시작하지 않습니다. 승인 없이 디스크가 옮겨지는 일은 없습니다.
- 옮기는 동안 인스턴스는 "마이그레이션중"으로 보이고, 다 옮기면 이어서 시작합니다. 디스크가 크면 몇 시간 걸릴 수 있습니다.
- 이동은 복사입니다. 이전 호스트의 디스크는
<볼륨 이름>-previous-<날짜>(예:test-ROOT-previous-20261021) 볼륨으로 남고, 직접 지울 때까지 스토리지 쿼터를 차지합니다. 새 위치에서 잘 쓰는 것을 확인한 뒤 볼륨 목록에서 볼륨 파기로 지우세요(볼륨 지우기). 운영진이 이 동작을 끈 경우에는 이동이 끝난 뒤 이전 복사본이 삭제되며, 확인 창이 어느 쪽인지 알려 줍니다. - 이전 복사본을 남기려면 옮길 디스크 크기만큼 스토리지 쿼터가 남아 있어야 합니다. 모자라면 "남은 스토리지 쿼터가 부족합니다"로 거부됩니다.
- 확인 창을 띄운 뒤 상황이 바뀌었거나 창을 오래(15분 넘게, 운영진이 정한 값) 열어 두었으면 새 판정으로 다시 묻습니다. 승인은 창에 보인 그 이동에만 쓰입니다.
- 옮기다가 실패하면(예: 호스트 점검이 시작됨) 아무것도 바뀌지 않습니다. 인스턴스는 정지된 채로, 디스크는 원래 호스트에 그대로 남고, 이전 복사본도 생기지 않습니다. 나중에 다시 시작하세요.
- 다 옮긴 뒤 시작만 실패하면 디스크는 새 호스트에 남아 있고(이동은 끝난 것으로 남음), 오류 문구가 그렇다고 알려 줍니다.
- 정지된 인스턴스에 볼륨을 붙일 때는 붙였다는 것만 기록합니다. 옮겨야 하는지는 그 인스턴스를 시작할 때 묻습니다.
인스턴스 상태
| 상태 | 붙잡고 있는 것 | 이렇게 됩니다 |
|---|---|---|
| 실행 중 | CPU 코어, 메모리, GPU, 디스크 | 만들기, 시작 |
| 정지 | 디스크만 | 인스턴스 정지, 인스턴스 안에서 끄기(sudo poweroff), 호스트 점검, GPU 사용 기한 만료 |
| 삭제 | 없음(루트 디스크는 기본으로 볼륨으로 남음) | 인스턴스 파기(바로 삭제, 되돌릴 수 없음) |
- 정지하면 CPU 코어·메모리·GPU를 바로 반납하고, 다른 사람이 쓸 수 있게 됩니다. 다시 시작할 때 자리를 새로 잡으므로, 원래 호스트가 차 있으면 디스크를 옮겨야 할 수 있습니다(배치 확인과 디스크 이동).
- 인스턴스 재시작(재부팅)은 아무것도 반납하지 않습니다. 같은 호스트, 같은 코어와 GPU로 다시 켜집니다.
- 정지된 인스턴스도 리소스 쿼터(vCPU·메모리·GPU·스토리지)는 그대로 차지합니다. 쿼터는 가진 인스턴스의 크기로 세고, 서버 자원은 실행 중인 인스턴스만 씁니다.
인스턴스 삭제와 루트 디스크
휴지통은 없습니다. 인스턴스 파기를 하면 인스턴스가 바로 지워지고 되돌릴 수 없습니다.
인스턴스 파기를 누르면 확인 창이 열립니다.
- 창에 "삭제하려면 리소스 이름을 정확히 입력하십시오"라는 안내와 인스턴스 이름이 나옵니다. 그 이름을 그대로 입력해야 확인을 누를 수 있습니다(대소문자를 구분하고, 앞뒤 공백은 무시합니다). 목록에서 인스턴스 여러 개를 골라 한꺼번에 지울 때는 이름 대신 고른 개수를 입력합니다.
- 루트 디스크 남기기는 기본으로 켜져 있습니다.
- 켠 채로 삭제하면 루트 디스크는 같은 이름(
<인스턴스 이름>-ROOT, 예전에 만든 인스턴스는ROOT-<번호>)의 볼륨으로 스토리지 → 볼륨에 남습니다. 남긴 볼륨은 스토리지 쿼터를 차지합니다. - 끄고 삭제하면 루트 디스크도 인스턴스와 함께 바로 지워집니다.
- 켠 채로 삭제하면 루트 디스크는 같은 이름(
- 데이터 디스크는 인스턴스를 삭제해도 지워지지 않고 볼륨으로 남습니다. 삭제 창의 삭제될 데이터 볼륨에서 고르면 함께 지울 수 있고, 아니면 나중에 따로 지우세요.
- 오류(Error) 상태인 인스턴스는 남길 루트 디스크가 없는 것으로 보고 루트 디스크 없이 삭제됩니다.
- 운영체제 디스크의 스냅샷이 만들어지는 중에는 인스턴스를 삭제할 수 없습니다. 스냅샷의 상태가 백업됨이 된 뒤에 삭제하세요.
남긴 루트 디스크로 다시 인스턴스를 만들려면 볼륨 목록에서 그 볼륨을 고르고 이 볼륨으로 인스턴스 만들기를 누릅니다. 만들기 화면이 그 볼륨을 고른 채로 열리고, 컴퓨트 오퍼링만 고르면 됩니다. 그 볼륨이 있는 호스트에 자리가 없으면 디스크를 옮겨도 되는지 묻습니다(내 디스크로 인스턴스 만들기). 다른 인스턴스에 붙여 데이터만 꺼낼 수도 있습니다(데이터 꺼내기).
필요 없어진 루트 디스크와 데이터 디스크는 볼륨 목록에서 볼륨 파기로 지웁니다(볼륨 지우기). 지운 볼륨은 복구되지 않으니 필요한 데이터는 미리 옮겨 두세요. 스냅샷을 만들어 두었다면 볼륨을 지운 뒤에도 거기서 되살릴 수 있습니다(볼륨과 스냅샷).
디스크 늘리기
볼륨 목록에서 디스크를 고르고 볼륨 크기 변경으로 늘립니다. 줄일 수는 없습니다.
- 운영체제 디스크(이름이
<인스턴스 이름>-ROOT인 볼륨, 예전에 만든 인스턴스는ROOT-<번호>): 늘린 뒤 인스턴스를 재시작하면, 부팅 때 cloud-init이 파티션과 파일시스템을 새 크기에 맞게 늘립니다(growpart,resizefs). - 데이터 디스크: 파일시스템은 직접 늘립니다. 예: 파티션이 있으면
sudo growpart /dev/vdb 1뒤에 ext4는sudo resize2fs /dev/vdb1, XFS는sudo xfs_growfs <마운트 위치>.
GPU 인스턴스의 사용 기한
GPU는 쓰지 않는 동안 붙잡고 있으면 다른 사람이 쓸 수 없으므로, GPU 인스턴스에는 사용 기한이 있습니다. CPU 인스턴스에는 기한이 없습니다.
- GPU 인스턴스는 시작한 때 또는 마지막으로 기한을 갱신한 때부터 36시간(운영진이 정한 값) 뒤에 자동으로 정지됩니다.
- 남은 시간은 인스턴스 정보의 남은 기한과 대시보드의 GPU 사용 기한 카드에 나옵니다.
- 더 쓰려면 하루에 한 번쯤 기한 갱신을 누르세요(인스턴스 화면 또는 대시보드). 갱신하면 기한이 그때부터 다시 36시간이 됩니다. 남은 시간에 더해지는 것이 아니라 새로 정해지므로, 매일 비슷한 시각에 갱신하면 12시간쯤 여유가 남습니다. 실행 중인 인스턴스만 갱신할 수 있습니다.
- 기한 4시간 전과 1시간 전(운영진이 정한 값)에 알림이 이벤트와 화면에 나옵니다. 메일 알림은 준비되는 대로 함께 보냅니다.
- 기한이 끝나면 인스턴스가 정지됩니다. 디스크는 그대로 남고, GPU·CPU·메모리만 반납됩니다. 다시 시작하면 그때부터 새 36시간이 주어집니다(빈 GPU가 있어야 시작됩니다).
- 재시작(재부팅)과 재설치는 기한을 바꾸지 않습니다. 정지했다가 시작하면 새 기한이 시작됩니다.
- 쿼터가 만료되면 연장·재시작이 막히고, 현재 기한이 끝나면 정지됩니다. GPU 쿼터가 만료되었거나 모자라면 기한 갱신이 거부되고, 인스턴스는 지금의 기한이 끝날 때 정지되며, 쿼터가 다시 생길 때까지 시작할 수 없습니다(리소스 쿼터).
- 오래 걸리는 작업은 중간 결과를 디스크에 저장해 두세요. 연구 일정 때문에 한 번 더 긴 기한이 꼭 필요하면 contact@bacchus.snucse.org로 문의해 주세요. 운영진이 그 실행 동안의 기한을 따로 정해 줄 수 있고, 다음에 시작할 때는 다시 36시간입니다.
호스트 점검
운영진이 호스트를 점검할 때는 로그인한 뒤 보이는 웹 UI의 화면 위쪽 공지로 미리 알립니다.
- 점검이 시작되면 그 호스트에서 실행 중인 인스턴스는 정지됩니다. 실행 중에 다른 호스트로 옮겨 주지 않으므로, 공지를 보면 점검 전에 저장하지 않은 작업을 정리하세요.
- 점검하는 동안에는 그 호스트에 디스크가 있는 인스턴스를 시작할 수 없습니다. 배치 확인에 "볼륨이 있는 호스트를 지금은 쓸 수 없습니다"가 나오면 점검이 끝난 뒤 다시 시작하세요. 그 호스트에서 진행 중이던 디스크 이동은 멈추고, 인스턴스와 디스크는 이동 전 상태로 돌아갑니다.
- 점검이 끝난 뒤 시작하면 평소처럼 자리를 다시 잡습니다. 원래 호스트에 자리가 있으면 그대로 시작하고, 없으면 디스크를 옮겨도 되는지 묻습니다.
- 호스트의 디스크(스토리지)만 점검할 때는 그 디스크를 쓰는 인스턴스가 정지되었다가 점검이 끝나면 다시 시작됩니다. 다만 쿼터를 넘은 계정의 인스턴스는 다시 시작되지 않고 정지된 채 남습니다.
CPU가 다른 호스트로 옮겨진 뒤
인스턴스는 호스트의 CPU를 그대로 봅니다. 호스트마다 CPU 종류가 다를 수 있어서, 디스크를 다른 호스트로 옮겨 시작하면 인스턴스 안에서 보이는 CPU가 바뀔 수 있습니다. 빌드한 기계의 CPU에 맞춰 컴파일한 프로그램(-march=native 등)은 옮긴 뒤 Illegal instruction으로 실패할 수 있으니, 다시 빌드하거나 특정 CPU에 묶이지 않는 옵션으로 빌드하세요.
사용자 데이터
인스턴스를 만들 때나 인스턴스 편집의 사용자 데이터 칸에 넣는 user data(cloud-config나 셸 스크립트)는 cloud-init이 처리하는 추가 설정입니다. 만든 뒤에 바꾸는 것은 인스턴스를 정지한 상태에서만 됩니다(실행 중에는 칸이 잠겨 있습니다). 모든 템플릿에는 운영진의 기본 스크립트(접속 게이트웨이 키 등)가 붙어 있어 언제나 실행되고, 내 user data는 그 뒤에 덧붙습니다.
user data를 바꿔도 이미 돌고 있는 운영체제에 다시 적용되지는 않습니다. cloud-init은 user data를 인스턴스마다 한 번, 첫 부팅 때 실행하기 때문입니다. 바꾼 내용은 인스턴스를 재설치(인스턴스 재설치)하면 적용되고(새 운영체제 디스크가 처음부터 cloud-init을 돕니다), 매 부팅마다 도는 부분(bootcmd, per-boot 스크립트)은 다음 부팅부터 바뀐 내용을 씁니다. 같은 디스크에서 모두 다시 돌리려면 인스턴스 안에서 sudo cloud-init clean --reboot을 실행하세요. 첫 부팅 단계를 다시 하므로 SSH 호스트 키 같은 것이 새로 만들어질 수 있고, 그러면 접속 게이트웨이가 바뀐 키를 받아들이지 않을 수 있습니다(재설치 때와 달리 자동으로 받아들이지 않습니다). 그때는 contact@bacchus.snucse.org로 알려 주세요.
템플릿
각 배포판의 공식 클라우드 이미지를 그대로 씁니다. 템플릿은 학기마다 새 이미지로 갱신하고, 인스턴스 안의 패키지는 배포판의 패키지 관리자(apt, dnf, zypper, pacman, apk)로 직접 업데이트하세요. SSH와 웹 콘솔은 아래 기본 사용자(인스턴스 화면의 로그인 계정)로 들어가며, 이 사용자는 비밀번호 없이 관리자 권한을 쓸 수 있습니다(Alpine은 doas, 나머지는 sudo). root로는 직접 로그인하지 않습니다.
| 템플릿 | 기본 사용자 | 비고 |
|---|---|---|
| Ubuntu 26.04 LTS | ubuntu | 기본 선택 |
| Ubuntu 24.04 LTS | ubuntu | 첫 부팅 후 접속까지 2~3분 |
| Debian 13 | debian | 첫 부팅 후 접속까지 2~3분 |
| Debian 12 | debian | 첫 부팅 후 접속까지 2~3분 |
| Fedora 44 | fedora | |
| Rocky Linux 9 | rocky | |
| AlmaLinux 10 | almalinux | |
| AlmaLinux 9 | almalinux | |
| openSUSE Leap 15.6 | opensuse | |
| Arch Linux | arch | 첫 부팅 후 접속까지 2~3분 |
| Alpine Linux 3.22 | alpine | 관리자 권한은 doas |
| Alpine Linux 3.21 | alpine | 관리자 권한은 doas |
"첫 부팅 후 접속까지 2~3분"인 템플릿은 인스턴스를 처음 만들거나 재설치한 뒤 네트워크 설정이 끝날 때까지 SSH 접속과 콘솔 로그인이 되지 않습니다. 기다리면 접속됩니다. 두 번째 부팅부터는 바로 접속됩니다.
볼륨과 스냅샷
인스턴스의 디스크는 볼륨이고, 어느 한 시점의 볼륨을 통째로 복사해 둔 것이 스냅샷입니다. 둘은 저장되는 곳도, 쓰임도 다릅니다.
| 볼륨 | 스냅샷 | |
|---|---|---|
| 무엇인가 | 인스턴스가 읽고 쓰는 디스크. 운영체제 디스크(루트)와 데이터 디스크가 있습니다 | 어느 한 시점의 볼륨 전체를 복사해 둔 것 |
| 어디에 있나 | 인스턴스가 실행되는 호스트의 로컬 스토리지 | 호스트와 따로 있는 2차 스토리지 |
| 인스턴스에 붙이기 | 붙일 수 있습니다 | 직접 붙일 수 없습니다. 볼륨으로 만든 뒤에 붙입니다 |
| 호스트·인스턴스·볼륨이 없어지면 | 그 호스트에 문제가 생기면 함께 영향을 받고, 볼륨을 지우면 사라집니다 | 그대로 남습니다 |
| 쿼터 | 스토리지 쿼터 | 같은 스토리지 쿼터 |
- 볼륨과 스냅샷은 하나의 스토리지 쿼터를 함께 씁니다(리소스 쿼터). 스냅샷은 만들 때마다 볼륨 전체를 복사하므로 쌓이면 쿼터를 많이 차지합니다. 개수 제한은 없습니다.
- 인스턴스, 볼륨, 스냅샷을 지우는 일은 모두 바로 이루어지고 되돌릴 수 없습니다. 휴지통은 없습니다. 지울 때마다 확인 창이 이름(여러 개를 한꺼번에 지울 때는 개수)을 입력하라고 묻습니다.
볼륨
왼쪽 메뉴의 스토리지 → 볼륨에서 내 볼륨을 봅니다. 인스턴스를 만들 때 정한 운영체제 디스크와 데이터 디스크, 인스턴스를 지우면서 남긴 루트 디스크가 모두 여기에 있습니다. 볼륨 화면에는 상태에 맞는 버튼만 보입니다.
| 하려는 일 | 버튼 |
|---|---|
| 새 데이터 디스크 만들기 | 목록 위의 볼륨 생성 |
| 인스턴스에 붙이기, 떼기 | 디스크 연결, 디스크 분리 |
| 키우기 | 볼륨 크기 변경(디스크 늘리기) |
| 이름 바꾸기 | 이름 바꾸기(이름) |
| 스냅샷 만들기 | 스냅샷 생성, 정기 스냅샷(스냅샷) |
| 이 디스크로 새 인스턴스 만들기 | 이 볼륨으로 인스턴스 만들기(내 디스크로 인스턴스 만들기) |
| 파일로 받기 | 볼륨 다운로드(데이터 꺼내기) |
| 지우기 | 볼륨 파기(인스턴스에 한 번도 붙이지 않고 만들기만 한 볼륨에는 볼륨 삭제가 대신 보입니다) |
볼륨 지우기
인스턴스에 붙어 있지 않은 볼륨만 지울 수 있습니다. 붙어 있으면 먼저 디스크 분리를 하세요.
볼륨 파기(또는 볼륨 삭제)를 누르면 "삭제하려면 리소스 이름을 정확히 입력하십시오"라는 안내와 볼륨 이름이 나옵니다. 그 이름을 입력해야 확인을 누를 수 있습니다. 볼륨은 바로 지워지고 되돌릴 수 없습니다. 그 볼륨으로 만든 스냅샷은 지워지지 않고 그대로 남습니다.
스냅샷
스토리지 → 스냅샷에서 내 스냅샷을 봅니다. 스냅샷은 만드는 데 시간이 걸리고, 상태가 백업됨이 되어야 새 볼륨 만들기, 되돌리기, 새 인스턴스 만들기를 할 수 있습니다.
만들기
볼륨 화면에서 스냅샷 생성을 누릅니다. 이름은 비워도 됩니다. 비우면 <볼륨 이름>-snapshot-<번호>가 붙고, 번호는 내 계정에서 그 이름으로 지금까지 쓴 가장 큰 번호의 다음 수입니다. 처음은 0이고(test-ROOT-snapshot-0, test-ROOT-snapshot-1, …), 지운 스냅샷의 번호도, 재설치하거나 같은 이름으로 다시 만든 인스턴스의 디스크도 번호를 이어 가므로 번호가 클수록 나중에 만든 스냅샷입니다.
운영체제 디스크의 스냅샷이 만들어지는 중에는 그 인스턴스를 지울 수 없습니다. 상태가 백업됨이 된 뒤에 지우세요.
정기 스냅샷
볼륨 화면의 정기 스냅샷을 열고 스케줄 탭에서 간격 유형(매시간·매일·매주·매월), 시간, 시간대, 유지할 스냅샷 개수를 정한 뒤 확인을 누르면 정해진 때마다 스냅샷이 만들어집니다. 개수가 유지를 넘으면 가장 오래된 스냅샷부터 지워집니다. 이름은 정할 수 없고 위의 기본 이름이 붙습니다. 만든 스케줄은 같은 창의 정기 스냅샷 탭에서 보고 지웁니다. 쌓이는 스냅샷은 모두 쿼터를 차지합니다.
스냅샷에서 되살리기
스냅샷을 고르면 다음 버튼이 있습니다.
| 하려는 일 | 버튼 |
|---|---|
| 스냅샷 내용으로 새 볼륨 만들기 | 볼륨 생성 |
| 볼륨을 스냅샷을 만든 때의 내용으로 되돌리기 | 스냅샷 복원 |
| 운영체제 디스크의 스냅샷으로 새 인스턴스 만들기 | 스냅샷으로 인스턴스 만들기 |
- 볼륨 생성은 스냅샷에서 새 볼륨을 만듭니다. 이름을 비우면 무작위 이름이 붙으니 알아볼 수 있는 이름을 주세요. 만든 볼륨은 데이터 디스크처럼 인스턴스에 붙여 파일을 꺼내거나(데이터 꺼내기), 운영체제 디스크의 스냅샷에서 만든 볼륨이면 새 인스턴스를 만드는 데 씁니다.
- 스냅샷 복원은 스냅샷에 따라 보이지 않을 수 있습니다. 쓰면 볼륨이 스냅샷 시점의 내용으로 돌아가고, 그 뒤에 쓴 내용은 사라집니다. 보이지 않으면 볼륨 생성을 쓰세요.
- 새 인스턴스를 만드는 방법은 내 디스크로 인스턴스 만들기에 있습니다.
스냅샷 지우기
스냅샷 화면에서 스냅샷 삭제를 누르면 스냅샷이 완전히 삭제되며 복구할 수 없다는 안내가 나옵니다. 스냅샷 이름을 입력해야 확인을 누를 수 있고, 목록에서 여러 개를 골라 한꺼번에 지울 때는 이름 대신 고른 개수를 입력합니다. 스냅샷은 하나하나가 통째 복사본이라 하나를 지워도 다른 스냅샷에는 영향이 없고, 지운 만큼 스토리지 쿼터가 돌아옵니다.
내 디스크로 인스턴스 만들기
템플릿 대신 내 디스크로 인스턴스를 만들 수 있습니다. 운영체제가 들어 있는 디스크여야 하므로, 데이터 디스크는 인스턴스를 부팅시키지 못합니다.
| 출발점 | 조건 | 만드는 곳 |
|---|---|---|
| 볼륨 | 인스턴스에 붙어 있지 않고 템플릿에서 만든 볼륨: 인스턴스를 지우며 남긴 루트 디스크, 또는 운영체제 디스크의 스냅샷으로 만든 볼륨 | 볼륨 화면의 이 볼륨으로 인스턴스 만들기, 또는 인스턴스 만들기의 이미지 단계에서 유형을 볼륨으로 |
| 스냅샷 | 운영체제 디스크의 스냅샷(상태 백업됨) | 스냅샷 화면의 스냅샷으로 인스턴스 만들기, 또는 인스턴스 만들기의 이미지 단계에서 유형을 스냅샷으로 |
두 경우 모두 운영체제 디스크 크기는 따로 정하지 않고, 컴퓨트 오퍼링과 이름은 새 인스턴스처럼 고릅니다. 원래와 다른 오퍼링(예: GPU 대신 cpu)도 됩니다.
- 볼륨으로 만들면 그 볼륨이 새 인스턴스의 운영체제 디스크가 됩니다. 그 볼륨이 있는 호스트에 자리가 없으면 디스크를 다른 호스트로 옮겨도 되는지 묻습니다(배치 확인과 디스크 이동).
- 스냅샷으로 만들면 스냅샷을 복사해 새 운영체제 디스크를 만듭니다. 템플릿으로 만들 때처럼 자리가 있는 호스트에서 만들어져서 옮길 디스크가 없고, 스냅샷은 그대로 남습니다.
이름
볼륨과 스냅샷의 이름은 영문 대소문자, 숫자, 마침표(.), 밑줄(_), 하이픈(-)으로 64자까지 쓸 수 있습니다. 이름이 겹쳐도 됩니다. 볼륨 화면과 스냅샷 화면의 이름 바꾸기로 바꿉니다. 인스턴스에 붙어 있는 볼륨도 바꿀 수 있습니다.
인스턴스를 만들면 운영체제 디스크는 <인스턴스 이름>-ROOT라는 볼륨으로 만들어지고, 인스턴스 이름을 바꾸면 이 볼륨 이름도 따라 바뀝니다(이름 바꾸기). 인스턴스 이름 규칙은 인스턴스 이름에 따로 있습니다.
인스턴스에 접속하기
인스턴스는 외부에서 직접 닿을 수 없는 내부 주소를 받습니다. SSH는 접속 게이트웨이(cloud.snucse.org의 2222번 포트)를 거치고, 화면은 웹 UI의 콘솔로 봅니다.
SSH
$ ssh -p 2222 <내 유저명>:<SSH 이름>@cloud.snucse.org
이 명령은 내 유저명과 SSH 이름이 채워진 채로 인스턴스 화면의 SSH 접속에 있고, 인스턴스를 만든 직후 뜨는 인스턴스 접속 정보 창에도 나옵니다. 복사해서 쓰면 됩니다.
SSH 이름은 인스턴스 이름 앞에 계정 접두어가 붙은 꼴입니다(SNUCSE ID 계정은 snucse-<유저명>-<인스턴스 이름>). 접두어는 자동으로 붙습니다(SSH 이름). 인스턴스 이름을 바꾸면 SSH 이름도 바뀌고(이름 바꾸기), 예전 방식으로 만든 인스턴스는 옛 이름을 SSH 이름으로 그대로 씁니다.
처음 접속하면 터미널에 로그인 링크가 나옵니다. 그 링크를 브라우저로 열고 SNUCSE ID를 눌러 로그인하면 접속이 이어집니다.

SSH 키를 만들어 등록할 필요가 없습니다. 접속 게이트웨이가 SNUCSE ID로 본인을 확인하고 인스턴스에 대신 들어가므로, 어느 컴퓨터에서든 브라우저 로그인만으로 접속할 수 있습니다. 인스턴스 안에서는 템플릿의 기본 사용자(ubuntu, debian 등, 인스턴스 화면의 로그인 계정)로 들어가며, 접속 게이트웨이에서 오는 SSH는 인스턴스에 자동으로 허용되어 있습니다. 이 계정은 비밀번호 없이 sudo(Alpine은 doas)를 쓸 수 있고, root로는 직접 로그인하지 않습니다. 매번 브라우저 승인을 거치는 것이 번거로우면 SSH 공개키를 등록해 두면 됩니다.
~/.ssh/config에 적어 두면 scp, sftp, VS Code Remote-SSH 등도 그대로 쓸 수 있습니다.
Host my-vm
HostName cloud.snucse.org
Port 2222
User <내 유저명>:<SSH 이름>
$ ssh my-vm
$ scp data.tar.gz my-vm:
본인 계정의 인스턴스에 접속할 수 있습니다. 다른 사람의 인스턴스에는 그 소유자가 아래 방법으로 열어 준 계정으로만 들어갑니다.
브라우저 승인 없이 접속하기
접속 게이트웨이는 브라우저 승인(SNUCSE ID) 대신 등록된 SSH 공개키로도 본인을 확인합니다. 자주 쓰는 컴퓨터의 키를 한 번 등록해 두면 그 컴퓨터에서는 승인 링크가 뜨지 않고 바로 접속됩니다.
-
키가 없으면 만듭니다.
$ ssh-keygen -t ed25519 -
https://login.cloud.snucse.org/@warpgate#/profile/credentials를 열고 SNUCSE ID를 눌러 로그인합니다(로그인 뒤 오른쪽 위의 유저명 → Credentials로도 갑니다). Public keys의 Add key를 누릅니다.

같은 페이지의 Password는 정해도 쓰이지 않습니다. 접속 게이트웨이의 로그인은 SNUCSE ID로만 합니다.
Label에 이름(예: 노트북)을, 아래 칸에
~/.ssh/id_ed25519.pub의 내용(ssh-ed25519 AAAA… 이름)을 붙여 넣고 Save를 누릅니다.
-
이제 그 키로 접속하면 승인 없이 들어갑니다. 키가 기본 경로에 없으면
ssh -i <키 파일>또는~/.ssh/config의IdentityFile로 지정하세요.
등록된 키가 없는 컴퓨터에서는 종전처럼 브라우저 승인으로 접속됩니다. 키를 가진 사람은 승인 없이 본인의 인스턴스 전부에 들어갈 수 있으니, 쓰지 않는 컴퓨터의 키는 같은 페이지에서 지워 주세요.
다른 사람에게 접속 권한 주기 (게스트)
인스턴스의 소유자는 다른 사람을 인스턴스 안의 특정 계정으로만 들어오게 할 수 있습니다. 수업 실습 서버나 연구실 공용 서버에 학생·조교 계정을 나눠 줄 때 씁니다. 게스트는 인스턴스를 관리(정지·삭제·콘솔)할 수 없고 SSH만 됩니다.
-
인스턴스 안에서 계정을 만듭니다. 예:
sudo adduser foo -
웹 UI의 컴퓨트 → 인스턴스에서 인스턴스를 열고 SSH 게스트 탭을 엽니다. 게스트는 인스턴스 안의 계정별로 적고, 계정마다 "인스턴스 안의 계정
foo" 같은 제목의 칸이 하나씩 있습니다.- 처음에는 로그인 계정(템플릿의 기본 사용자, 예:
ubuntu)의 칸이 있습니다. 이 계정은 비밀번호 없이sudo를 쓸 수 있으니, 이 칸에 적은 게스트는 관리자 권한을 갖습니다. - 다른 계정은 인스턴스 안의 계정 추가에 1번에서 만든 계정 이름(예:
foo)을 적고 추가를 누르면 칸이 생깁니다. 계정 이름은 영문 소문자나 밑줄(_)로 시작하고, 영문 소문자·숫자·밑줄·하이픈(-)으로 32자까지 쓸 수 있습니다. - 칸을 추가해도 인스턴스 안에 계정이 만들어지지는 않습니다. 인스턴스 안에 그 계정이 없으면 게스트가 접속할 때 거부되니, 반드시 1번처럼 먼저 만들어 두세요. 계정만 있으면 접속 게이트웨이의 키는 모든 로컬 계정에 적용되어 있어 따로 설정할 것은 없습니다.
- 처음에는 로그인 계정(템플릿의 기본 사용자, 예:
-
그 계정으로 들어올 사람을 칸에 적고 저장을 누릅니다. 이름은 쉼표로만 구분합니다.
alice, bob, carol- 각 이름은 SNUCSE ID 유저명이거나 Bacchus 주소입니다. 형식이 맞지 않으면 "올바른 형식이 아닌 이름입니다"라고 알려 주고, 고칠 때까지 저장할 수 없습니다. 대소문자는 구분하지 않습니다.
- 쉼표 앞뒤의 공백과 줄바꿈은 무시하므로, 이름마다 줄을 바꿔 적어도 줄 끝에 쉼표가 있으면 됩니다.
- 쉼표 없이 공백이나 줄바꿈만으로 나눈 이름은 "쉼표로 구분하세요"라는 오류가 나고 저장할 수 없습니다.
-
1분 안에 게스트가 접속할 수 있습니다. 칸마다 게스트가 쓸 명령이 나오고(복사 버튼이 있습니다),
<ID>자리에 게스트가 자신의 유저명을 넣어 접속합니다. 게스트는 로그인 문자열 끝에 계정 이름을 붙입니다.$ ssh -p 2222 <게스트 자신의 유저명>:<SSH 이름>:<계정 이름>@cloud.snucse.org
게스트를 빼려면 칸에서 이름을 지우고 저장하세요. 1분 안에 접속이 끊기고 막힙니다. 칸을 모두 비우면 그 계정에는 게스트가 없습니다. 인스턴스 안 계정의 권한(sudo 등)은 소유자가 정하는 것이며, SNUCSE Cloud는 관여하지 않습니다. 인스턴스 이름을 바꾸면 게스트의 명령에 들어 있는 SSH 이름도 바뀌니 새 명령을 알려 주세요.
게스트로 적을 사람은 cloud.snucse.org에 한 번은 로그인한 적이 있어야 합니다. 로그인 때 계정이 만들어지고, 그 계정이 있어야 칸에 적은 이름이 효력을 가집니다. 수업이나 연구실 단위로 여러 사람에게 계정을 나눠 주는 절차는 조교·관리자 가이드에 있습니다.
접속 게이트웨이의 키는 인스턴스가 처음 부팅할 때 자동으로 들어갑니다(/etc/ssh/warpgate_keys, 모든 로컬 계정에 적용). 지우거나 sshd 설정을 바꾸면 접속이 끊기니 그대로 두세요. 인스턴스를 재설치(인스턴스 재설치)해 SSH 호스트 키가 바뀌면 게이트웨이가 1분 안에 새 키를 받아들이므로, 접속이 거부되면 잠시 뒤 다시 시도하세요.
웹 콘솔
컴퓨트 → 인스턴스에서 인스턴스를 고르고 오른쪽 위의 콘솔 보기(모니터 아이콘)를 누르면 새 창에 화면이 뜹니다. 부팅이 안 되거나 SSH가 막혔을 때 씁니다.
콘솔에서는 로그인 계정(템플릿의 기본 사용자, 템플릿 표)과 인스턴스 비밀번호로 로그인합니다.
- 인스턴스 비밀번호는 인스턴스를 만든 직후 인스턴스 접속 정보 창에 한 번만 나오는 무작위 비밀번호이고, 로그인 계정의 처음 비밀번호입니다. 만들 때 따로 정하는 비밀번호는 없습니다.
- 웹 콘솔 로그인에만 씁니다. SSH와
sudo에는 필요 없고(sudo는 비밀번호를 묻지 않습니다), SNUCSE ID 비밀번호와도 상관없습니다. - 그 창을 닫으면 다시 볼 수 없습니다. 잊었으면 인스턴스를 정지하고 비밀번호 재설정을 누르세요. 새 비밀번호가 나오고, 다음에 시작할 때 로그인 계정에 적용됩니다.
- SSH로 들어갈 수 있다면
sudo passwd <로그인 계정>으로 직접 바꿔도 됩니다. 바꾼 비밀번호는 재설정하기 전까지 그대로입니다.
수업·연구실에서 쓰기 (조교·관리자 가이드)
한 사람이 인스턴스를 만들고 여러 사람이 그 안의 계정으로 접속하는 형태입니다. 수업 실습 서버, 연구실 공용 서버, 세미나용 GPU 서버가 여기에 해당합니다. 관리하는 사람(교수·조교·연구실 관리자)은 인스턴스를 만들고 지우는 소유자, 나머지(수강생·참여자)는 인스턴스 안의 계정으로만 들어오는 게스트입니다.
준비: 쿼터 신청
- 인스턴스를 만들고 관리할 사람 한 명(조교 또는 연구실 관리자)이 본인 계정의 쿼터 신청 → 내 신청에서 쿼터를 신청합니다. 필요한 vCPU, 메모리, 스토리지, GPU와 만료일(예: 학기 말)을 적고, 이유 칸에 수업(또는 연구실) 이름과 인원, 쓰는 기간을 적어 주세요. SNUCSE Cloud는 팀·프로젝트 단위 계정을 제공하지 않으므로 쿼터는 이 사람의 계정에 들어갑니다.
- 쿼터가 승인되면 인스턴스를 만듭니다. 실습 서버 한 대에 학생별 계정을 만들어도 되고, 학생마다 인스턴스를 하나씩 만들어도 됩니다. 관리를 나눌 사람(다른 조교)이 있으면 그 사람에게는 sudo를 준 게스트 계정을 열어 주면 됩니다. 인스턴스를 만들고 지우는 것은 소유자만 할 수 있습니다.
- GPU 인스턴스에는 사용 기한이 있어서, 소유자가 하루에 한 번쯤 기한 갱신을 눌러야 계속 켜져 있습니다. 게스트는 갱신할 수 없습니다.
학생 등록
-
학생들에게 cloud.snucse.org에 한 번 로그인하라고 안내하고 SNUCSE ID 유저명을 모읍니다. 로그인 전에는 계정이 없어서 아래 게스트 목록에 적어도 효력이 없습니다. SNUCSE ID가 없는 외부 참여자는 이용 대상을 참고하세요.
-
인스턴스 안에서 계정을 만듭니다. 사람마다 하나씩(
sudo adduser hong) 또는 공용 계정 하나(sudo adduser student). sudo를 줄지, 홈 디스크를 어떻게 나눌지는 관리자가 정합니다. -
웹 UI의 컴퓨트 → 인스턴스에서 인스턴스를 열고 SSH 게스트 탭을 엽니다. 게스트는 인스턴스 안의 계정별 칸에 적습니다. 처음에는 로그인 계정(
ubuntu등)의 칸만 있으니, 2번에서 만든 계정은 인스턴스 안의 계정 추가에 이름을 적고 추가를 눌러 칸을 만듭니다(칸을 추가해도 계정이 만들어지지는 않습니다. 인스턴스 안에 없는 계정이면 게스트 접속이 거부됩니다). 그 칸에 그 계정으로 들어올 SNUCSE ID 유저명을 쉼표로 구분해 적고 저장을 누릅니다.계정 칸에 적는 내용 뜻 yunyunyun은 자기 계정으로 studenthong, kim, lee세 명이 공용 계정 student로이름은 쉼표로만 구분하고(공백이나 줄바꿈만으로 나누면 오류), 앞뒤 공백과 줄바꿈은 무시합니다. 수강생이 수백 명이어도 한 칸에 모두 적으면 됩니다. 명단이 한 줄에 하나씩 적힌 파일(
ids.txt)이 있으면 아래 명령으로 쉼표로 이은 한 줄을 만들어 붙여 넣으세요. 자세한 규칙은 게스트에 있습니다.$ paste -sd, ids.txt -
학생에게 접속 문자열을 알려 줍니다. 각 칸 아래에 학생이 쓸 명령이 나오니,
<ID>자리만 학생 본인의 유저명으로 바꿔 알려 주면 됩니다. 처음 접속 때 브라우저 로그인이 한 번 필요합니다(접속하기).$ ssh -p 2222 <학생 유저명>:<SSH 이름>:<계정 이름>@cloud.snucse.org
저장하고 1분 안에 접속이 됩니다. 학생은 인스턴스를 정지·삭제하거나 콘솔을 열 수 없고, 목록에 적힌 계정으로 SSH만 됩니다. 인스턴스 이름을 바꾸면 SSH 이름도 바뀌므로 학생에게 새 명령을 알려 주세요(인스턴스 이름).
학기가 끝나면
- 게스트 목록을 비우고 저장하면 1분 안에 접속이 끊기고 막힙니다. 인스턴스 안 계정과 파일은 남습니다.
- 인스턴스를 지우면 vCPU·메모리·GPU 쿼터가 돌아옵니다. 휴지통은 없어서 지우면 바로 사라지고 되돌릴 수 없으니, 필요한 데이터는 미리 받아 두세요. 지울 때 이름을 입력해야 합니다.
- 데이터 디스크와 남긴 루트 디스크는 볼륨으로 남고, 스냅샷도 남습니다. 모두 스토리지 쿼터를 차지하므로 필요 없는 것은 직접 지워야 쿼터가 돌아옵니다(지우면 복구할 수 없습니다). 루트 디스크가 필요 없으면 인스턴스를 지울 때 루트 디스크 남기기를 끄세요(인스턴스 삭제와 루트 디스크, 볼륨과 스냅샷).
- 다음 학기에도 쓰려면 만료일 전에 그 승인의 갱신 신청을 하세요(만료와 갱신).
네트워크
인스턴스는 모두 하나의 내부 네트워크에 붙고, 주소는 자동으로 설정됩니다. 네트워크 설정을 손볼 필요는 없습니다.
- 바깥으로: 인터넷에 나갈 수 있습니다(패키지 설치, git, 다운로드 등). 학부 내부망과 서버 관리망으로는 나갈 수 없습니다.
- 안으로: 인스턴스 주소는 외부에서 닿지 않습니다. 접속은 SSH 게이트웨이와 콘솔로만 하고, 인스턴스에서 서비스를 외부에 공개할 수는 없습니다.
- 인스턴스끼리: 같은 계정의 인스턴스끼리는 모든 포트로 자유롭게 통신합니다(ssh, scp, 직접 띄운 서비스 등). 다른 계정의 인스턴스에는 닿지 않습니다. 인스턴스 이름은 DNS로 풀리지 않으니 자기 인스턴스끼리는 IP(웹 UI의 인스턴스 정보)로 부르거나
/etc/hosts에 적어 두세요. 이 규칙은 계정의 보안 그룹default에 고정되어 있고(접속 게이트웨이의 SSH + 같은 계정 인스턴스 전체 허용), 사용자가 바꿀 수 없습니다. 다른 계정의 인스턴스와 통신이 꼭 필요하면 contact@bacchus.snucse.org로 문의해 주세요. - cloud-init 상태: 인스턴스 안에서
cloud-init status가degraded done으로 나오면 첫 부팅 중 경고가 있었다는 뜻이고, 설정은 모두 적용된 것입니다. 배포판에 따라 그렇게 나올 수 있습니다. - MTU: 네트워크 MTU는 1450이며 자동으로 설정됩니다. 인스턴스 안에 직접 만든 터널이나 컨테이너 네트워크가 있다면 이 값에 맞추세요.
GPU
GPU 오퍼링을 고르면 인스턴스에 GPU가 통째로 연결됩니다(passthrough). GPU 종류와 장수만 고르면 되고, CPU와 메모리는 GPU 1장마다 정해진 양이 함께 붙습니다.
GPU 오퍼링
| GPU | 오퍼링 | GPU 1장마다 붙는 vCPU·메모리 |
|---|---|---|
| NVIDIA GeForce GTX 1080 | gtx1080-1 | vCPU 6개, 12 GiB |
| NVIDIA RTX A6000 | a6000-1 | vCPU 12개, 24 GiB |
| NVIDIA A100 40GB | a100-40g-1, a100-40g-nvswitch-2·-4·-8, a100-40g-nvlink-2·-4 | vCPU 12개, 96 GiB |
| NVIDIA A100 80GB | a100-80g-1, a100-80g-nvswitch-2·-4·-8 | vCPU 12개, 96 GiB |
- 오퍼링 이름 끝의 숫자가 GPU 장수입니다. 예를 들어
a100-40g-nvswitch-4는 A100 40GB 4장에 vCPU 48개, 메모리 384 GiB입니다. GPU 1장마다 붙는 양은 운영진이 정한 값입니다. - 2장 이상 오퍼링은 GPU끼리 연결된 방식에 따라 나뉩니다.
nvswitch는 NVSwitch로 모든 GPU가 서로 연결된 호스트(GPU가 꽂힌 물리 서버),nvlink는 GPU끼리 NVLink로 직접 연결된 호스트입니다. 같은 GPU라도 연결 방식에 따라 GPU 사이의 통신 속도가 다르기 때문입니다. 1장 오퍼링은 연결 방식과 상관없습니다. - PCIe로만 꽂힌 GPU(GTX 1080, RTX A6000)는 1장 오퍼링만 있습니다.
- A100 오퍼링은 해당 호스트가 편입되기 전까지 슬롯이
0 / 0으로 나오고 시작할 수 없습니다.
GPU 슬롯
만들기 화면의 GPU 오퍼링 목록과 대시보드의 GPU 슬롯 카드에 오퍼링마다 지금 시작할 수 있는 수 / 최대 수가 나옵니다. 예를 들어 1 / 4면 지금 그 오퍼링으로 인스턴스 1개를 바로 시작할 수 있고, GPU가 모두 비어 있다면 4개까지 돌릴 수 있다는 뜻입니다.
- 오퍼링마다 따로 셉니다. 같은 GPU를 여러 오퍼링이 나눠 쓰므로, 한 오퍼링으로 인스턴스를 시작하면 다른 오퍼링의 수도 줄 수 있습니다.
- 2장 이상 오퍼링은 서로 연결된 GPU 묶음으로만 배치됩니다. NVSwitch 호스트에서는 미리 정해진 묶음(예: 4장짜리 파티션)만 쓸 수 있어서, 빈 GPU가 여러 장 있어도 한 묶음 안에 모여 있지 않으면 그 오퍼링은 시작할 수 없습니다. 그래서 1장 인스턴스는 큰 묶음을 깨지 않도록 이미 쓰이고 있는 묶음과 호스트부터 채웁니다.
- 빈 묶음이 없으면 시작이 거부됩니다. 기다리는 순서는 없으니, 다른 사람이 정지해 자리가 생긴 뒤 다시 시작하세요.
- 고장 나거나 수리 중인 GPU가 있으면 그 GPU가 들어간 묶음은 쓸 수 없고, 최대 수에서도 빠집니다. GPU가 돌아오면 자동으로 다시 셉니다.
- 남은 GPU 쿼터보다 많은 GPU를 쓰는 오퍼링은 고를 수 없습니다(쿼터 초과 표시). 슬롯 수는 고르는 것을 막지 않습니다. 슬롯이 0인 오퍼링도 고를 수 있지만, 배치 확인이 지금은 할 수 없다고 알려 줍니다.
CPU와 메모리
- GPU마다 붙는 CPU 코어와 메모리는 그 GPU와 같은 NUMA 노드(같은 CPU 소켓)에 있는 것으로, 그 GPU에만 예약되어 있습니다. GPU가 없는 인스턴스는 이 코어와 메모리를 쓰지 못하므로, GPU 인스턴스가 CPU나 메모리를 다른 사람에게 빼앗기지 않습니다.
- 여러 소켓에 걸친 오퍼링은 인스턴스 안에서도 소켓과 NUMA 노드가 여러 개로 보이고, 각 GPU는 자기 노드에 붙어 있습니다.
- vCPU 2개가 물리 코어 1개이고, 다른 인스턴스와 코어를 나눠 쓰지 않습니다.
정지와 옮기기
- 정지하면 GPU를 바로 반납하고, 시작할 때 빈 GPU를 다시 잡습니다. 쓰지 않을 때는 정지해 두면 다른 사람이 쓸 수 있습니다. GPU 인스턴스에는 사용 기한이 있습니다.
- GPU 인스턴스는 실행 중에 다른 호스트로 옮겨지지 않습니다(라이브 마이그레이션 없음).
- 시작할 때 디스크가 있는 호스트에 빈 GPU가 없고 같은 오퍼링을 제공하는 다른 호스트에 있으면, 디스크를 그 호스트로 옮겨 시작할 수 있습니다(승인 필요, 배치 확인과 디스크 이동). 1장 오퍼링은 같은 GPU 종류의 어느 호스트로든 옮겨질 수 있고, 2장 이상 오퍼링은 같은 연결 방식의 호스트 사이에서만 옮겨집니다.
- 호스트 점검 때는 정지됩니다(호스트 점검).
- GPU를 쓸 수 없을 때 디스크의 데이터를 꺼내는 방법은 데이터 꺼내기에 있습니다.
인스턴스 정보와 쿼터
- 인스턴스 정보의 GPU 카드와 GPU 수에 붙은 GPU가 나옵니다. 인스턴스 안에서는
lspci | grep -i nvidia로, 드라이버를 설치한 뒤에는nvidia-smi로 볼 수 있습니다. - GPU 쿼터는 GPU 종류별 장수입니다(예: A100 40GB 2장). GPU 쿼터에는 그 GPU에 붙는 vCPU와 메모리가 포함되고, GPU 없는 인스턴스에 쓸 수는 없습니다. 자세한 것은 리소스 쿼터를 보세요.
드라이버
드라이버는 인스턴스 안에서 직접 설치합니다. 설치 방법은 정식 오픈 때 템플릿과 함께 안내합니다.
데이터 꺼내기
GPU를 쓸 수 없을 때(GPU 쿼터 만료, 빈 GPU 없음), 인스턴스가 부팅하지 않을 때, 인스턴스를 지운 뒤 디스크의 데이터가 필요할 때 쓰는 방법입니다. 휴지통이 없어서 지운 인스턴스와 볼륨은 되살릴 수 없습니다. 지운 뒤에 꺼낼 수 있는 것은 루트 디스크 남기기로 남긴 루트 디스크, 지우지 않은 데이터 디스크, 스냅샷에 든 데이터입니다. 어느 방법이든 디스크를 다른 호스트로 옮겨야 하면 같은 확인 창으로 먼저 묻고, 승인해야만 옮깁니다.
| 상황 | 방법 |
|---|---|
| GPU 인스턴스를 GPU 없이 켜서 데이터를 꺼내고 싶다 | 작은 CPU 오퍼링으로 바꿔 시작하기 |
| 부팅하지 않는 인스턴스의 데이터 디스크, 남긴 루트 디스크를 읽고 싶다 | 다른 인스턴스에 디스크 붙이기 |
| 지운 인스턴스를 남긴 루트 디스크로 다시 쓰고 싶다 | 남긴 루트 디스크로 인스턴스 만들기 |
| 스냅샷에서 되살리고 싶다 | 스냅샷에서 되살리기 |
| 디스크 전체를 파일로 받고 싶다 | 볼륨 다운로드 |
작은 CPU 오퍼링으로 바꿔 시작하기
- 인스턴스를 정지합니다.
- 인스턴스 확장에서 컴퓨트 오퍼링
cpu를 고르고 vCPU와 메모리(예: vCPU 2개, 메모리 4 GiB)를 정합니다. 운영체제 디스크 크기는 그대로입니다. CPU 인스턴스용 vCPU·메모리 쿼터가 있어야 합니다. - 인스턴스 시작을 누릅니다. 디스크가 있는 호스트에 자리가 없으면 디스크를 옮겨도 되는지 묻습니다.
- SSH로 들어가 데이터를 받습니다(
scp,rsync, 인스턴스에 접속하기). CPU 인스턴스에는 사용 기한이 없습니다. - 다시 GPU로 쓰려면 정지한 뒤 인스턴스 확장에서 원래 GPU 오퍼링을 고릅니다. 그 종류의 GPU 쿼터가 있어야 합니다.
다른 인스턴스에 디스크 붙이기
-
붙일 디스크를 준비합니다.
- 데이터 디스크: 원래 인스턴스를 정지하고 볼륨 목록에서 그 볼륨의 디스크 분리를 누릅니다.
- 운영체제 디스크: 원래 인스턴스를 루트 디스크 남기기를 켠 채 삭제하면
<인스턴스 이름>-ROOT볼륨으로 남습니다(예전에 만든 인스턴스는ROOT-<번호>). 자세한 것은 인스턴스 삭제와 루트 디스크에 있습니다.
-
데이터를 꺼낼 작은 CPU 인스턴스를 만듭니다(예: vCPU 2개, 메모리 2 GiB). 이미 있는 인스턴스를 써도 됩니다.
-
볼륨 목록에서 그 디스크를 고르고 디스크 연결에서 그 인스턴스를 고릅니다.
- 인스턴스가 정지돼 있으면 연결만 기록합니다. 디스크가 다른 호스트에 있으면 인스턴스를 시작할 때 옮겨도 되는지 묻습니다.
- 인스턴스가 실행 중이고 디스크가 다른 호스트에 있으면, 연결할 때 디스크를 인스턴스가 있는 호스트로 옮겨도 되는지 묻습니다.
-
인스턴스 안에서 파일시스템이 있는 파티션을 찾아 읽기 전용으로 마운트합니다.
$ lsblk -f $ sudo mount -o ro /dev/vdb1 /mnt같은 템플릿으로 만든 XFS 디스크(Rocky Linux, AlmaLinux)는 파일시스템 UUID가 같아서
-o ro,nouuid를 붙여야 마운트됩니다. -
다 쓰면
sudo umount /mnt후 디스크 분리를 누릅니다. 같은 템플릿의 루트 디스크를 붙인 채 재시작하면 엉뚱한 디스크로 부팅될 수 있으니 붙여 둔 채로 두지 마세요.
볼륨 스냅샷이 있다면 스토리지 → 스냅샷에서 그 스냅샷으로 볼륨 생성을 한 뒤 같은 방법으로 붙일 수도 있습니다(볼륨과 스냅샷).
남긴 루트 디스크로 인스턴스 만들기
인스턴스를 루트 디스크 남기기를 켠 채 삭제했다면 그 루트 디스크로 인스턴스를 다시 만들 수 있습니다. 원래와 다른 컴퓨트 오퍼링(예: GPU 오퍼링 대신 cpu)을 골라도 됩니다.
- 볼륨 목록에서 그 볼륨(
<인스턴스 이름>-ROOT, 예전에 만든 인스턴스는ROOT-<번호>)을 고르고 이 볼륨으로 인스턴스 만들기를 누릅니다. - 만들기 화면이 그 볼륨을 고른 채로 열립니다. 컴퓨트 오퍼링과 이름을 고릅니다. 디스크 크기는 볼륨 그대로입니다.
- 그 볼륨이 있는 호스트에 자리가 없으면 디스크를 옮겨도 되는지 묻습니다.
만든 뒤에는 그 볼륨이 새 인스턴스의 운영체제 디스크가 됩니다. 스냅샷이나 다른 볼륨으로 만드는 방법은 내 디스크로 인스턴스 만들기에 있습니다.
볼륨 다운로드
- 디스크가 인스턴스에서 분리돼 있거나, 붙어 있는 인스턴스가 정지돼 있어야 합니다.
- 볼륨 목록에서 그 볼륨을 고르고 볼륨 다운로드를 누릅니다. 준비가 끝나면 다운로드 링크가 나옵니다.
- 받는 파일은 디스크 전체의 이미지(QCOW2)입니다.
qemu-img convert -O raw <파일> disk.img로 바꾸거나qemu-nbd,guestmount로 열어 파일을 꺼냅니다.
- 디스크 전체를 복사하는 것이라 크기에 따라 시간이 걸립니다.
- 다운로드용 사본은 남아 있는 동안 스토리지 쿼터를 차지하고, 링크는 몇 시간 뒤 사라집니다. 링크가 나오면 바로 받으세요.
- 링크가 열리지 않으면 contact@bacchus.snucse.org로 알려 주세요.
문의
문제를 알려 주실 때는 계정 이름(SNUCSE ID 유저명), 인스턴스 이름, 문제가 생긴 시각, 화면에 나온 오류 문구를 함께 적어 주시면 빨리 확인할 수 있습니다.