사용자 도구

사이트 도구


nas_설치

문서의 이전 판입니다!


NAS 구성 및 설치

NAS 는 주로 데이터를 담아두는 용도로 많이 쓰인다. 네트웍 속도가 빨라지면서 대용량 자료들을 다른 곳에 두더라도 별로 불편함이 없고,또한 HDD 에서 SSD 를 많이 쓰면서 아무래도 상대적으로 저렴한 HDD 에 자료를 넣어두고 노트북이나 데스크탑 등에서는 그것을 불러와서 사용하고 … 이런 식으로 많이 쓰이게 된다.

구글에서 NAS 라고 검색만 해도 수도 없이 많은 자료가 나오니, 그것을 찾아 보면 자신에게 적당한 것이 무엇인지 알 수 있다.

하지만, 굳이 상용서버가 아니더라도 기존 구형 데스크탑에 HDD 만 몇개 붙이고, 적당히 설정하면 충분히 쓸 수 있다. 실제로도 상용으로 판매되고 있는 NAS 의 CPU, 메모리 사양을 보면 어라 ? 이런 거였어 ? 할 정도이다. CPU 는 보통 Intel Atom 1GHz 정도 성능을 보이는 게 대부분이고 (ARM 칩을 쓰는 것도 있고 MIPS 를 쓰는 경우도 있다.), 메모리는 많아야 2GB 이고, 보통 512MB 에서 1GB 정도이다.

내 경우는 HP Proliant Microserver N54L 과 N40L 을 사용하고 있다. 둘의 하드웨어적인 사양은 다음의 표와 같다.

구분 사양
CPU N54L : AMD Turion II Neo 2.2 GHz, Dual Core
CPU N40L : AMD Turion II Neo 1.5 GHz, Dual Core
Chipset AMD RS785E / SB820M
Memory DDR3 PC3-10600E unbuffered DDR3 ECC, 최대 8GB
Storage Controller Integrated SATA Controller with embedded RAID 0 or 1
Internal Storage Devices Non-hot plug SATA 3.5“ x 4EA, ODD bay
Network Controller Embedded NC 107i PCI Express Gigabit Ethernet
Expansion slots PCIe x16 x 1EA, PCIe x1 x 1EA (LP profile)
Interfaces D-sub, USB 2.0 port x 7EA, eSATA II x 1EA
Power Supply 150 Watt
Dimension 26.7 x 21 x 26 cm
Weights ~ 10 kg

메모리는 DDR3 일반 PC 용 램과 unbuffered ECC DDR3 메모리를 같이 쓸 수 있다. 그리고 개조된 바이오스를 설치하거나 RAID 카드를 추가로 설치하면 ODD 베이에 최대 8개의 HDD (크기 제한 때문에 2.5” SSD 나 HDD 를 써야 한다.) 를 넣을 수 있는 공간을 확보하여 사용할 수 있지만, 파워서플라이가 최대 150 Watt 이므로 그렇게까지 넣지는 않는다. 그리고 개조 바이오스를 설치하면 Not-hot plug HDD bay 가 Hot plug 가 된다. 하지만 … 굳이 Hot plug 를 쓸 필요는 없다.

개조 바이오스 설치방법은 구글에서 N54L mod bios 정도로 검색하면 꽤 많이 찾을 수 있다. 다만 바이오스 버전이 계속 올라가고 있으므로, 너무 오래된 것은 곤란하다. 방법은 대부분 같다. 도스 부팅 가능한 USB 메모리를 만든 다음에 거기에 바이오스 파일 올려서 USB 로 부팅한 다음에 도스 명령어로 바이오스를 수동으로 올리면 된다. http://terfmop.co.uk/blog/2013/07/31/hp-proliant-n54l-bios-modification-guide-allow-hot-plug-sata-and-5th-sata-port/ 참조.

내가 설치한 시스템 구성은 다음과 같다.

구분 내용
서버 HP Proliant Microserver N54L
Memory unbuffered DDR3 4GB (2GB x 2)
Storage Intel X-25 80GB SSD x 1EA (for OS), Toshiba 3TB x 2EA + Seagate 3TB x 2EA (for storage)
OS CentOS 6.5

굳이 NAS4Free 같은 NAS 전용 OS 를 사용하지 않고, 리눅스 배포판중 하나인 CentOS 를 선택한 건, 이미 NAS4Free 로 돌아가는 N40L 시스템이 하나 돌리고 있기 때문이다. (정확히는 N40L 2대에서 NAS4Free 를 돌리다가 N54L 을 한대 더 사면서 N40L 에서 한대에서 돌리던 것을 CentOS 를 설치하고 자료를 N54L 로 옮겼다. 그래서 지금은 남아 있는 N40L 활용방안을 찾고 있다.)

일단, 하드웨어구성은 끝났고, CentOS 를 설치했다. CentOS 는 Desktop 모드로 설치하였고, /etc/inittab 에서 runlevel 3으로 설정했다.

id:3:initdefault:

설치한 곳은 80GB 짜리 SSD 이며, SSD 이므로, 수명 때문에 몇가지 설정을 했다. /etc/fstab 에 몇줄 넣으면 된다. 그리고 SSD 의 파티션은 3곳으로 나누었다.

파티션 용도
/boot 부팅용 커널 위치, 500MB
/ 시스템 설치
sarp 스왑 파티션, 1.5GB

아래는 /etc/fstab 의 일부이다. /boot, /, /tmp 부분을 참조하자. discard, noatime, nodiration 등의 옵션이 붙어 있음을 볼 수 있다. 이 내용을 참조하여 /etc/fstab 을 수정하면 된다. UUID 부분을 잘못 건드리면 부팅이 안될 수도 있으니 주의하자.

UUID=00c10849-6c91-4961-a477-f0fb9c88c417 /boot   ext4    discard,noatime,nodiration,errors=remount-ro  0 1
UUID=1abc2139-0cac-43d3-a284-b1b3d5e0ddf3 /       ext4    discard,noatime,nodiration,errors=remount-ro  0 1
UUID=04af2e9f-037e-4f35-a1f0-5702ebb97568 swap    swap    defaults        0 0

tmpfs                   /tmp                    tmpfs   defaults,noatime,mode=1777 0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

그리고, NAS 에서는 필요없는 패키지들을 몇개 지우고, 필요한 패키지 설치를 위해서 repository 등록한다. 아래와 같다.

CentOS CR 등록 : http://wiki.centos.org/AdditionalResources/Repositories/CR

ELEP 등록 : http://fedoraproject.org/wiki/EPEL/FAQ#howtouse

RPM Fusuin 등록 : http://rpmfusion.org/Configuration

ELRepo 등록 : http://elrepo.org/tiki/tiki-index.php

yum erase libreoffice-core
yum install centos-release-cr
yum update
rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/el/updates/6/x86_64/rpmfusion-free-release-6-1.noarch.rpm
yum localinstall --nogpgcheck http://download1.rpmfusion.org/nonfree/el/updates/6/x86_64/rpmfusion-nonfree-release-6-1.noarch.rpm
yum update
yum groupinstall “Development Tools”
yum groupupdate “Development Tools”
yum install kernel-devel rpm-build rpm-libs 
yum install vsftpd samba samba-common munin munin-node
yum update

munin 대신 rrdtool 이나 mrtg 도 괜찮다. 난 munin 을 선호하기 때문에 munin 을 설치했다.

이 정도면 일단 준비작업은 끝났다.

NAS 의 원래 목적으로 되돌아가보자. NAS 는 데이터를 저장하고 그것을 필요할 때 꺼내오는 게 주목적이다. 여기에다가 부가적으로 미디어 스트리밍 서버 등의 미디어센터 기능을 추가하는 게 대부분이다.

일단 데이터를 주고 받는 데에는 클라이언트가 무엇이냐에 따라서 많은 방법이 있지만, 일반적으로 많이 쓰이는 방법은 smb (삼바, samba), afp, nfs, ftp 정도다. afp 는 맥용_time_machine_만들기 에서 설명될 것이므로, 여기서는 samba 만 설명하자.

sama 에서 해줄 것은 사용자 등록하는 것과 디렉터리 공유만 설정해주면 된다. 사용자 등록은 2단계가 필요하다. USER-ID 부분에다가 계정명을 써주면 된다. root 계정으로 해야 한다.

1단계 : 리눅스 계정 사용자 등록
     -. adduser USER-ID
     -. passwd USER-ID

2단계 : 삼바 계정 등록
     -. smbpasswd -a USER-ID
     -. 패쓰워드 입력

/etc/samba/smb.conf 파일 수정하기

일단, 만일의 사태를 대비해서 원본 파일을 복사해두자.

cp /etc/samba/smb.conf /etc/samba/smb.conf.ORIGINAL

smb.conf 파일에서 몇개만 고치면 된다. NAS 이름을 server 로 하기로 했다고 가정하고,

[global] 세션에서 아래부분 수정 내지는 추가

netbios name = server
server string = file server
workgroup = home
comment = server
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=65535 SO_RCVBUF=65535

정도만 해주면 된다. samba 버전마다 조금씩 설정이 다르기 때문에 이런 게 정답이다.. 라고 하긴 어려우니 참고만 하자.

아참, 혹시 모르니 부팅할 때 자동으로 실행하게 하자. 보통은 yum 으로 설치하면서 자동으로 설정되지만, 가끔 빠지기도 한다.

chkconfig smb on
chkconfig nmb on

그리고, 하나 더 쓰자면, SELINUX 에 익숙하지 않다면 끄자. NAS 가 결국엔 데이터 공유 (그걸 남과 하든지, 내 노트북과 NAS 만 하든지 간에..) 인데, SELINUX 가 설정되어 있다면 서비스 하나 추가할 때마다 설정하고, 풀어주고 … 귀찮다. 다만, 보안성은 아무래도 조금 떨어지니, 보안에 민감하거나 공개된 장소에서 NAS 를 써야 한다면 SELINUX 사용법 정도는 공부해두자. 여기서는 SELINUX 를 안 쓰는 걸로 하겠다.

/etc/selinux/config 파일

SELINUX=disabled
#SELINUX=enforcing

로 저장하고 리부팅하면 된다.

이 정도 했으면 기본적인 NAS 구성은 된 것이다. 각종 미디어 서버 (iTunes 서버, 스트리밍 서버 등등) 는 차츰차츰 추가하자. 일단 서버만 구축해서 무엇을 할 것인가 ? 데이터가 있어야 미디어 서버를 돌려도 돌아가겠지.


근데, 써놓고 보니, N54L 에 SSD 달고 CentOS 설치한 얘기네 ? 뭔가 빠진 듯 한데…


2014/04/11 akpil

nas_설치.1397184994.txt.gz · 마지막으로 수정됨: 2014/04/11 11:56 저자 akpil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki