
NAS(Network Attached Storage, 네트워크 결합 스토리지)는 로컬 네트워크를 통해 접근할 수 있는 저장 장치입니다. 쉽게 말해 집에서 직접 운영하는 개인 클라우드 스토리지라고 할 수 있으며, PC 용량을 초과하는 파일을 보관하거나 여러 기기 간에 파일을 공유할 때 매우 유용합니다. 라즈베리 파이가 있다면 저렴한 비용으로 손쉽게 NAS 서버를 구축할 수 있습니다.
구축 방법은 여러 가지가 있지만, 그중에서도 OpenMediaVault(OMV)와 Samba가 가장 널리 사용됩니다. 이 글에서는 Samba를 사용합니다. OMV는 별도의 운영체제를 설치해야 해서 파이를 다른 용도로 사용하기 어렵지만, Samba는 기존 Raspbian 환경 위에서 바로 실행할 수 있기 때문입니다. 다만 OMV는 외부 네트워크에서 파일에 접근하는 기능 등 훨씬 더 많은 기능을 제공하므로, 파이를 NAS 전용으로만 사용할 계획이라면 OMV도 검토해볼 만합니다.
준비물
- 라즈베리 파이 (가급적 4, 3 또는 2 세대. Samba는 가볍게 동작하므로 최신 모델일 필요는 없습니다)
- Raspbian이 설치된 SD 카드
- 파이와 같은 네트워크에 연결된 컴퓨터
- [선택 사항] 파이에 연결할 외장 하드 드라이브 같은 외부 저장 장치
여기서는 4GB RAM을 탑재한 라즈베리 파이 4를 사용했지만, 2세대와 3세대 사용자들도 Samba를 문제없이 사용했다는 후기가 많습니다. 저장할 파일의 양이 많지 않다면 대용량 MicroSD 카드만으로도 충분하지만, 외장 드라이브를 연결하면 저장 공간을 크게 늘릴 수 있습니다. 심지어 외장 장치 두 개를 연결해 RAID를 구성하면 한쪽 드라이브가 고장 나도 데이터를 지킬 수 있습니다. 여기서는 설명을 단순화하기 위해 RAID는 다루지 않겠습니다.
시스템이 아직 업데이트되지 않았다면 먼저 최신 상태로 만들어 두는 것이 좋습니다. 아래 명령어로 패키지 목록을 갱신하고 업데이트를 설치하세요.
sudo apt update && sudo apt -y upgrade
1단계: 저장 공간 준비하기
대부분의 라즈베리 파이 프로젝트와 마찬가지로, 파이 자체의 터미널을 열거나 SSH로 접속해 작업을 진행합니다.
외장 드라이브를 사용하는 경우
USB로 연결한 드라이브가 있다면 먼저 포맷해야 합니다. GParted 같은 GUI 도구를 사용해도 되지만, 여기서는 터미널 기준으로 설명합니다.

다음 명령어를 실행하세요.
lsblk
또는:
sudo fdisk -l
출력 결과에서 공유 저장소로 사용할 드라이브를 확인합니다. 하나만 연결되어 있다면 대개 "sda" 또는 "sda1"로 표시되며, 이 이름을 기억해 두어야 합니다.
먼저 드라이브를 마운트 해제합니다.
sudo umount /dev/NAME
여기서 NAME은 앞서 확인한 "sda", "sda1" 등의 이름입니다.
이제 드라이브를 포맷합니다.
sudo mkfs -t ext4 /dev/NAME
이 명령은 드라이브의 모든 데이터를 지우고 ext4 형식으로 포맷합니다. NTFS나 FAT32를 사용할 수도 있지만, ext4가 속도가 빠르고 문제 발생 가능성도 가장 낮습니다.
포맷에는 시간이 다소 걸립니다. 완료되면 원하는 이름으로 드라이브 라벨을 지정합니다.
sudo e2label /dev/NAME YOURLABEL
NAME은 sda/sda1 같은 드라이브 이름, YOURLABEL은 직접 정한 라벨명입니다. 이후 재부팅하는 것이 좋습니다.
sudo reboot
SD 카드를 사용하는 경우
외장 저장 장치가 필요 없다면 파이의 SD 카드에 공유 폴더를 만드는 것만으로 충분합니다.

다음 명령어를 실행하세요.
mkdir /home/pi/FOLDERNAME
이것으로 끝입니다! 디렉터리나 폴더 이름은 자유롭게 변경할 수 있습니다. 필자는 "raspsharey"라는 이름을 사용했습니다.
2단계: Samba 설치하기
Samba는 윈도우와 유닉스 계열 시스템 간에 파일을 공유할 수 있게 해주는 도구입니다. 다음 명령어로 설치합니다.
sudo apt install samba samba-common-bin

3단계: Samba 설정하기
다음 명령어로 Samba 설정 파일을 열 수 있습니다.
sudo nano /etc/samba/smb.conf
파일 맨 아래로 스크롤한 뒤, 공유할 내용을 알려주는 몇 줄을 추가합니다. 대략 다음과 같은 형태입니다.
[sambadrive]
path = /media/pi/pisharedrive
writeable=Yes
read only=no
create mask=0777
directory mask=0777
public=no
[sambadrive]는 다른 PC에서 공유 폴더에 접근할 때 사용할 주소입니다.

path 항목은 외장 드라이브를 사용한다면 위 예시처럼 작성하고, SD 카드의 폴더를 사용한다면 1단계에서 mkdir로 만든 경로를 입력하면 됩니다. 필자의 경우 다음과 같습니다.
/home/pi/raspsharey
public 설정이 "no"면 접근 시 사용자 이름과 비밀번호가 필요하고, "yes"로 설정하면 네트워크상의 누구나 주소만으로 접근할 수 있습니다.
필요하다면 외장 드라이브와 내부 폴더를 모두 설정 파일에 추가할 수 있습니다. Samba는 여러 폴더와 드라이브를 동시에 공유하는 것도 지원합니다.
설정이 끝났으면 Ctrl + O를 누른 후 Enter로 저장하고, Ctrl + X로 편집기를 닫습니다.
4단계: Samba 사용자 만들기
이제 Samba용 사용자 이름과 비밀번호를 만들어야 합니다. 라즈베리 파이의 기본 사용자는 "pi"이므로 이를 활용하는 것이 간편합니다.
sudo smbpasswd -a pi
이 명령은 비밀번호가 설정된 "pi"라는 Samba 사용자를 생성합니다. 비밀번호 입력 프롬프트가 나타나면 비밀번호를 입력하고 Enter를 누른 뒤, 확인 차례에서 한 번 더 입력합니다.

변경 사항을 적용하려면 Samba를 재시작합니다.
sudo systemctl restart smbd
이것으로 서버 설정이 모두 끝났습니다! 이제 다른 컴퓨터에서 공유 폴더에 접속하기만 하면 됩니다.
5단계: 윈도우에서 NAS 접속하기
1. 파일 탐색기를 엽니다.

2. 상단 메뉴에서 "드라이브 연결(Map drive)" 관련 버튼을 찾습니다. 버튼 위치와 이름은 윈도우 버전에 따라 조금씩 다릅니다. "내 PC(This PC)" 화면에서는 "컴퓨터" 탭 아래 "네트워크 드라이브 연결"이라는 큰 버튼으로 표시되고, 다른 폴더에서는 "쉽게 액세스" 메뉴 안의 "드라이브로 연결" 항목으로 나타납니다.
3. 클릭하면 설정 창이 열립니다. 폴더(Folder) 입력란에 라즈베리 파이의 주소와 설정 파일의 대괄호 안에 적었던 이름을 함께 입력합니다. 예를 들어 \\raspberrypi\sambadrive 형식입니다.
4. "raspberrypi" 대신 파이의 로컬 IP 주소를 사용해도 됩니다.

5. 반드시 "다른 자격 증명을 사용하여 연결(Connect using different credentials)" 옵션에 체크하세요.
6. 마침(Finish)을 누른 뒤, Samba 사용자 생성 시 설정한 사용자 이름과 비밀번호를 입력합니다.

이제 폴더를 열고 자유롭게 사용하면 됩니다.
마무리 및 문제 해결 팁
접속은 되는데 쓰기 권한이 없다는 오류가 발생한다면, 파이 사용자에게 해당 폴더의 소유권이 없기 때문일 수 있습니다. 이 경우 다음 명령어로 소유권을 부여하세요.
sudo chown -R [PI USER] [PATH TO FOLDER]
필자의 경우 다음과 같습니다.
sudo chown -R pi pi/raspsharey
인터넷에서 "/etc/fstab" 파일을 수정해 권한 문제를 해결하라는 조언을 볼 수도 있는데, 이 파일을 잘못 수정하면 파이 전체가 부팅되지 않는 심각한 문제가 생길 수 있으니 최후의 수단으로만 사용하는 것이 좋습니다.
문제없이 진행된다면 이 프로젝트는 30분 안에 완성할 수 있습니다. 완료 후에는 파이가 켜져 있는 동안 언제든지 자신만의 NAS를 사용할 수 있습니다.
함께 읽으면 좋은 글:
- 라즈베리 파이 4를 엣지 게이트웨이로 만드는 방법
- 라즈베리 파이에 OSMC 설치하는 방법
- 라즈베리 파이로 DIY 무선 프린터 만들기