NAS 만들어보자
ExstallWiki
NAS를 만들어 보기로 하였다.
일단 Hardware
- CPU 및 기타 등등 : 945GCLF2 : Atom N330, Gigabit lan, VGA, etc.
- RAM : DDR2 1GB
- OS HDD : Samsung 2.5inch 40GB
- Data HDD : WD green 1TB
- Power : 비아코 120W-8A
- Case : LP type의 Mini tower
부품을 각개 주문하고 조립하는 과정에서 Power의 DC 분배 보드에 inductor(로 보이는) 부품이 덜렁 거리는 것을 확인하고 직접 가서 교환
본드질과 글루건 질로 아답터 까지 case에 내장 완료.
부푼 꿈을 안고 파워를 켬, 일단 부팅은 잘 됨
NAS용 OS 설치
- FreeNAS 설치
- ODD 가 없기 때문에 Bootable USB를 만들어야 한단다.
- FreeNAS i386 0.7RC1 LiveCD 버전으로 USB 이미지 만들기 시작
- 4시간에 걸친 삽질과 노가다 끝에 어떤 툴로 USB 메모리에 CD 영역을 생성
- 부팅 후 설치 메뉴 까지 진입 후 설치 단계에서 CD를 mount 할 수 없다고 에러를 뿌리고 죽음
- 그냥 CD ROM 하나 굽고 desk top PC를 뜯어서 ODD를 분리
- 분리한 ODD를 Samsung HDD의 slave로 붙여서 5시간만에 간신히 FreeNAS 설치
- desktop의 Vista와 SMB로 data rate 측정한 결과 7 Mega Byte per sec. 매우 실망스럽지 않을 수 없다.
- 일단 Mac mini에서는 20 MBps 정도 나오는 것으로 보아 NAS의 Lan card 문제라고 의심하기 시작
- Lan card 내장형인 main board D945GCLF2에 대해서 조사진행
- 조사결과 내장 Lan에 좀 문제가 있다고 함
- OS 설치시 Driver가 잘못 골라진다고 하는데 FreeNAS에선 Lan card driver 설치 화면을 본 기억이 없다.
- Lan card 내장형인 main board D945GCLF2에 대해서 조사진행
- BIOS update 하고 HDD DMA 관련 문제가 해결되었다는 게시물을 보고 BIOS update 함
- 조금 잘 도는 가 싶더니 "panic spin lock held too long" 발생
- 뒤져본 결과 http://hype-o-thetic.com/2009/07/09/freenas-d945gclf2-configuration 에서 Hyper-threading을 끄면
- 문제가 해결된다고 하여 BIOS에서 Hyper threading을 끔
- panic 문제는 재현이 않되지만 속도는 여전히 들쭉 날쭉 (6GB 파일 전송으로 test)
- up : 24 MBps와 5 MBps 를 빗살무늬를 그리면서 출렁거림 그러다가 그 이후론 쭈욱 15 MBps 유지
- down : 은 25 MBps를 우지하다가 조금씩 떨어지면서 20 MBps 유지, 중간중간 끊기는 현상 있음
- 조금 잘 도는 가 싶더니 "panic spin lock held too long" 발생
- BIOS update 하고 HDD DMA 관련 문제가 해결되었다는 게시물을 보고 BIOS update 함
- 6 MBps 나올 때 보다는 조금 좋아졌지만 여전히 문제는 첩첩산중 인 듯.
- Network -> LAN 에서 type을 Auto에서 1000baseTX full-duplex로 변환하니 upload 30 MBps 까지 상승
- 재부팅 후 upload 2 Mbps 나옴 (이거 뭐.. 어쩌라고..?)
- Network -> LAN 에서 type을 Auto에서 1000baseTX full-duplex로 변환하니 upload 30 MBps 까지 상승
- 이것 저것 상태를 살펴보니 설치 자체가 이상하게 되어 있는 듯.
- swap 도 enable 않되어 있고. OS가 있는 파티션은 GPT 맵이 이상하고.
- 대체 이거 설치가 어떻게 된 것이지..?
- 이것 저것 상태를 살펴보니 설치 자체가 이상하게 되어 있는 듯.
ODD 구입 후
- 원래 IDE 한개에 SATA 2개 가 있는데 HDD용으로 IDE 한개와 SATA 한개를 사용하였기 때문에
- 저렴한(?) SATA용 ODD 하나 장만함 (OS 설치용, 이제 위의 삽질은 또 하고 싶지 않음)
- CD-RW와 DVD-RW로 신나게 지우고 굽고 하면서 OS 설치 놀이 시작
- FreeBSD 설치
- 한번 설치 해보고 웬지 설정이 귀찮다는 느낌이 들어 삭제
- Linux 설치
- 웬지 하드코어 하게 하고 싶어져서 Gentoo 깐다고 삽질하면서 bin-util compile 진행하다가 "이게 무슨 삽질이람" 이란 생각이 들어 때려침
- Window Vista 설치
- 서버 켜놓고 남는 시간에 인코딩도 돌리면 좋겠다는 생각에 Vista Ultimate K 깔고 SP2 까지 업글
- 사실 인코딩이야 꼭 윈도로 할 필요는 없지만, 역시 graphical user interface는 좋은게 좋은 거임
- CPU가 CPU 인지라 thread 4개나 떠도 느리긴 매 일반, 그나저나 CPU 점수는 상당히 좋은 편임
- 공유 폴더만들고 파일을 올려보니 무려 35 MB/s 이나 뜸, 그리고 내려받기 하니 "105 MB/s" 이나 뜸, 세상에나... 물론 점점 떨어져서 30~40 MB/s에 수렴
- 물론 추후 linux 계열 설치를 위해 20GB 정도 비워둠 (과연 사용할지 모르겠음)
- 서버 켜놓고 남는 시간에 인코딩도 돌리면 좋겠다는 생각에 Vista Ultimate K 깔고 SP2 까지 업글
- window XP 설치
- 왠지 Vista 가 그럭저럭 돌고있고 (사실 반응은 상당히 느린 편임), XP의 OS적인 안정성을 의심하고 있는 터라 그냥 패스함
- 다시 FreeNAS 설치
- Vista에 설치한 serv-U가 한글파일을 제대로 받아 먹질 않아서 짜증내다가 비스타 놓아두고 USB하나 꽂아서 거기다 FreeNAS 설치 하기로 함
- USB를 꼽고 FreeNAS live CD를 넣은 후 부팅, "embeded"로 USB에 설치를 하니 "dd" 동작에서 실패
- 잽싸게 구글로 뒤져본 결과 USB를 꽂아 둔 채로 FreeNAS liveCD를 부팅하면 USB에 configuration 정보를 써두게 된다고 함
- 덕분에 USB에 OS image를 dump 못하게 되어서 발생한 문제라고 함
- 해서 USB는 윈도에서 다시 포맷하고 FreeNAS Live CD로 부팅 후 install 직전에 PC에 꽂아서 인식 시키고 설치하니 문제 없이 설치됨
FreeNAS 설치 후
- 그냥 속도 저하 문제는 포기하고 안정적으로 사용하기로 결정 (뭣하면 USB 빼고 Vista로 부팅해도 되니깐..)
- 사용자와 그룹 설정 완료
- SSH 설정 (키보드 따로 쓰기 귀찮아서)
- cshell 환경 설정... 어떻게 하더라... ( 늘 설정된 값을 그냥 쓰다보니 까먹어 버렸다.)
- home 디렉토리에 .cshrc 파일 만들고 다음 두가지 설정
- set history=100
- alias cd 'cd \!*; set prompt="[`pwd`] "'
- cd
- VI도 설치해 보자
- vi를 설치하려면 USB에 data partition이 있어야 한단다.
- 설정정보 백업후 FreeNAS 재설치 진행 (벌써 수십번째 인지라 이젠 아주 숙달되어 버린듯)
- 여기를 참조해서
- setenv PKG_TMPDIR /mnt/usb-data/temp
- pkg_add -r vim-lite -P /mnt/usb-data/pkg
- nano /mnt/usb-data/hooks.sh
- ln -s /mnt/usb-data/pkg/bin/vim /bin/vi
- ln -s /mnt/usb-data/pkg/bin/vim /bin/vim
- ln -s /mnt/usb-data/pkg/share/vim/vim72/vimrc_example.vim /root/.vimrc
- ln -s /mnt/usb-data/pkg/share/vim/vim72/vimrc_example.vim /mnt/.vimrc
- mkdir /usr/local/share/vim/
- mkdir /usr/local/share/vim/syntax/
- ln -s /mnt/usb-data/pkg/share/vim/vim72/syntax/syntax.vim /usr/local/share/vim/syntax/syntax.vim
- 이상을 적절히 환경에 맞게 버무린다.
- 그리고 system -> advance -> command script에서 hook.sh가 postInit으로 동작하도록 설정한다.
- 설정하고 재부팅 했는데 왠걸.. 잘 않됨? (아하.. root로 로긴을 않해서 그렇구나.) 암튼 로긴해서 hooks.sh를 한번 돌려주거나 path설정을 해버리면 상관은 없다.
- SAMBA 설정
- 적당히 설정하고 6GB 한번 올려봤는데.. 어라.. 34MB/s 나오네? 굿~ ^^
- 이전에 속도가 않나오거나 들쑥날쑥 했던것은 ZFS를 사용했기 때문이 아닐까 생각 된다.
- 아뭏튼 UFS로 하니 상당히 안정적인 속도를 뽑아내서 좋은데. 유저별 쿼타 설정방법을 조사해야 될 듯.
- 적당히 설정하고 6GB 한번 올려봤는데.. 어라.. 34MB/s 나오네? 굿~ ^^
- FTP 설정
- 필요 계정과 그룹 설정 완료
- DDNS 설정
- 이건 공유기의 DDNS 기능과 port forwarding 기능 사용
- AFP 설정
- MAC의 time machine 기능을 위한 AFP 설정
- 백업 진행 중인데.. 왜이렇게 느린 거임..?
이제 적당히 안정적으로 동작 중
- 추가 작업 예정
- php 설치 : 당장 급한게 아님
- mysql 설치 : 당장 급한게 아님
- 제로보드 설치 : 당장 급한게 아님
- DLNA 활성화 : 일단 별 필요 없을 듯
- NFS 설정 : 당장 필요 없을 듯
- SFTP 설정
- Chipset Cooler를 방열판으로 대체할 것
- Case cooling fan을 저소음 모델로 교체할 것

