1. GPU 서버 구입

아래와 같이 고성능 GPU 컴퓨팅용 서버의 견적을 내고 주문한다. 아래 견적은 호환성이 검토되어 있다.
호환성은 다음의 4가지만 체크하면 큰 문제가 없다.
메인보드와 CPU의 소켓넘버가 같은지 / 메인보드가 RAM의 스펙을 지원하는지 / 메인보드의 PCI가 GPU를 지원하는지 / GPU의 전력용량을 파워가 충분히 만족시키는 지 
(단, 하드디스크는 3TB이상일 경우 우분투에서 인식하지 못하는 버그가 있는 것으로 알려져있다.)

위의 견적에서 가격을 조금 내리고 싶다면, 다음을 고려할 수 있다.

1) 파워를 750W -> 650W 로 다운. (Titan X 는 권장 600W 을 요구하므로, 650W으로 충분할 수 있다.)
2) CPU와 메인보드를 다운그레이드
3) 케이스/키보드 구입 X or 저렴한 사양

여기까지는 GPU 컴퓨팅에 큰 영향을 미치지 않을 수 있다.

전력 소비는 다음 사이트에서 계산해 볼 수 있다.
http://outervision.com/power-supply-calculator



2. 서버 설치

서버가 도착하면, 전력 공급이 안정적이고 온도가 가능한 일정하며 먼지가 적은 환경에 컴퓨터를 놓는다. 그리고 전원선과 랜선을 꽂은 뒤 OS설치를 위한 임시 모니터와 키보드, 마우스를 연결한다.


3. OS 설치

리눅스 서버를 사용하므로, ubuntu 14.0.4 LTS (Long Term Support) 버전을 설치하기위한 이미지가 담긴 USB를 만든 후(http://newsight.tistory.com/220), 컴퓨터에 usb를 연결하고 OS를 설치한다.

ubuntu 설치 방법: 대부분의 설치는 그냥 화면의 안내를 잘 읽고 다음으로 넘어가면 된다. 이 때 Third party 설치에 대한 옵션은 체크를 해주자. 그런데 파티션 부분은 좀 주의할 필요가 있다.

파티션 설정: 다음의 3가지 영역으로 파티션을 생성한 뒤, 해당 디스크를 선택 한 후 다음으로 넘어간다. 이 때 모든 파티션은 logical 로 설정해주어야 한다.

- EFI 부트 영역: 100 mb 할당 (이를 설정하지 않으면 에러가 발생)
- swap area: RAM크기만큼 할당 (우분투는 메모리가 부족할 때 사용할 하드디스크 영역을 미리 할당해야만함)
- ext4: 나머지 모든 영역 할당 (실제 하드디스크 공간).
ext4는 mount 부분에 " / "를 입력해서 root로 경로를 지정해주어야 한다.

주의사항: 위의 3가지 파티션 설정 후, 반드시 sda (sd A)를 선택한 후 다음으로 넘어가야함. 만약 하드디스크가 2개 이상 설치된 경우, OS 설치만 sda에 진행하고 , 남은 하드디스크는 os설치가 완료된 이후 fdisk 명령어를 통해서 사용한다.


4. 설치 후 장치 확인

OS설치 후 제대로 장치들이 인식되었는 지 확인 하기위해 다음의 명령어를 활용한다.

uname -m && cat /etc/*release : OS설치 정보 확인
cat /proc/cpuinfo : cpu 정보 확인
cat /proc/meminfo : memory 정보 확인
lspci : PCI에 연결된 장치 확인
ifconfig -a : 고정 IP신청을 위한 mac address를 확인할 수 있다.


5. 인터넷 IP 설정

위에서 확인한 mac address로 망내 네트워크 관리자에게 고정IP를 신청해서 할당 받은 후, 이를 설정해준다.
이때 외부에서 접속할 필요가 있으면 22 번 포트를 열어주도록 하자.

우분투 X window 우측 위의 인터넷 아이콘을 클릭 후 configuration edit (?)을 클릭한 뒤, Edit을 눌러 정보를 수정한다.
연결의 이름을 Wired_Static 등으로 변경 후, manual을 선택하여 직접 고정 IP를 입력한다.

IP 입력    /     서브넷 마스크     /     게이트웨이 입력     /     DNS 서버
IP 주소    /    255.255.255.0        /    IP주소.마지막은 1로    /    네트워크 관리자가 제공하는 DNS


# GUI가 작동하지 않는 상황에서는 아래와 같이 Command Line으로 설정할 수가 있다.

- Static IP 설정
ifconfig -a
sudo ifconfig eth0 down
sudo ifconfig eth0 up

sudo vim /etc/network/interfaces 에 다음을 입력
auto eth0
iface eth0 inet static
        address 147.46.215.136
        netmask 255.255.255.0
        network 147.46.215.0
        broadcast 147.46.215.255
        gateway 147.46.215.1

        dns-nameservers 168.126.63.1 168.126.63.2 8.8.8.8

sudo /etc/init.d/networking restart
sudo reboot 으로 컴퓨터 재부팅

(ping 8.8.8.8 은 잘되는데 ping www.google.com 은 안되면 DNS문제임)
(apt-get could not resolve 'kr.archive.ubuntu.com' 에러도 마찬가지로 DNS 설정 문제임)


sudo vim /etc/resolv.conf 에 다음을 입력해서 DNS서버 설정(이거안됨)
nameserver 8.8.8.8

http://askubuntu.com/questions/13993/how-to-connect-to-wired-internet-connection-through-terminal
https://help.ubuntu.com/community/NetworkConfigurationCommandLine/Automatic
http://www.ubuntugeek.com/ubuntu-networking-configuration-using-command-line.html
http://etherealmind.com/what-is-the-best-ip-address-to-ping-to-test-my-internet-connection/
https://arahmanmukul.wordpress.com/2012/03/06/starting-with-ubuntu/
http://askubuntu.com/questions/13993/how-to-connect-to-wired-internet-connection-through-terminal
http://askubuntu.com/questions/415023/connect-network-is-unreachable-ping

# DHCP 동적 IP설정

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

sudo dhclient -r
sudo dhclient eth0
ping 8.8.8.8


http://askubuntu.com/questions/488139/installed-ubuntu-14-04-cannot-connect-to-internet-with-wired-or-wireless-conne


# ping에서 destination net unreachable --> 이더넷 ip를 고정ip로 바꿔주기. 이걸로하면 재부팅할 때마다 다시 설정해줘야함.

sudo ifconfig eth0 [IP]


# network is unreachable --> 게이트웨이 설정이 안된듯..?

netstat -rn


sudo route del default gw 10.0.0.2

sudo route add default gw 192.168.1.254

http://perte.tistory.com/12

http://askubuntu.com/questions/317835/ubuntu-12-04-internet-connection-not-working-anymore




6. 필수 프로그램 설치

sudo apt-get update
    -> 우분투 14.0.4에서 관리하는 어플리케이션의 정보를 최신으로 업데이트 한다.


sudo apt-get install 
openssh-server vim
    ->외부에서 서버컴퓨터로 SSH 접속을 하기위한 openssh-server를 설치한다.
     ->문서 편집을 위한 vim을 설치한다

sudo apt-get install build-essential
    ->g++ 컴파일을 하기 위한 설치. 'you have held broken packages ' 에러 발생 시 다음을 통해 해결(http://askubuntu.com/questions/363200/e-unable-to-correct-problems-you-have-held-broken-packages)

sudo apt-get install aptitude
sudo aptitude install g++ (설명을 잘읽고 no를 입력해야할 때도 있음)
sudo aptitude install build-essential


여기까지 설치를 모두 마쳤다면, GPU 컴퓨팅을 위한 CUDA관련 라이브러리 설치 단계로 넘어가자.
http://newsight.tistory.com/92




by 곽동현 이스텔리앙 2016.02.12 15:47