1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

raspberry pi 5を使ってファイルサーバを作ろう n回目

Last updated at Posted at 2024-11-14

raspberry pi5+外付けHDDでファイルサーバを作成

【やったこと】

 もうみんながやってるこれですが
 以外なところに落とし穴があり一晩さまよったのですが
 このような人が減ることを願って記事を書きます



【自己紹介】

 初めましてえぢぢーんと申します
 元々はハードの研究開発を6年やってましたが
 転職してサーバ開発やってます

 私の家は私も奥さんも写真を撮る機会が多く
 それぞれの写真はLINEのアルバムに保存していたのですが

 動画が載せれなくなった+いつか消えるか心配
 ということもありNASでもつくるか~ということになりました

 せっかくだからraspberry piの勉強もしちゃうかという下心もあり
 枯れた技術であろうrasberry piでファイルサーバを作成に挑戦です
 (初記事なので見にくかったらごめんね)



【本日のお品書き】

自分のやった手順なので参考にしていただければ

  • 【揃えたもの】
    • まったくの 無 から構築した手順
  • 【raspberry piのセットアップ】
    • 起動~raspberry pi connectまで
  • 【NASの準備】
    • HDDがラズパイから見えるとこまで
  • 【sambaのセットアップ】
    • sambaのインストールから共有ファイルみえるまで
  • 【トラブルシューティング】
    • 戦いの記録


【揃えたもの】

秋月さんでこいつらを購入しました

  • raspberrypi 5
  • HDMI の片方がmicroになってるやつ
  • SDカード (rasberry pi OSインストール済)
  • 純正アクティブクーラー
  • ACアダプター

秋月購入品.PNG

アマゾンとかを見たけど若干割高だったのと
周辺機器もそろえたかったので秋月さんにお願いしました
2日で届きました秋月さんありがとう

面倒な人はスターターキットもあるみたいなのでこれでもよいと思いますし

普通にraspberry pi 5はオーバースペックなので3、4とかでも全然いいと思います
自分はこの後拡張予定だったのでケースなしのこの構成にしました



【raspberry piのセットアップ】

まずはraspberry pi5に最低限のものをつないで
remoteで操作できるとこまでもっていきます

キーボード操作がだるい方はマウスもつなげてください

あと余談ですがraspberry piの電源は5V/5A規格らしいので
今回購入したものだと若干足りないけど全然動きます
(実験機器とかだとクリティカルですが、こういうものは大丈夫なんですね)

ここからの手順ですが以下になります。

  • 【rapberry piの電源ON~desk top画面まで】
    • 秋月さんのインストール済SDカードを使った場合は画面指示に従うだけ
    • 自分で用意した方は先人の方々を参考にしてください
  • 【LAN設定:固定IP】
    • DHCPでも大丈夫ですが、メンテナンスの時に代わってると面倒なので
  • 【raspberry pi connect設定】
    • raspberry pi connect IDと実機の紐付けをするため
  • 【remote shell画面へ】
    • 環境構築完了

インストール部分は特に説明することがないのでLAN設定から始めます。

【LAN設定:固定IP】

raspberry piコンソールを立ち上げ以下を入力

console
sudo nmcli con

こんな感じに出力されます

nmcli_con.PNG

NAMEとDEVICEがあるのですが、使うほうはNAMEのほうです
日本語環境にしたので有線接続 1となってますが
英語のままの方は Wired connection 1とかだと思います

console
sudo nmcli con modify '有線接続 1' ipv4.addresses <固定したいIP>/24
sudo nmcli con modify '有線接続 1' ipv4.gateway 192.168.0.1
sudo nmcli con modify '有線接続 1' ipv4.dns 192.168.0.1
sudo nmcli con modify '有線接続 1' ipv4.method manual

普通の家庭だったらルータは192.168.0.1ですのでgatewayとdnsは一緒でいいです
そうじゃない人は多分詳しい方なので説明は省きます

これがおわったらcon upでもいいですが、ラズパイ実機を再起動しときましょう

【raspberry pi connect設定】

まずはここでraspberry pi IDを作成しましょう

ID作成が終わったらラズパイ実機にもどって

raspberry pi 5にはconnectが標準装備されてましたが
それ以外のやつらは以下でインストールします。(raspberry pi 5の人は無視してください)

console
sudo apt install rpi-connect
console
rpi-connect on

rpi connectのインストールが終わったら以下で紐づけ

console
rpi-connect signin

あとは指示通りに入力すればraspberry pi IDと実機の紐づけ完了です
GUI上にこんな感じのアイコンがでてるとおもいます。

raspberry pi connect.PNG

使い方はraspberry pi connectにアクセスして

さっき紐づけしたIDでログインすると
作成したデバイスが見えてると思います(私の環境ではhome_serverで作成しました)

raspberry pi connect2.PNG

ここまでくればラズパイの実機に張り付く必要はないので
電源とネットワークだけ接続して、温かい部屋でリモート設定できるようになります



【NASの準備】

NASの実体になる記憶媒体を用意します
USBメモリでもHDDでもSSDでもなんでもいいです

我が家に眠っていたHDDを引っ張り出して、

exFATでフォーマットします

hdd format.PNG

フォーマットが終わったらラズパイ実機に戻ってexFATをみれるようにする

console
sudo apt install exfat-fuse

これでラズパイ画面の記憶媒体をクリックすれば中身が見えるようになります

hdd OK.PNG



【sambaのセットアップ】

ファイルサーバの機能はsambaで行います
さっき作った記憶媒体をNASとして運用するために必要になります

console
sudo apt install -y samba

インストールが終わったらsamba用のuserを作ります

インストールが終わったらコンフィグファイルをいじります。

console
sudo vi /etc/samba/smb.conf

余談:raspberry piがまっさらの状態のときはviが互換モードでめちゃ使いにくい

console
sudo apt install vim

vimをインストールして.vimrcに以下記載すると治ります
(vimをインストールしないと.vimrcが効かない)

.vimrc
set nocompatible
set backspace=indent,eol,start
:syntax on

ファイルサーバに使うフォルダを作成します

console
sudo mkdir /media/<user名>/<記憶媒体名>/<NASに使うフォルダ>

次にファイルサーバアクセスに使うログインuserを作成します

console
useradd <user名>

※ちょっと躓きポイント:既存のuserしかsambaのuserになれない
 いろんな手順を見て回りましたが意外と書いてなかった


userを作成できたのでsamba用のパスワードを作成します

console
sudo smbpasswd -a <user名>

ここで設定したものがsamba用のuserとパスワードになります


viでsambaのconfigを開いたら以下を記載

.smbconf
[home_NAS]
    comment = Share
    path = /media/<user名>/<記憶媒体名>/<NASに使うフォルダ>
    public = yes
    read only = no
    browsable = yes
    force user = <samba用user名>

項目はこんな感じ

  • public
    • guest=yesと同じでguestアクセスを許可する(後でここは消す)
  • read only
    • 読み取りのみかどうかを設定する
  • browsable
    • ファイル検索を許可するかどうかを設定する
  • force user
    • 共有フォルダ内の作成するフォルダなどを強制的に設定したuserにする

コンフィグファイルを作成したら、sambaをリスタートです

console
sudo service smbd restart

ここまですれば他のPCから共有フォルダが見えるはずです
例ではWindowsのフォルダ欄に"\raspberrypi"でいれると出るとのことですが、
自分の環境では192.168.xxx.xxx(固定したIP)をぶち込むと認識しました

folder_added.PNG


でもここからがマグマなんです



【トラブルシューティング】

やった~構築おわり~じゃあ使いますか

network_error.png

アクセス許可できません

neko.png

ここからは私の環境で起きたエラーに対する戦いの記録になります
いろんな症状の人がいると思うので試したことを全部書いていきます


こちらをページを参考にするのもよいかもしれません


私のやったことは以下です

  • ping確認
    • ラズパイ⇔PCからのpingを確認ここで引っかかったら
      ネットワーク共有設定かファイヤーウォールを疑うといいかも
  • samba userの確認
    • userを作り直したりパスワードを変えたりするも改善せず
  • conf設定の確認
    • guest=yesやpublic=yesやcreate mode=xxxxなど試すも改善せず
  • sambaのrestart
    • 再起動での状況の改善せず
  • ファイアウォールの確認
    • そもそも私のラズパイではファイアウォールが設定されてなかった

こちらを参考にさせていただきましたhttps://scribble.washo3.com/win-samba-trouble

  • SMB1.0 クライアントを有効にする
    • 設定したが改善せず、セキュリティが低下するため元に戻す
  • ネットワークプロファイルをプライベートにする
    • 設定したが改善せず

こちらを参考にさせていただきましたhttps://qiita.com/loxsols/items/ecc7f757a543bd130c1a

  • 安全でないゲスト ログオンを有効にする
    • 設定したが改善せず、セキュリティが低下するため元に戻す





  • フォルダの権限の変更
    • 設定したが改善せず・・・?なぜか権限自体が変更できない
console
sudo chmod 777 /media/<user名>/<記憶媒体名>/<NASに使うフォルダ>
ls -l

>>drwxr--r-- 4 <user> <user> 1048576 11月 14 18:24 <NASに使うフォルダ>

??フル権限にしたのに反映されてない??


調べたところマウントされているデバイスはchmodでは変更されないみたい
なので変更すべくデバイスのマウントを外す

console
sudo umount /media/<user名>/<記憶媒体名>/<NASに使うフォルダ>

新たにマウント用のディレクトリを作る(必須ではないです)

console
sudo mkdir /media/NAS

デバイス名を調べる

console
sudo blkid
output
/dev/sdb2: LABEL="NAS_backup" UUID="4CE6-4A04" BLOCK_SIZE="512" TYPE="exfat" PARTLABEL="Basic data partition" PARTUUID="d90f98ad-5ac7-475c-ade4-ab3b86a86e02"
/dev/mmcblk0p1: LABEL_FATBOOT="bootfs" LABEL="bootfs" UUID="AAE0-77E1" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="de4a7c14-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="ca2be9ef-61a4-4400-a5a1-dc17d7ea790d" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="de4a7c14-02"
/dev/sda2: LABEL="NAS" UUID="2EC7-43AA" BLOCK_SIZE="512" TYPE="exfat" PARTLABEL="Basic data partition" PARTUUID="8bcdd2cf-3a45-4f07-affa-6f3d499f4f9d"
/dev/sdb1: PARTLABEL="Microsoft reserved partition" PARTUUID="99d6726a-26f5-4675-b9c4-eb8d89978df8

それっぽいやつ容量などで判断大体/dev/sdxみたいなやつ
今回は/dev/sda2だった

権限を設定してマウント

console
sudo mount -t exfat /dev/sda2 /media/NAS -o umask=000


アクセスできました
対戦ありがとうございました・・・・・



毎度マウント設定をするのは面倒なので以下設定をやっとくといいです
viで開いて末尾に追加

/etc/fstab
UUID = "<blkidで調べたUUID>" /media/NAS exfat defaults,umask=000 0 0

/media/NASは私の環境ですが、作成したディレクトリに合わせてください


設定をリロードしてオートマウントすれば・・・工事完了です

console
sudo systemctl daemon-reload
sudo mount -a


おわり

いやー構築出来てよかった

現状は認証情報なしでの運用になっているので
次では認証有にする記事を書こうと思います

しばらくはraspberry pi 5で遊びます!!!

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?