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に読ませる流れ
-
Raspberry Pi ImagerをwindowsPCにインストールする
-
MicroSDカードを接続してRaspberry Pi Imagerを起動
-
hostname,ssh,wifi設定をウィザード通りに行ったら終了
もしMicroSDカードがRead-Onlyになっているなら

windowsのdiskpartを使ってRead-Only属性を削除
ルータとHDDを接続
- ストレージとネットワークに接続
LANポートとルータを有線接続
画像で刺さっている黒いLANケーブルの通りに接続
カテゴリーは値段もさほど変わらないためCat-6aをとりあえず使用した
青色のUSBポートにHDDを接続する
HDDのUSBポートの規格がUSB2.0なら黒色のUSB-TypeAに接続してもよい
- 青色のUSB-TypeAポートの規格がUSB3.0
- 黒色のUSB-TypeAポートの規格がUSB2.0
給電
5V3A出力のtype-c電源で給電する
ssh接続
電源ついて2分後くらい待って
うまくネットワークに接続出来たらssh接続します(パスワード接続の場合)
ssh <設定したユーザ名>@<ホスト名>.local
一応アップデートとアップグレードをする
sudo apt update && sudo apt upgrade -y
HDDのマウント
lsblkコマンドで現在接続されている機器の確認をする
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の共有フォルダが表示される
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
-
「Edit a connection(接続の編集)」 を選んで Enter。
-
「Wired connection 1(有線接続 1)」 (または
preconfigured等)を選んで Enter。 -
「IPv4 CONFIGURATION(IPv4設定)」 の
<Automatic>にカーソルを合わせ、Enterを押して 「Manual(手動)」 に変更します。 -
その隣の
<Show>を選んで Enter を押し、入力欄を開きます。 -
Addresses: ルータのDHCPプール外のIPアドレスを入力します(CIDR表記 も忘れずに)。
- 例:
192.168.0.15/24
- 例:
-
Gateway: メモしたゲートウェイを入力します。
- 例:
192.168.0.1
- 例:
-
DNS servers: メモしたDNSを入力します。
- 例:
192.168.0.1
- 例:
-
画面一番下の
<OK>まで移動して Enter。 -
最初の画面に戻るので
<Back>→<Quit>で終了します。
苦労した点
なぜかRaspberryPiを起動したとき、OSを読み込んでくれなかった
再度、MicroSDカードを差し込んで起動しなおしたら動いてくれた
反省点
- PWM対応ファン(3本線または4本線)という制御信号線があるものを購入すれば良かった
RaspberryPiにコードを書いてファンの回転速度を制御できるから
- 使おうと思っていたMicroSDが壊れていた
- 当たり前の事だけど買うべき機器をリストアップすべきだった
感想
意外とやってみると簡単だった
Linuxを座学で学んでいたが、実際にシステムを構築したら学んだことが生かされたので楽しかった










