nas_설치
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
nas_설치 [2014/04/11 15:30] – 제거됨 akpil | nas_설치 [2014/04/18 14:04] (현재) – akpil | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ====== NAS 구성 및 설치 ====== | ||
+ | |||
+ | NAS 는 주로 데이터를 담아두는 용도로 많이 쓰인다. | ||
+ | 네트웍 속도가 빨라지면서 대용량 자료들을 다른 곳에 두더라도 별로 불편함이 없고, | ||
+ | |||
+ | 구글에서 NAS 라고 검색만 해도 수도 없이 많은 자료가 나오니, 그것을 찾아 보면 자신에게 적당한 것이 무엇인지 알 수 있다. | ||
+ | |||
+ | 하지만, 굳이 상용서버가 아니더라도 기존 구형 데스크탑에 HDD 만 몇개 붙이고, 적당히 설정하면 충분히 쓸 수 있다. 실제로도 상용으로 판매되고 있는 NAS 의 CPU, 메모리 사양을 보면 어라 ? 이런 거였어 ? 할 정도이다. CPU 는 보통 Intel Atom 1GHz 정도 성능을 보이는 게 대부분이고 (ARM 칩을 쓰는 것도 있고 MIPS 를 쓰는 경우도 있다.), 메모리는 많아야 2GB 이고, 보통 512MB 에서 1GB 정도이다. | ||
+ | |||
+ | 내 경우는 HP Proliant Microserver N54L 과 N40L 을 사용하고 있다. | ||
+ | 둘의 하드웨어적인 사양은 다음의 표와 같다. | ||
+ | |||
+ | ^ 구분 | ||
+ | | | ||
+ | | | ||
+ | | Chipset | ||
+ | | Memory | ||
+ | | Storage Controller | ||
+ | | Internal Storage Devices | Non-hot plug SATA 3.5" x 4EA, ODD bay | | ||
+ | | Network Controller | ||
+ | | Expansion slots | PCIe x16 x 1EA, PCIe x1 x 1EA (LP profile) | | ||
+ | | Interfaces | ||
+ | | Power Supply | ||
+ | | Dimension | ||
+ | | Weights | ||
+ | |||
+ | HP Microserver N54L, N40L 등을 사용하는 이유는 첫째는 조용하기 때문이고, | ||
+ | |||
+ | 메모리는 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 정도로 검색하면 꽤 많이 찾을 수 있다. 다만 바이오스 버전이 계속 올라가고 있으므로, | ||
+ | |||
+ | 내가 설치한 시스템 구성은 다음과 같다. | ||
+ | |||
+ | ^ 구분 | ||
+ | | 서버 | ||
+ | | Memory | ||
+ | | Storage | ||
+ | | | ||
+ | |||
+ | 굳이 NAS4Free 같은 NAS 전용 OS 를 사용하지 않고, 리눅스 배포판중 하나인 CentOS 를 선택한 건, 이미 NAS4Free 로 돌아가는 N40L 시스템이 하나 돌리고 있기 때문이다. (정확히는 N40L 2대에서 NAS4Free 를 돌리다가 N54L 을 한대 더 사면서 N40L 에서 한대에서 돌리던 것을 CentOS 를 설치하고 자료를 N54L 로 옮겼다. 그래서 지금은 남아 있는 N40L 활용방안을 찾고 있다.) | ||
+ | |||
+ | 일단, 하드웨어구성은 끝났고, CentOS 를 설치했다. CentOS 는 Desktop 모드로 설치하였고, | ||
+ | |||
+ | < | ||
+ | |||
+ | id: | ||
+ | |||
+ | </ | ||
+ | |||
+ | 설치한 곳은 80GB 짜리 SSD 이며, SSD 이므로, 수명 때문에 몇가지 설정을 했다. | ||
+ | 그리고 SSD 의 파티션은 3곳으로 나누었다. | ||
+ | |||
+ | ^ 파티션 | ||
+ | | /boot | 부팅용 커널 위치, 500MB | | ||
+ | | / | 시스템 설치 | ||
+ | | swap | 스왑 파티션, 1.5GB | | ||
+ | |||
+ | |||
+ | 아래는 /etc/fstab 의 일부이다. /boot, /, /tmp 부분을 참조하자. discard, noatime, nodiration 등의 옵션이 붙어 있음을 볼 수 있다. 이 내용을 참조하여 /etc/fstab 을 수정하면 된다. UUID 부분을 잘못 건드리면 부팅이 안될 수도 있으니 주의하자. | ||
+ | |||
+ | tmpfs 는 쉽게 말하면 램드라이브다. 시스템의 메모리에 일정공간을 잡아 놓고 그곳을 파일 시스템으로 잡고 쓰는 것인데, 아무래도 읽고 쓰기가 빈번해지는 /var/log, /tmp 두곳을 tmpfs 로 지정했다. 만약에 시스템 로그를 지속적으로 관리하고 싶다면 /var/log 가 있는 줄은 삭제하면 된다. 물론 /tmp 역시 마찬가지다. | ||
+ | |||
+ | < | ||
+ | |||
+ | UUID=00c10849-6c91-4961-a477-f0fb9c88c417 /boot | ||
+ | UUID=1abc2139-0cac-43d3-a284-b1b3d5e0ddf3 / | ||
+ | UUID=04af2e9f-037e-4f35-a1f0-5702ebb97568 swap swap defaults | ||
+ | |||
+ | tmpfs / | ||
+ | tmpfs / | ||
+ | tmpfs / | ||
+ | |||
+ | |||
+ | devpts | ||
+ | sysfs / | ||
+ | proc /proc | ||
+ | |||
+ | </ | ||
+ | |||
+ | 여기에 빠져 있는 것은 3TB HDD 4개에 대한 내용이다. 모두 ext4 로 각각 포맷했고, | ||
+ | |||
+ | 그리고, / | ||
+ | |||
+ | 만약, 스왑을 전혀 안하게 하는 것은 문제가 있다고 생각하면 echo 0 대신에 1이나 10 정도를 넣어주면 된다. | ||
+ | |||
+ | < | ||
+ | |||
+ | echo 0 > / | ||
+ | |||
+ | </ | ||
+ | |||
+ | 어떻게 할지는 사용해보고 결정하면 된다. 이 외에도 스케줄러를 바꾸어준다든가 하는 방법으로 SSD 를 튜닝하는 방법이 있고, 커널 소스에서 파라미터를 몇개 바꾸어준다든가 하는 방법도 있지만, 이 글의 범위를 넘어가므로 여기까지만 하자. | ||
+ | |||
+ | |||
+ | 그리고, NAS 에서는 필요없는 패키지들을 몇개 지우고, 필요한 패키지 설치를 위해서 repository 등록한다. 아래와 같다. | ||
+ | |||
+ | CentOS CR 등록 : http:// | ||
+ | |||
+ | ELEP 등록 : http:// | ||
+ | |||
+ | RPM Fusion 등록 : http:// | ||
+ | |||
+ | ELRepo 등록 : http:// | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | yum erase libreoffice-core | ||
+ | yum install centos-release-cr | ||
+ | yum update | ||
+ | rpm -Uvh http:// | ||
+ | yum localinstall --nogpgcheck http:// | ||
+ | yum localinstall --nogpgcheck http:// | ||
+ | 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_만들기|맥용_time_machine_만들기]] 에서 설명될 것이므로, | ||
+ | |||
+ | samba 에서 해줄 것은 사용자 등록하는 것과 디렉터리 공유만 설정해주면 된다. 사용자 등록은 2단계가 필요하다. USER-ID 부분에다가 계정명을 써주면 된다. root 계정으로 해야 한다. | ||
+ | |||
+ | < | ||
+ | |||
+ | 1단계 : 리눅스 계정 사용자 등록 | ||
+ | -. adduser USER-ID | ||
+ | -. passwd USER-ID | ||
+ | |||
+ | 2단계 : 삼바 계정 등록 | ||
+ | -. smbpasswd -a USER-ID | ||
+ | -. 패쓰워드 입력 | ||
+ | |||
+ | </ | ||
+ | |||
+ | / | ||
+ | |||
+ | 일단, 만일의 사태를 대비해서 원본 파일을 복사해두자. | ||
+ | |||
+ | < | ||
+ | |||
+ | cp / | ||
+ | |||
+ | </ | ||
+ | |||
+ | 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 가 설정되어 있다면 서비스 하나 추가할 때마다 설정하고, | ||
+ | |||
+ | / | ||
+ | |||
+ | < | ||
+ | |||
+ | SELINUX=disabled | ||
+ | # | ||
+ | |||
+ | </ | ||
+ | |||
+ | 로 저장하고 리부팅하면 된다. | ||
+ | |||
+ | |||
+ | 이 정도 했으면 기본적인 NAS 구성은 된 것이다. 각종 미디어 서버 (iTunes 서버, 스트리밍 서버 등등) 는 차츰차츰 추가하자. 일단 서버만 구축해서 무엇을 할 것인가 ? 데이터가 있어야 미디어 서버를 돌려도 돌아가겠지. | ||
+ | |||
+ | |||
+ | ------------- | ||
+ | |||
+ | 근데, 써놓고 보니, N54L 에 SSD 달고 CentOS 설치한 얘기네 ? 뭔가 빠진 듯 한데... | ||
+ | |||
+ | ------------- | ||
+ | |||
+ | 2014/04/11 akpil | ||
nas_설치.1397197835.txt.gz · 마지막으로 수정됨: 2014/04/11 15:30 저자 akpil