가정 전체에서 파일 공유를 위해 Raspberry Pi를 NAS로 전환하는 방법

게시 됨: 2022-01-29

우리 집은 믿을 수 없을 정도로 깔끔하고 정돈되어 있지만, 디지털 생활을 하면 '호더'라는 단어가 떠오릅니다. 그런 생각이 든다면 네트워크 연결 저장 장치(줄여서 NAS)는 가정에 있는 모든 장치에서 파일을 무선으로 사용할 수 있도록 하는 완벽한 투자입니다. 그러나 이러한 장치는 비쌀 수 있으므로 비용을 절약하는 한 가지 방법은 핵심에 Raspberry Pi를 사용하여 저렴한 비용으로 직접 장치를 구축하는 것입니다.


NAS가 무엇인가요?

Asustor Lockerstor 2 NAS
아수스터 로커스터 2

네트워크 연결 스토리지를 사용하면 집 전체에서 항상 켜져 있는 하나의 장치에서 파일을 공유할 수 있습니다. 네트워크에 NAS가 있으면 이를 사용하여 영화를 저장하고 여러 Kodi 상자에서 재생하거나 PC에서 백업을 저장하거나 파일을 24시간 연중무휴로 시드하는 BitTorrent 상자로 사용할 수 있습니다.

물론, 이 모든 작업을 기본 PC로 할 수 있지만 NAS는 저전력이며 데스크탑이 작동하지 않는 경우에도 밤낮으로 실행되도록 설계되었습니다. 한번 사용하기 시작하면 되돌리기가 어렵습니다.

Synology, QNAP 및 Asustor와 같은 회사에서 이미 구축된 NAS 장치가 많이 있습니다. 하나를 사서 디스크 드라이브에 넣으면 경주에 참가할 수 있습니다. 그러나 비용이 많이 들 수 있으며 NAS가 자신에게 적합한지 확실하지 않은 경우 투자를 정당화하기 어렵습니다. 특히 스토리지 요구 사항에 따라 확장할 수 있는 것을 원하는 경우에는 더욱 그렇습니다.

반면에 라즈베리 파이는 다재다능한 소형 보드로 저렴한 시험판 NAS 역할을 할 수 있어 한 번 성장하면 다른 용도로 사용할 수 있습니다. Synology NAS 장치만큼 견고하지 않으며 데이터 중복성을 원하는 경우 RAID가 Pi에서 특히 잘 작동하지 않습니다. Pi 기반 NAS의 중요한 데이터도 다른 곳에 백업해야 합니다.

그러나 Pi가 있고 NAS 생활이 무엇인지 알고 싶다면 훌륭한 프로젝트입니다. 그런 다음, 일단 중독되면 장기 요구 사항에 맞는 특수 제작된 Synology 또는 QNAP 모델로 업그레이드할 수 있습니다.


필요한 것...

라즈베리 파이

모든 트리밍이 포함된 라즈베리 파이
분명히 이 프로젝트에는 Raspberry Pi와 필수 액세서리인 전원 공급 장치, microSD 카드, 초기 설정을 위한 마우스, 키보드 및 모니터가 필요합니다. 최신 모델 Pi는 이 프로젝트에서 작동해야 하며 다른 액세서리에 대한 자세한 내용은 Raspberry Pi 시작 가이드에서 읽을 수 있습니다.

디스크 드라이브(또는 2개 또는 3개)
몇 개의 파일만 공유하지 않는 한 microSD 카드는 NAS에 충분한 저장 공간이 아닐 수 있습니다. 기기 간에 공유하려는 영화, 음악 또는 기타 파일을 채우려면 드라이브가 필요합니다. Pi가 모든 드라이브에 충분한 전력을 공급하지 못할 수 있으므로 표준 외부 드라이브가 대부분의 경우 트릭을 수행하지만 벽에 별도로 연결하거나 전원이 공급되는 USB 허브가 필요할 수 있습니다. 더 깔끔한 설정을 원하면 네트워크 연결 스토리지용으로 설계된 내부 드라이브를 사용할 수도 있지만 케이스가 필요합니다.

NAS 친화적인 케이스(옵션) :
시스템이 깔끔하게 보이도록 하려면 Pi 및 드라이브용 인클로저를 구입해야 할 수 있습니다. 예를 들어, Geekworm은 X825라는 보드를 만들어 2.5인치 내부 하드 드라이브를 도킹하고 Pi에 연결하고 모든 것을 작은 케이스에 장착할 수 있습니다. (Pi와 호환되는 것을 구하십시오. Pi 3, Pi 4 등의 경우가 다릅니다.)

지금은 상단에 벨크로 처리된 USB 외부 드라이브가 있는 표준 Raspberry Pi 케이스를 사용하고 있습니다. 모든 구성 요소를 준비했다면 이제 NAS를 가동할 차례입니다.


운영 체제 설치

라즈비안

Pi를 NAS로 전환하는 Openmediavault와 같은 특수 운영 체제가 있지만 초보자 설정의 경우 실제로 일반 구형 Raspbian을 권장합니다. 유연하고 사용하기 쉬우며 네트워크를 통해 몇 개의 파일을 공유하기에 충분합니다. 초보자 가이드에 설명된 대로 권장 소프트웨어로 Raspbian을 설치하여 시작합니다.

빠른 파일 전송을 위해 이더넷을 통해 Pi를 네트워크에 연결하는 것이 좋지만 Wi-Fi는 핀치에 연결됩니다. Raspbian을 처음으로 부팅하고 새 암호를 지정하고 모든 업데이트를 다운로드했으면 하드 드라이브를 Pi의 USB 포트 중 하나에 연결합니다.

데스크탑에 표시되는 것을 볼 수 있지만 대부분의 작업은 터미널에서 수행할 것입니다. (원하는 경우 Pi에 SSH로 연결하고 다른 PC에서 이러한 명령을 수행할 수 있습니다.)


드라이브 마운트 해제

마운트 해제

계속하기 전에 연결한 드라이브를 지워야 하므로 중요한 파일이 있는 경우 Pi-NAS로 전송하기 전에 다른 곳에 저장해야 합니다. 터미널 창에서 다음 명령을 실행하여 Pi에 연결된 디스크를 확인합니다.

sudo fdisk -l

파일에 사용할 외장 드라이브(제 경우에는 "MyExternalDrive"라는 80GB 드라이브)를 찾고 해당 경로를 기록해 둡니다. 위의 스크린샷에서 내 Pi에 연결된 80GB 드라이브는 /dev/sda에 해당합니다. (우리가 지우려고 하므로 올바른 드라이브를 기록해 두었는지 반드시 확인하십시오!) 먼저 드라이브를 마운트 해제해야 합니다. Raspbian 인터페이스를 사용하는 경우 드라이브 옆에 있는 꺼내기 버튼을 클릭하여 마운트를 해제할 수 있습니다. 그러나 SSH를 통해 터미널을 사용하는 경우 다음을 실행해야 합니다.

umount /dev/sda1

드라이브에 따라 이전 사용에서 드라이브에 있는 파티션 수에 따라 umount /dev/sda2 , umount /dev/sda3 등을 실행해야 할 수도 있습니다.

그런 다음 Linux 사용을 위해 플래시 드라이브를 지우고 포맷하려면 다음을 실행하십시오.

sudo parted /dev/sda
라즈베리 파이 파티션

그러면 드라이브에 새 파티션을 만들 수 있는 Parted라는 마법사가 열립니다. 이 명령을 실행하고 마법사의 각 응답 후에 Enter 키를 누르고 MyExternalDrive 를 드라이브에 사용할 이름으로 바꿉니다.

mklabel gpt

드라이브를 지울 것인지 묻는 메시지가 표시되면 y 를 입력하고 Enter 키를 누릅니다. 그런 다음 다음을 실행합니다.

mkpart MyExternalDrive ext4 0% 100% quit

마지막 quit 명령은 Parted 마법사를 종료합니다. 분명히 이러한 명령을 드라이브 이름, 드라이브에 만들고자 하는 파티션의 수와 크기 등에 맞게 조정할 수 있습니다. 그러나 이제 막 시작하는 대부분의 기본 사용자에게는 이 명령이 잘 작동할 것입니다.


드라이브 파티션 나누기

라즈베리 파이 파티션

다음으로 해당 파티션을 포맷해야 합니다. 드라이브가 /dev/sda 에 있으면 새 파티션은 /dev/sda1 에 있습니다(드라이브가 /dev/sdb 이면 /dev/sdb1 등을 사용합니다).

sudo mkfs.ext4 /dev/sda1

계속할 것인지 묻는 메시지가 표시되면 y 를 누르고 Enter를 누릅니다. 그런 다음 다음을 실행합니다.

sudo e2label /dev/sda1 MyExternalDrive

MyExternalDrive 를 원하는 드라이브 이름으로 바꾸면 됩니다. 특히 드라이브가 큰 경우 포맷하는 데 몇 분이 걸리므로 인내심을 가지십시오. 완료되면 다음 명령을 실행하여 Pi를 재부팅하십시오.

sudo shutdown -r now

Pi가 다시 부팅되면 외부 드라이브가 바탕 화면에 자동으로 나타나 작업 준비가 된 것을 알 수 있습니다. 그러나 드라이브에 새 파일을 쓸 수 있는 권한을 부여하려면 마지막 명령을 한 번 실행해야 합니다. 터미널에서 다음을 실행합니다.

sudo chown -R pi /media/pi/MyExternalDrive

드라이브 공유

공유 드라이브

이제 네트워크에서 해당 드라이브를 공유하여 집에 있는 모든 장치에서 파일을 추가하고 액세스할 수 있습니다. 이를 위해 Windows SMB/CIFS 파일 공유 프로토콜의 오픈 소스 구현인 Samba라는 도구를 사용할 것입니다. 파일 공유를 위한 유일한 옵션은 아니지만 설정하기 쉽고 네트워크에 있는 거의 모든 시스템과 호환되므로 추천합니다.

Raspbian에는 기본적으로 Samba가 설치되어 있지 않으므로 저장소가 최신 상태인지 확인하고 다음 명령을 사용하여 설치해야 합니다.

sudo apt update sudo apt upgrade sudo apt install samba samba-common

설치 프로그램은 DHCP의 WINS 설정을 사용하도록 smb.conf를 수정할 것인지 묻습니다. 예를 선택하고 Enter 키를 누릅니다. 이제 드라이브를 공유하기 위해 해당 구성 파일을 직접 편집합니다. 운영:

sudo nano /etc/samba/smb.conf
삼바 설정

그런 다음 나타나는 명령줄 텍스트 편집기에서 화살표 키를 사용하여 문서 맨 아래로 스크롤합니다. 다음과 같은 텍스트 블록을 추가하고 싶을 것입니다.

[MyMedia] path = /media/pi/MyExternalDrive/ writeable = yes create mask = 0775 directory mask = 0775 public=no

이 버전에서 MyMedia 는 공유 이름(원하는 대로 이름 지정)이고 /media/pi/MyExternalDrive 는 드라이브의 탑재 위치입니다. (파일 관리자를 열고 /media/pi/ 로 이동하여 이름을 알아내야 할 수도 있습니다.) 완료되면 Ctrl+X를 눌러 nano를 종료하고 원하는지 묻는 메시지가 표시되면 y 를 누르고 Enter를 누릅니다. 파일을 저장합니다.


비밀번호 생성 및 사용자 추가

사용자 추가

마지막으로 다른 컴퓨터에서 공유를 볼 수 있도록 Samba에 대한 암호를 만들어야 합니다. (암호를 요구하지 않고 Samba를 구성하는 방법이 있지만 이것은 일반적으로 좋은 보안 관행이 아니므로 암호를 추가하는 것이 좋습니다.) 기존 Pi 사용자에게 암호를 추가하려면 다음을 실행하십시오.

sudo smbpasswd -a pi

메시지가 표시되면 원하는 암호를 입력합니다. Pi 자체의 사용자 암호와 같을 필요는 없지만 같을 수 있습니다. 그리고 Enter 키를 누릅니다.

sudo adduser jeff 사용하여 다른 사용자를 추가할 수 있습니다. 여기서 jeff 는 추가하려는 사용자입니다. 이것은 꼭 필요한 것은 아니지만 특정 공유에 대해 서로 다른 읽기 및 쓰기 권한을 부여하려는 가족 구성원이 여러 명인 경우 유용할 수 있습니다.

모든 작업이 완료되면 다음 명령을 실행하여 Samba를 다시 시작합니다.

sudo systemctl restart smbd

미디어 액세스

그리고 모든 것이 흔들릴 준비가 되어 있어야 합니다. Windows PC로 이동하여 파일 탐색기 창을 열고 주소 표시줄에 \\raspberrypi\MyMedia 를 입력합니다( MyMedia 를 공유 이름으로 대체). Enter 키를 누르면 Samba 사용자 이름(pi)과 암호를 입력하고 공유 드라이브를 볼 수 있어야 합니다. 문제가 발생하면 \\192.168.1.10\MyMedia 와 같은 Pi의 IP 주소를 대신 사용해야 할 수 있습니다.

Mac에서 연결하려면 Finder를 열고 이동 > 서버에 연결을 클릭하고 메시지가 표시되면 smb://raspberrypi 를 입력합니다.

이것은 Pi 기반 NAS로 할 수 있는 일의 표면을 긁는 것일 뿐입니다. 스토리지 요구 사항이 발전함에 따라 더 많은 드라이브와 공유를 추가하거나, 다른 권한을 가진 더 많은 사용자를 추가하거나, 하드 드라이브 오류 발생 시 데이터 손실을 방지하기 위해 RAID 어레이를 설정할 수 있습니다. 하지만 일단 그 지점에 도달하면 더 나은 성능을 위해 전용 NAS 장치에 조금 더 투자할 가치가 있을 것입니다.