け い ざ ん の D I Y 工 房

◆Home
◆住まいの D I Y
◆パソコン D I Y
◆ROBOT D I Y
◆電子工作 D I Y
◆Science

●Raspberry Pi NASを作る

 2021.03.15

ネットワーク接続形記憶装置 NAS(Network Attached Storage) を作ります。
USBメモリや SDメモリに入れている画像や動画や文書を1ヶ所に
まとめてしまえば、煩雑さから解放されます。
市販のNAS は、記憶媒体には3.5inch HDDを使用するタイプが
大半であり形も大きく場所を取る。
Raspberry Pi ですから場所もとらず小さくて、使用した感じも内部Disk と
変わらない感覚で使用できるのでこれは便利です。
家中の、どのパソコンからでもアクセスできるので、
共有File と容量の大きなFile はできるだけNASに入れる様にしました。


NASと接続できる端末
NAS ⇔ Windows10
  

NAS ⇔ Android Tablet

NAS ⇔ iPad・iPhone

NAS ⇔ ChromeBook

Network Drive の割付をすれば、
内部Disk と同等に読み書きできる。

File Manager で開くと読み書きできる。

File Explorer で開くと読み書きできる。

My File を開き Drive の割付をすれば
内部Disk と同等に読み書きできる。

Network Disk ですから高度な事をしようとすると無理がありますが、
端末のMemory 不足を気にしなくてよくなりこれは便利。


 NAS の構成材料
iNAS comp


 NASの外観
iNAS View




目 次
目次を開く 1. NASの機器仕様

2. Open Media Vault を使用してみて

3. SAMBA Server
 3.1 Raspbian OS install
  ・OS DownLoad
  ・SD Card に RasPi OS 書き込み
 3.2 初期設定
  1. System Options
   ・Wireless LAN
   ・Password
  3. Interface Options
   ・SSH
  5. Localisation Options
   ・Locale
   ・Timezone
   ・WLAN Country
  8. Update
 3.3 SAMBA App install
  ・Install
  ・smb.conf設定
  ・HDDをmount
  ・起動時の自動Mount
  ・起動時の mount がうまくいかない時
 3.4 user 設定
  ・User登録
  ・group設定
  ・Folderの所有権設定
 3.5 SD Card 寿命を延ばす

4. パソコンからVNC接続

1. NAS 機器仕様

 ・ Hard Ware
 ・ CPU
 ・ Memory
 ・ Storage
 ・ SD CARD
 ・ O S



 ・ App
 ・ python
 ・ WiFi 規格
 ・ Bluetooth
 ・ 寸法 W×H×D
 ・ 電 源
Raspberry Pi 4B
Broadcom BCM2711 1.5Ghz 4Core
4GB
HDD HGST 1TB 7200rpm
Micro SD 64GB (OS install)
Linux Raspbian  GNU/Linux 10 (buster)
Ver. 5.10.17-v7l+  armv7l  32bit
  ↓
Ver. 6.1.61-v8+  aarch64  64bit (2023.12.03)
SAMBA Server
Ver. 3.12.0
802.11 a/g/n/ac
Bluetooth 5.0
85×56×17 (mm)
+5v 3A


2. Open Media Vaultを使用してみて

  Freeで使用できるNAS用SOFTに、Open Media Vaultがあります。
  GUIで全て設定できると解説しているので、NASを作るのが
  初めての人には簡単に構築できてよいかもしれません。
  しかし、種々の問題が出てくる割りには得られるメリットがGUIしかない。

  (1) Open Media Vaultをinstallすると出る問題
  ・WiFiが切れてつながらなくなる。
  ・DHCPに設定した固定IP Addressが解除されてしまう。
  ・固定IP Addressが変わるので、SSH がつながらなくなる。
   これはOpen Media Vaultが /etc配下のFolderやFileを
   消してしまうので発生します。
   Open Media Vaultを立上げてこれらの項目を設定すれば、
   解決する話ですが知らないと大混乱する。
  (2) Diskの登録をしてPartitionをを設定して使用できる状態に
   してもなぜか解除されてしまう。
  (3) 安定しない。
  ・これが一番困る。設定を詳細に調べて調整していけば、
   安定稼働が行えるかもしれないが誰もができる事ではない。
  ・InterNetの情報では1年で使用できなくなると書いてあった。
   Programの更新が行われた時に、最初から設定の見直しをしなければ、
   いけないという手間がかかるという事の様です。
   すでにDiskにDataが入った状態になっている時に、初期設定と同じ様な事を
   しなければいけない事態になった場合は、これは影響が大きすぎる。

   残念ながら、Open Media Vaultを使用する事をあきらめました。


3. SAMBA Server

 Linuxで標準的に使用されているAppですから、InterNetに情報がたくさんあり
 何ら問題なく5年以上稼働できます。

 3.1 Raspbian OS install

 ・OS DownLoad
  Raspbian OS の Download は RaspberryPi の本家からまず Windows用の
  RaspberryPi Imager Tool を入手します。
  DownLoad Site → RaspberryPi OS

RaspiOS


 ・SD Card に RasPi OS 書き込み
  DownLoad した RaspberryPi Imager_1.6.1.exe を起動すると、
  C Drive に Imager が install されますので rpi-imager.exe を Click

Raspi imager


  Operating System は samba が必要なだけで他の GUI Programなどは不要
  なので RaspberryPi OS (other) → RaspberryPi OS Lite(32bit)を
  選択します。
  Storage は USB 変換器に差した SD Card Drive を選択します。
  右端の Write をクリックすれば RasberryPi OS の install が始まります。

 3.2 初期設定

  ここからは、Raspberry Pi 用に keyBoard と Display が必要になります。
  Raspberry Pi に、作成した SD Card を Set して電源を入れて起動したら
  Default の ID と Password を入力します。
  ID    : pi
  Password: raspberry
cui


  まず raspi-config を起動して WiFi や Password や SSH の設定を行います。
  $ sudo raspi-config     #Raspi 設定File 起動

 1 System Options
  (1) Wireless LAN
   WiFi「SSID」と「Password」を設定して Internet に接続します。
   System Options
Raspi-conf


   1 System Options → S1 Wireless LAN
WiFi-set


   WiFi の SSID を入力します。
WiFi-set


   WiFi の Password を入力します。
WiFi-set


  (2) Password
   login Password は Default のままでは危険ですから、自分の Password に
   書き換えを行います。
   S3 Password
WiFi-set

   Password を打ち込んでもカーソルは動きませんが入力されています。
   Password は2回入力します。



 3 Interface Options
  (1) SSH
   Windows パソコンなどから Login 出来る様に SSH を ON に設定します。
   3 Interface Options → P2 SSH
WiFi-set


   P2 SSH
WiFi-set


   SSH Enable
WiFi-set


 5 Localisation Options
  (1) Locale
   Locale で地域と使用言語、使用するコードの設定を行います。
   5 Local Options → L1 Locale
UTF8-set


   L1 Locale
UTF8-set


   表の中から「ja_JP,UTF8」にカーソルを進めて、空白key を押すと
   *印がついて選択されますので Enter 。
   ja_JP UTF8 選択
UTF8-set


   表示されたmenu からja_JP UTF8 を選択して OK を Click。
   ja_JP UTF8 選択
UTF8-set


  (2) Timezone
  「Asia」を選択した後→「Tokyo」を選択します。
   5 Local Options → L2 Time-zone
Asia-set


   L2 Time-Zone
Tokyo-set


   Asia を選択
Tokyo-set


   Time zone Tokyo 選択
Tokyo-set


  (3) WLAN Country
   WiFiを使用する国「JP japan」を選択します。
   この設定を入れないと WiFi がつながりません。
   5 Local Options → L4 WLAN Country
WiFi-set


   L4 WLAN Country
WiFi-set


   JP Japan 選択
WiFi-set


 8 Update
   Raspberry Pi OS が最新 Version になる様にUpdate をしておきます。
   8 Update
WiFi-set


  ここまで設定すると一旦再起動して、今度はWindows パソコンから
  SSHで接続します。
  Windows パソコンから接続するための RaspberryPi の IP Address は、
  Raspberry Pi に Login して ifconfig を keyin すれば確認できます。
 $ ifconfig




 3.3 SAMBA App install

  (1) install
   $ sudo apt-get update
   $ sudo apt-get upgrade
   $ sudo apt-get install samba
   samba の install が始まります。

   install が終わったら status の確認をします。
   $ sudo systemctl status smbd
   $ sudo systemctl status nmbd
   いずれも Active になっていれば可。

  (2) smb.conf の設定
   $ cd /etc/samba
   $ sudo nano smb.conf
   以下の設定を追加します。

   [global]
   client max protocol = SMB3 → ないとWin Explorerに表示されない
   client min protocol = SMB3 → ないとWin Explorerに表示されない
   interfaces = 192.168.1.0/24 wlan0  #4カラム目は 0 にする。
   map to guest = Bad User
   [public]
   browseable = yes
   comment = samba server
   create mask = 0775
   directory mask = 0775
   force group = family
   force user = pi
   guest ok = yes
   path = /home/public
   read only = No
   valid users = @family

  (3) HDD を mount
   HDD を mount する Directory を/home に作ります。
   $ cd /home
   $ mkdir public

  (4) Diskの確認
   Diskの確認 Commandで名称・状態の確認を行います。
   表示されたら mountする Diskの名前をメモしておきます。
   $ sudo fdisk -l
     Disk /dev/sda
     Device /dev/sda1

   Diskの mount
   $ sudo mount /dev/sda1 /home/public
   
   mountされたか確認
   $ df -h
   
   /dev/sda1が /home/publicに mountされていれば OK

  (5) 起動時の自動mount
   HDDの UUIDを表示させる。
   $ blkid
   

   HDD の UUID を表示させ Memo しておく。

   $ sudo blkid /dev/sda1
    /dev/sda1: UUID="2cd1ee2a-e090-4aec-b6f1-3fe3733da861" TYPE="ext4" PARTUUID="73ca9aae-5111-4f14-97f4-ccc5022dee6f"

   再起動した後も mount させるために UUID を fstab に書き込みします。

   $ cd /etc
   $ sudo nano fstab
    UUID=2cd1ee2a-e090-4aec-b6f1-3fe3733da861 /home/piblic ext4 default 0 1

   fstab の UUID では、" " を省いて記入します。
   設定が終わったら再起動して mount されているか確認します。
   $ sudo reboot
    再起動
   $ cd /home/public
   $ df -Th

mount

   /home/public に /dev/sda1 が mount されていれば OK です。
   fstab の記述を間違うと、立ち上げができなくなるので注意が必要です。

  (6) 起動時の mount がうまくいかない時
   これは起動時に mount が rc.local より先に実行されることにより発生する
   現象です。
   InterNet では、色々な解決方法が公開されていますが、かなり複雑で面倒。
   この方法は、下記の command を1回実行するだけで解決します。
   $ sudo systemctl enable systemd-networkd-wait-online

   これで mount は network がつながった後まで待たされます。


 3.4 User 設定

  (1) User 登録
   samba にユーザー追加を行います。
   $ sudo useradd pi
   $ sudo pdbedit -a pi     #samba に pi を登録
   $ sudo pdbedit -L      #登録の確認

  (2) group 登録
   samba に group を登録して pi を group に追加します。
   $ sudo groupadd family      #family 追加
   $ sudo usermod -aG family pi    #family に pi を追加

  (3) Folder の所有権設定
   folder の所有権の変更
   $ sudo chown -hR pi:family /home/public
   $ sudo chmod 775 /home/public

 3.5 SD Cardの寿命を延ばす

 SD Cardは、HDDなどに比べると寿命が短かいので、最初に壊れてしまいます。
 SD Cardの寿命を延ばす方法には種々のやり方があります。

 SD Cardの寿命を延ばす方法
  1. 容量の大きな SD Cardを使用する。
  2. SD Card上のスワップ領域を無効にする。
  3. log 出力を減らす。
  4. log fileの作成場所を RAM領域に変更する。

 1は 現状では 64GBの SD Cardを使用しているので良しとするか。
 2は SD Card上のスワップ領域はほとんど使用していないのでそのまま。
  スワップ領域を頻繁に使用する様な大きな処理が出てきた時に設定します。
 3は、まず最初にやるのはいらない log を減らす事。
  $ cd /etc
  $ sudo nano rsyslog.conf

  SAMBAで使用していない mailや Newsや debugなどは
  コメントアウトします
  少なくとも故障時の解析に必要なsyslogは残しておきます。
  他の解析用 logは、今まで使用してみて、役立った事がないものばかりなので
  すべてコメントアウトします。

 まずは、これだけ。
 これで、まだ寿命が短い様であればやることを増やしてみます。



 参考にした site
  SD Cardの寿命を延ばす ⇒ RaspberryPiのSD Cardが壊れた


 4. パソコンからVNC接続

 パソコンからVNCで接続する。

 VNC接続する場合はこちら → パソコンからRaspberryPiにVNC接続する


----------------------------------------------------------------------------------------------------------------------------
・けいざん美術館
・Blog 油絵もろもろ
・EXCEL VBAであくせく
・けいざんの食べログ


                 Site Designed by Kasio Keizan