본문 바로가기
  • 산에사는 꽃사랑......
컴퓨터/채굴

채굴기 마련 및 설치기 (Nvidia GTX 1060 6way , Ubuntu linux)

by 산에사는꽃사랑 2018. 1. 2.

출처: https://www.ddengle.com/miningbitcoin_voted/4574189

떙글에 시퓨님이 적으신 글인데 

리눅스 유분투로 세팅하는 하우투중 가장 깔끔한 글인듯해서 퍼왔다.

오로지 글보관용이다.


1. 들어가며.

 

 코인 열풍이 생기고 나서, 트레이딩으로 돈을 벌까를 고민하다. 사실은 채굴 몇번 해보고 별로 돈 못벌면, 그래픽 카드를 메인 컴퓨터에 2 way로 설치해야지.. 라는 딴 생각을 먹고 채굴기를 마련하게 되었습니다.

 

2. 고려대상

 

 부모님께서 조그만 공장을 운영중이라 거기에 설치하고, 전 원격으로 관리를 해야지. 란 마음을 먹었기 때문에, 처음부터 원격접속이 불편한 윈도우는 고려대상에서 지웠고, 그래픽 카드 수급상황을 고려해어 이엠텍 GTX1060 6G 를 6개 샀습니다.

 케이스는 공장에 둘거니 그냥 오픈형으로 구매하고, 보드는 그 악명높다는 Gigabyte 것을 샀습니다만.. 전 별로 악명이 안높았습니다...

파워는 잘만 1000W 면 충분하겠다 싶어 잘만으로 구매하고, HDD와 램 CPU는 집에 굴러다닌건 것을 대충 꼽았습니다. (HDD는 웬디 1TB, CPU는 셀러론, 램은 8기가 짜리가 있어서 그걸 썼습니다..)

 

3. 조립.

 

 대부분 한번에 하나씩 그래픽카드를 설치하시면서 문제점을 찾는 방식으로 설치하시겠지만, 전 귀찮아서 한번에 다 뚝딱 만들어버렸습니다.. 처음부터 Headless 를 고려했기 때문에, 우분투는 서버버전을 설치했습니다.(16.04 LTS) 설치시 다른 서버 프로그램은 전혀 설치하지 않고 원격접속을 위한 SSH 서버를 설치하고 관련 포트를 열어준뒤 (공유기의 포트포워딩) 그냥 두었습니다.

 

4. 설정.

 

 윈도우로 채굴하시는 분들이 많으시겠지만, 저는 리눅스 채굴의 잇점이 많다고 생각합니다. 우선 오버헤드가 적어 GPU를 처음부터 끝까지 막 갈굴수 있다는 것... 이 좋은 점이고.. 원격으로 접속해서 관련 사항을 확인하기 쉽다는 점이 두번째 장점입니다..

 

 뭐 어쨌건 설정은 다음과 같이 했습니다.

 

  1. ACPI 를 끄자.

 

  이상하게 lspci 명령어로 6개의 VGA 가 다 잘 보였으나, 막상 3개만 접근이 가능하고 3개는 IRQ 문제가 생기는 문제가 있었습니다. 해결책은 /etc/default/grub 에 있는 GRUB_CMDLINE_LINUX 에 "acpi=off" 를 추가해주고. sudo update-grub 한뒤 재부팅하면됩니다.

 

 2. 귀찮으니 걍 패키지 설치하자

 

 다음으로 nvidia 드라이버 등을 설치할 타이밍인데요. 뭐 많은 방법이 있고 nvidia 홈페이지에서 전부 받아다가 설치하는 방식도 가능하겠습니다만. 요새 리눅스는 그런거 필요 없습니다

 

우선 X 서버가 형식적로나마 있어야 하니

 

sudo apt-get install lightdm 으로 최소한의 패키지만 설치하고

 

sudo apt-get install nvidia-387 하면 다 됩니다.~

 

cuda는 그래도 그냥 받아오긴 좀 그래서

 

http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ubuntu-installation 를 참조하여 deb 설치하고 cuda를 설치하는 방식으로 빠르게 해결했습니다.

 

 3. 오버를 안하면 망합니다.

 

오버를 안하면 좀 그러다보니 오버를 했습니다. 오버는 어차피 headless 이므로 lightdm 이 띄워진다음에 그냥 오버프로그램이 돌아가게 하면 되겠다 싶었습니다.

 

많은곳에 설명이 있지만,

 

sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration

 

으로 설정을 만들어준뒤 더미 모니터를 추가해줍니다

 

sudo apt-get install xserver-xorg-video-dummy

 

수동으로 /etc/X11/Xorg.conf를 수정해줘야 합니다(headless 이다보니)

 

Serverlaylout 부분을

 

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "DummyScreen0"
    Screen      1  "Screen0" 0 0
    Screen      2  "Screen1" 0 0
    Screen      3  "Screen2" RightOf "Screen1"
    Screen      4  "Screen3" RightOf "Screen2"
    Screen      5  "Screen4" RightOf "Screen3"
    Screen      6  "Screen5" RightOf "Screen4"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection
 

로 고치고, Section "Screen" 부분 (아래부분) 다음을 추가합니다

 

Section "Screen"
     Identifier     "DummyScreen0"
    Device         "DummyDevice0"
     Monitor        "Monitor0"
     DefaultDepth    24
     SubSection     "Display"
         Depth       24
     EndSubSection
 EndSection
 

끝났습니다. 이제 오버를 할 시간인데요. 이걸 어떻게 처리해야할지 엄청 고민하였는데 뎅글의 글을 참고하여 (https://www.ddengle.com/board_FAQ/2395534)

 

/etc/lightdm/lightdm.conf.d/ 에 nv.conf 파일을 추가하여

 

[SeatDefaults]
display-setup-script=/etc/X11/xinit/xinitrc.d/nv-config.sh
 

를 넣고

 

/etc/X11/xinit/xinitrec.d/nv-config.sh 를 다음과 같이 만들었습니다

 

#!/bin/sh
nvidia-smi -pm 1
nvidia-smi -pl 100
for x in 0 1 2 3 4 5; do
nvidia-settings -a [gpu:$x]/GPUGraphicsClockOffset[3]=200
nvidia-settings -a [gpu:$x]/GPUMemoryTransferRateOffset[3]=1300
nvidia-settings -a [gpu:$x]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:$x]/GPUFanControlState=1
nvidia-settings -a [fan:$x]/GPUTargetFanSpeed=80
done
nvidia-settings -a [gpu:5]/GPUMemoryTransferRateOffset[3]=1550
nvidia-settings -a [gpu:0]/GPUMemoryTransferRateOffset[3]=1550
nvidia-settings -a [gpu:2]/GPUMemoryTransferRateOffset[3]=1550
nvidia-settings -a [gpu:3]/GPUMemoryTransferRateOffset[3]=1550

 

(뒷부분은 몇몇 그래픽카드가 해쉬가 안나와서 추가로 오버한 내역입니다..)

 

전력은 100W로 제한하고 코어 200, 램타이밍은 윈도우기준 650, 775로 오버했습니다.

 

이렇게 오버한 뒤 sudo service lightdm restart 를 통해 오버값을 적용하고, 그냥 마이닝 소프트웨어를 돌리면됩니다.

 

 

4. 마이닝 소프트웨어

 

 처음엔 이더리움을 열심히 캤으나.. 삼성램이 2개만인듯(?) 해서 오버해서 24kh/s 를 넘기는게 2개밖에 안돼 효율이 떨어진다 봤습니다. (그래도 하루에 0.018개정도 캤습니다.)

 

 그래서 이제는 EWBF's CUDA Zcash miner 로 캐고 있습니다.

 

다만 캘때 Ssh를 접속 종료하면 당연히 마이닝이 끊기기 때문에

 

screen 명령어 를 통해 screen을 띄우면 끊기지 않습니다.

 

그러다보니 노는 CPU가 불쌍해서... xmr-stak --noNVIDIA 옵션을 통해 모네로를 캐고 있습니다.

 

세팅후 현재 채굴 장면 보여드리면서 마무리하겠습니다.




이건 ZEC를 캐는 중이고..


이건 남는 CPU로 모네로를 캐는 중입니다.

 

참고로 뽑기운이 없었던 이더리움은 Ethminer로 128mh/s 정도 (그래픽 카드 두개만 열일하고 나머지는 20mh/s 라..) 나왔음을 알려드립니다

 

윈도우보다 원격접속해서 특히 핸드폰 같은거로도 ssh 접속해서 수정하기 쉽다는 큰 장점이 있습니다.

 

한번 도전해보세요!.