[졸작/컴공/인프라] 우당탕탕 졸업작품기 -2

SHark·2023년 1월 6일

졸업작품

목록 보기
2/8

DB를 무엇을 쓸지 정했는데, 생각해보니 전체적인 System Architect도 진행되어야할 것 같아서, 여러가지 설계를 진행해보았다. 설계를 안해본 것은 아니지만, 대부분 "잘" 만들어져있는 서비스를 클론코딩을 하거나, "잘" 예시가 되어있는 것들을 만들어봐서 이런 경험은 적었던 것 같다.

우리는 이 과정을 "인프라 구축하기"라는 말로 불렀다.

첫 걸음

설계의 첫 과정은 아주 원초적인 것 부터 시작을 했다. 어떤 목적을 위해 이 서비스를 구축하고, 이 서비스를 위해서 어떤 기능들이 필요한지 정의를 해보았다.

  • 우리는 "안전"과 관련된 기술에 AI를 섞는 서비스였다. (자세한 내용은 적지 못하는점 양해를 부탁드립니당ㅠ)
  • 그러기 위해서, 산업현장 단위의 아주 큰 시스템이 구축되어야 했고 , 아주아주 많은 데이터가 필요했다.
  • AI를 테스트하기 위한 플랫폼을 먼저 만들고(분할정복), 데이터를 먼저 쌓을 필요가 있었다.

AI가 데이터를 쌓을 수 있는 플랫폼을 만들어보자.

우선 , 중심되는 "서버"가 있을 것이고, 이 서버는 HTTP 통신을 위한 "웹"서버의 기능을 포 함하게 될지, TCP/IP 통신이나 와이파이 통신을 위한 네트워크 프로그래밍 영역으로 갈지는 명확하게 정의하진 않았다. 어쩌면 둘 다 해야할 수도 있었기 때문이다.

우리의 목적은 HW에서 발생되는 데이터들을 쌓게 하고, DB로 전송시키는 시스템을 구축하려고 한다.
여기서 중요한 건 초당 300개의 데이터가 발생해서 초당 300개의 INSERT가 날라간다는 점이다. 이 Writing이 자주 되는 문제점을 해결해야한다.

그런데 , 우리 학교에는 서버가 없는데? Cloud 사용료도 지원 못받는데 ... DB Server도 없어요~ 웹 서버도 없어요 ~~

하하하하핳하하하

온프레미스로 직접 구축을 해야한다는 이야기네요. 하하하하하하

DB Server도 구축을 해야하고 , Service가 돌아가야할 로직도 작성해야하는데 인프라부터 구축을 해야한다? 하지만 나, 컴퓨터공학도 "서버"란 것 또한 컴퓨터일 뿐. 하나씩 해보자.

연구실에 있는 컴퓨터 개조하기

우선, 하드웨어적인 성능을 "최대한" 뽑아내야한다. 연구실의 안쓰는 본체가 3개가 있어서, 3개를 하나로 합치는 과정을 실행해보려고 한다.

메인보드가 제일 최신이고, GPU 소켓이 많은 친구를 기반으로 연성을 시작했다.

메모리: 64GB
CPU: intel i7-12700K
GPU: RTX 3080 + RTX 3060 2장
POWER : 1000W + 850W(보조)

결과물은 무슨 채굴기처럼 생기게 되어버렸지만,(실제로 졸업작품비 지원받는 과정에서 채굴하냐고 물어봤다), 엄연히 GPU를 사용해서 AI를 빠르게 돌리기 위한 서버이다.

나중에 찾아보니까, 이런 PC를 WorkStation이라고 하더라구요.. 이거 사달라고 할걸... ( 내 노력 돌려줘요 )

Linux 서버 설치하기

Linux Server를 설치한 줄 알았는데 , ubuntu Desktop 이었다. Ubuntu는 GUI가 특징인줄 알았는데, 생각해보니, 내가 다루어보았던 Server들은 다 CLI였어서 위화감에 찾아보니까
Desktop을 신나게 설치한거 였다.

어제 한글패치랑 , ssh 설정까지 해놨는데, 그게 Desktop이었다. 음. 역시 사람은 합리화하는 동물인 것같다. GUI가 Ubuntu의 특징이라고 "합리화"시키며, 거기에 생각을 안한 것 같다. 하지만, 조금만 생각해보면 CLI기반으로 해서, SSH로 붙는건데 서버는..

다음글은 ubuntu Server 설치와 ssh 설정과 보안설정을 하는 이야기가 될 것 같다.
(계정관리 + SSH 통신관리 + 방화벽 설정) 그 다음 GPU 사용을 위한 그래픽 드라이버 설치, gcc , vim , 한국어 패치 등을 진행하면서 글을 적을 것 같다.

0개의 댓글