0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ラズベリーパイ4Bでファイルサーバー作ってみた。

Last updated at Posted at 2024-10-26

背景

メインPCで作業していたものを、ラズベリーパイ、ノートPC、スマホで閲覧したいけどファイル転送が面倒に感じてきました。

常時稼働のファイルサーバーを作ります。

完成イメージ

IMG20241026084343.jpg

image.png

各機器からAPへは無線接続でインターネットにつなぐ。
ラズパイファイルサーバーとメインPCはイーサネットケーブルでつなぐ。メインPCからファイルサーバーへデータを転送して、ファイルサーバーに入ったデータをノートPCやスマホで閲覧する構造です。

ファイルサーバーメインPC間をイーサネットで繋いでいるのは転送速度を最大1Gbpsにするためです。

手順

用意するものを買う
ラズパイセットアップ
ラズパイ&メインPCのIPアドレス設定
ラズパイファイルサーバーにSSDをマウントする
ラズパイファイルサーバーをRAID1構成にする。
ファイル転送速度のテスト

完了

用意するもの

ラズベリーパイ4B
ラズベリーパイ電源
ラズベリーパイ モニタ接続用HDMI
ラズベリーパイ OSインストール用マイクロSD
LANケーブル cat6
SSD1TB 2.5インチ 2個
SSDケース 2.5インチ 2個入るやつ
SATA3からUSBに変換するやつ。
※ファイル転送速度は最大1Gbpsになる予定です。

ラズパイセットアップ

セットアップ
https://qiita.com/arisaEN/items/476399577755da1fcd86
IP固定
https://qiita.com/arisaEN/items/78caa649b89a4eb9f92b

メインPCとラズパイ4Bをイーサネットで繋ぐ

LANケーブルで物理的につなぐ

ラズパイ4Bのイーサネットインターフェース(eh0)に対して固定IPアドレスを割り当てる

https://qiita.com/arisaEN/items/78caa649b89a4eb9f92b
これ参考にしてet0 イーサネットの方に固定IPアドレスを設定する。
IPアドレス 192.168.0.101
サブネット 255.255.255.0
GW 192.168.0.1
DNS 8.8.8.8

メインPCのほうにも割当

**「設定」**を開きます。

「ネットワークとインターネット」→ **「アダプターのオプションを変更する」**をクリックします。

イーサネットアダプターを右クリックし、**「プロパティ」**を選択します。

**「インターネット プロトコル バージョン4 (TCP/IPv4)」をクリックして、「プロパティ」**を選択します。

**「次のIPアドレスを使う」**を選択し、以下を入力します:

IPアドレス: 192.168.0.151
サブネットマスク: 255.255.255.0
デフォルトゲートウェイ: 設定なし ※インターネットと接続しないときはデフォルトゲートウェイ設定なし
優先DNSサーバー: 8.8.8.8

pingコマンド飛ばして応答ありなら接続できてる。

ping 192.168.1.101
ping 192.168.1.151

成功した写真
image.png

RAID 1の設定

RAID1では2台のディスクが同じデータを保持します。ディスクが壊れた場合でもデータの保護が可能です。

2TBのディスクを接続

RAIDを構成するためのmdadm、ファイル共有のためのSambaをインストールします。

sudo apt update
sudo apt install mdadm samba

★写真

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

Continue creating array? に対して、yesと答えればOK↓

image.png

RAIDの状態を確認

cat /proc/mdstat
arisa4@raspberrypi:~ $ cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdb[1] sda[0]
      976630464 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  1.5% (15134400/976630464) finish=81.1min speed=197508K/sec
      bitmap: 8/8 pages [32KB], 65536KB chunk

unused devices: <none>

現在、RAID 1のアレイが正常に稼働しており、/dev/md0で再同期(resync)が進行中です。同期は1.5%完了しており、約81.1分で終了する見込みです。再同期中でもRAIDは利用可能ですが、同期が完全に終わるまでパフォーマンスが低下する可能性があります。

arisa4@raspberrypi:~ $ cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdb[1] sda[0]
      976630464 blocks super 1.2 [2/2] [UU]
      bitmap: 0/8 pages [0KB], 65536KB chunk

unused devices: <none>
arisa4@raspberrypi:~ $ 

このメッセージでRAID完了

ファイルシステムの作成

sudo mkfs.ext4 /dev/md0

マウントポイントの設定

sudo mkdir /mnt/raid1
sudo mount /dev/md0 /mnt/raid1

自動マウントのために/etc/fstabファイルを編集します。

sudo nano /etc/fstab

以下の行を追加します。

/dev/md0 /mnt/raid1 ext4 defaults,nofail 0 2

読取 追加 削除 編集 可能なアカウントを作成

sambaを設定して他デバイスからraidを見れるようにする。

参考

sudo smbpasswd -a arisa4
pw:admin 

読取のみ可能なアカウントの作成

sudo adduser readuser
pw: readonly
フルネーム:readuser

sambaユーザーに追加

sudo smbpasswd -a readuser
pw:readonly

image.png

色々聞かれるけど全部EnterでスキップでOK

sambaファイルの編集

sudo nano /etc/samba/smb.conf
[RAID1]
   path = /mnt/raid1
   browseable = yes
   guest ok = no
   # アクセスを許可するユーザーを指定
   valid users = arisa4, readuser
   # readuserは読み取り専用
   write list = arisa4
   read list = readuser
   # arisa4はフルアクセス
   force user = arisa4
   create mask = 0777
   directory mask = 0777
   read only = no

valid users = arisa4, readuser: この共有フォルダーにアクセスできるユーザーを arisa4 と readuser に制限します。
write list = arisa4: arisa4 には書き込み権限(読み取り・書き込み・削除・追加)を与えます。
read list = readuser: readuser には読み取り専用のアクセスを許可します。
force user = arisa4: すべてのファイルの作成者がarisa4として扱われるため、arisa4にフルアクセスを確保します。
create mask = 0777, directory mask = 0777: ファイルとディレクトリのパーミッションを指定し、arisa4がフルアクセスできるように設定します。

samba再起動

sudo systemctl restart smbd

arisa4 が既存のファイルやディレクトリにもフルアクセスできるように、必要に応じて権限を設定します。

sudo chown -R arisa4:arisa4 /mnt/raid1
sudo chmod -R 0777 /mnt/raid1

windowsからアクセスしてみる

アクセス先
\192.168.0.101\RAID1

image.png

image.png

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?