9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RaspberryPiでNAS構築

9
Last updated at Posted at 2025-12-04

NASとは

Network Attached Storageの略で記憶装置をネットワーク上に配置して様々なデバイスが遠隔で記憶装置にアクセスするシステム

クラウドストレージに近い

WindowsOS、ios、AndroidOSでアクセスできるNASを目指します。

  • 今回はGaminiのGem機能を使いアドバイザーになってもらってその通りに構築した
  • 私は電子工作の知識が一切なくRaspberryPiを初めて触った
  • セキュリティの事は考えていない

環境

  • Windows11
  • Raspberry Pi 4 model-b
    • USBポートが3.0のものが2つあるため
  • MicroSDカード(長期利用を目的として設計されている物)
    • 32GB
    • 耐久性表記(High Endurance)
    • アプリケーションパフォーマンスクラスA1,A2
  • HDD
    • USB3.0対応

    • 今回は駆動時間4年136日の大変古いHDDを1台のみ使用するが、RAID1以降の構成や新品のHDDもしくはSSDにすべきだと思う

セッティング

最後に給電をしてください

RaspberryPi OSのインストール

MicroSDカードにOSをインストールしてRaspberryPiに読ませる流れ

  1. Raspberry Pi ImagerをwindowsPCにインストールする

  2. MicroSDカードを接続してRaspberry Pi Imagerを起動

  3. Device欄でRaspberry Pi 4 のLite版を選択
    image.png

  4. OS欄のothersからRaspberry Pi 4 のLite版を選択
    image.png

    image.png

  5. hostname,ssh,wifi設定をウィザード通りに行ったら終了

    image.png
    今、気づいたけどwifi設定いらなかったな

もしMicroSDカードがRead-Onlyになっているなら

image.png
windowsのdiskpartを使ってRead-Only属性を削除

ルータとHDDを接続

  1. ストレージとネットワークに接続

Gemini_Generated_Image_lx38b3lx38b3lx38.png

LANポートとルータを有線接続

画像で刺さっている黒いLANケーブルの通りに接続

カテゴリーは値段もさほど変わらないためCat-6aをとりあえず使用した

青色のUSBポートにHDDを接続する

HDDのUSBポートの規格がUSB2.0なら黒色のUSB-TypeAに接続してもよい

  • 青色のUSB-TypeAポートの規格がUSB3.0
  • 黒色のUSB-TypeAポートの規格がUSB2.0

給電

5V3A出力のtype-c電源で給電する

Gemini_Generated_Image_nlv6sanlv6sanlv6.png

ssh接続

電源ついて2分後くらい待って
うまくネットワークに接続出来たらssh接続します(パスワード接続の場合)

ssh <設定したユーザ名>@<ホスト名>.local

一応アップデートとアップグレードをする

sudo apt update && sudo apt upgrade -y

HDDのマウント

lsblkコマンドで現在接続されている機器の確認をする

image.png

SIZEを確認してどの機器かを識別(今回はsdaがHDD)

そのあとにパーティション作成をする

# 1. パーティションツールを起動
sudo fdisk /dev/sda

# --- fdisk内での操作 ---
# 「d」を入力してEnter (既存パーティション削除。複数ある場合は繰り返し)
# 「n」を入力してEnter (新規作成)
# 「p」を入力してEnter (プライマリ)
# 「1」を入力してEnter (番号1)
# Enter (開始セクタ・デフォルト)
# Enter (終了セクタ・デフォルト)
# 「w」を入力してEnter (書き込み保存して終了)
# ---------------------

ext4にフォーマット

sudo mkfs.ext4 /dev/sda1

共有ディレクトリを作成

sudo mkdir -p /mnt/nas

権限変更

sudo chmod 777 /mnt/nas

uuidの確認(uuidはコピーしておく)

sudo blkid /dev/sda1

fstabファイルにディレクトリを追加(今回はvimをインストールして編集したけどnano使ってもいい)
fstabは、システム起動時に自動的にマウントされるべきファイルシステムの情報が載っている

sudo vim /etc/fstab

fstabファイルに追記

UUID=ここに調べたUUIDを貼る /mnt/nas ext4 defaults,nofail 0 0

fstabの情報を参照してマウントする

必要ならsystemdをリロード

systemctl daemon-reload
sudo mount -a

dfコマンドで、使用できているのかを確認

df -h | grep sda1

sambaのインストール

ファイルサーバツールとしてsambaを使用します

Samba (サンバ) は、マイクロソフトのWindowsネットワークを実装した自由ソフトウェア。 Linux、Solaris、BSD、macOSなどのUnix系オペレーティングシステム (OS) を用いて、Windowsのファイルサーバやプリントサービス、ドメインコントローラ機能、ドメイン参加機能を提供する。

パッケージのアップデート

sudo apt update

sambaのインストール

sudo apt install samba

Linuxユーザを作成する(後のsamba用ユーザとして扱う)

sudo user add -m <ユーザ名>

samba用のアカウントを作成する

sudo smbpasswd -a <ユーザ名>

マウントしたストレージのディレクトリの所有者、権限を変更

sudo chown <ユーザ名>:<ユーザ名> /mnt/nas
sudo chmod 700 /mnt/nas

sambaの設定ファイルを編集

sudo vim /etc/samba/smb.conf

末尾の行まで移動し、以下の文字を追記

[NAS]
path = /mnt/nas
read only = no
guest ok = no
force user = <ユーザ名>
create mask = 0777
directory mask = 0777
writable = yes

[global]セクション直下に、以下の文字を追記(iosでもアクセスできるようになる)

[global]
   min protocol = SMB2
   vfs objects = fruit streams_xattr
   fruit:metadata = stream
   fruit:model = MacSamba

iPhone接続用のパッケージをインストール

sudo apt install samba-vfs-modules -y

sambaを再起動する

sudo systemctl restart smbd

windowsからNASへアクセスする方法

WindowsPCのエクスプローラのファイルパスを入力するところでRaspberryPiのIPアドレスを入力

\\<RaspberryPiのIPアドレス>

するとNASの共有フォルダが表示される

image.png

iPhoneからNASへアクセスする方法

純正のファイルアプリを開いて右上の3点リーダを選択し、サーバーを検索ボタンを押して、下記の通りにIPアドレスを入力

smb://<RaspberryPiのIPアドレス>

AndroidからNASへアクセスする方法

ネットワークドライブ(SMBv2/SMBv3)にアクセスできるもの
例えば、「Samsung My FIles」とか「Cx File Explorer」

スタティックIPアドレスの割り当て

IPアドレスのCIDR表記、ゲートウェイ、DNSサーバを確認しメモする

nmcli device show eth0 | grep -E "IP4.ADDRESS|IP4.GATEWAY|IP4.DNS"

設定ツールを開く

sudo nmtui
  1. 「Edit a connection(接続の編集)」 を選んで Enter。

    image.png

  2. 「Wired connection 1(有線接続 1)」 (または preconfigured 等)を選んで Enter。

    image.png

  3. 「IPv4 CONFIGURATION(IPv4設定)」 の <Automatic> にカーソルを合わせ、Enterを押して 「Manual(手動)」 に変更します。

    image.png

  4. その隣の <Show> を選んで Enter を押し、入力欄を開きます。

  5. Addresses: ルータのDHCPプール外のIPアドレスを入力します(CIDR表記 も忘れずに)。

    • 例: 192.168.0.15/24
  6. Gateway: メモしたゲートウェイを入力します。

    • 例: 192.168.0.1
  7. DNS servers: メモしたDNSを入力します。

    • 例: 192.168.0.1
  8. 画面一番下の <OK> まで移動して Enter。

  9. 最初の画面に戻るので <Back> → <Quit> で終了します。

苦労した点

なぜかRaspberryPiを起動したとき、OSを読み込んでくれなかった
再度、MicroSDカードを差し込んで起動しなおしたら動いてくれた

反省点

  • PWM対応ファン(3本線または4本線)という制御信号線があるものを購入すれば良かった
    RaspberryPiにコードを書いてファンの回転速度を制御できるから

  • 使おうと思っていたMicroSDが壊れていた

  • 当たり前の事だけど買うべき機器をリストアップすべきだった

感想

意外とやってみると簡単だった
Linuxを座学で学んでいたが、実際にシステムを構築したら学んだことが生かされたので楽しかった

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?