ラズパイ3に外付けHDDでNAS 構築
ラズパイZeroW で動画撮影できるようになったけど
容量が足りないため
NAS へ保存することに
ただ、NASは高いため
ラズパイ3と外付けHDDで構築
今回使用したのは昔購入した外付けHDDがあったので
これを活用
今回は
Raspberry Pi 3 に Samba 4.2 をインストール
を参考に実践
すでに過去にインストールなどは済ませてあるので
ssh で接続
ssh pi@192.168.1.208
というように
pi@ラズパイのIPアドレスで接続
なお、パスワードは変更済みだけど
デフォルトのパスワードは
raspberry
ここからは root ユーザで実行するので
sudo su
で root ユーザに切り替え
apt-get update
でリポジトリ更新
apt-get -y upgrade
でソフトのアップデート
次にSamba のインストール
apt-get -y install samba
次に外付けHDDの設定
とはいっても
デバイスがどのパスになっているのかは
それぞれの環境により異なるので
ラズパイ3 外付けhdd
で検索し
Raspberry Pi 3 ModelB で外付けHDDをファイルサーバー化する
を参考に
fdisk -l
で
Device Boot Start End Sectors Size Id Type /dev/sda1 63 1953520064 1953520002 931.5G 83 Linux
と表示されるので
/dev/sda1 にあることを確認
次に再起動時に自動マウントさせるために
UUIDを調べたいので
blkid /dev/sda1
でUUIDを確認
今回の結果は
/dev/sda1: LABEL="outhdd" UUID="3c00b165-8ba1-481d-8f0d-372b8bbbcb66" TYPE="ext4" PARTUUID="c675b7b1-01"
なお blkid コマンドについては
【 blkid 】コマンド――ブロックデバイスの属性を表示する
を参考に
次にext4 形式でフォーマットするので
もともと書き込まれていたファイルシステムの情報を削除
使用するコマンドは wipefs コマンド
ファイルシステム関連コマンドについては
ファイルシステムの痕跡(メタデータ)をクリアする方法あれこれ(wipefsほか)
を参考に
wipefs -a /dev/sda1
を実行したものの
wipefs: error: /dev/sda: probing initialization failed: デバイスもしくはリソースがビジー状態です
となってしまう
このため
df
でマウント位置の確認
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 /dev/root 26651708 11079260 14195580 44% / devtmpfs 468084 0 468084 0% /dev tmpfs 472692 4 472688 1% /dev/shm tmpfs 472692 12472 460220 3% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 472692 0 472692 0% /sys/fs/cgroup /dev/mmcblk0p6 66528 22541 43988 34% /boot tmpfs 94536 0 94536 0% /run/user/1000 /dev/sda1 961301000 820207676 92238940 90% /media/pi/outhdd /dev/mmcblk0p5 30701 398 28010 2% /media/pi/SETTINGS
/media/pi/outhdd
にマウントされているようなので
を参考に
umount コマンドでアンマウント
umount -f /media/pi/outhdd/
そして再度
wipefs -a /dev/sda1
とすると成功
次にパーティションの新規作成
fdisk に関しては
fdisk でパーティションのサイズを変更する
を参考に
fdisk /dev/sda1
を実行すると
Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0xe590c949.
となるので
n を入力し Enter
Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p):
となるので、そのままEnter
Partition number (1-4, default 1):
となるので、これも Enter
First sector (2048-1953520001, default 2048):
も Enter
Last sector, +sectors or +size{K,M,G,T,P} (2048-1953520001, default 1953520001):
もEnter
これで
Created a new partition 1 of type 'Linux' and of size 931.5 GiB. Command (m for help):
とでたら
p を入力するとパーティーション情報が表示される
今回は
Disk /dev/sda1: 931.5 GiB, 1000202241024 bytes, 1953520002 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xe590c949 Device Boot Start End Sectors Size Id Type /dev/sda1p1 2048 1953520001 1953517954 931.5G 83 Linux Command (m for help):
これで設定反映のため
w とすると
The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: 無効な引数です The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
となってしまう
エラーメッセージから検索したところ
37.3. パーティションの作成と削除
https://www.turbolinux.co.jp/products/server/11s/user_guide/partition.html
によれば再起動が必要とのこと
再起動前にフォーマットやマウントをしておきたいので
mkfs.ext4 /dev/sda1
を実行
Found a dos partition table in /dev/sda1 Proceed anyway? (y,N)
となるので y を入力
次に外付けHDDのマウント先を作成し
マウント
mkdir /mnt/hdd mount /dev/sda1 /mnt/hdd/
外付けHDDを ext4 でフォーマットしているので
blkid /dev/sda1
で確認
結果
/dev/sda1: UUID="96cc41c9-808c-4851-83f5-53bdfa487787" TYPE="ext4" PARTUUID="c675b7b1-01"
となっているので
nano /etc/fstab
で設定ファイルを開き
最終行に
UUID="96cc41c9-808c-4851-83f5-53bdfa487787" /mnt/usb1 ext4 defaults 0 0
を追記
あとは設定反映のため再起動するので
reboot
を実行
これで
df
を実行し
マウントされていればOK
今回だと
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 /dev/root 26651708 11079248 14195592 44% / devtmpfs 468084 0 468084 0% /dev tmpfs 472692 4 472688 1% /dev/shm tmpfs 472692 12452 460240 3% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 472692 0 472692 0% /sys/fs/cgroup /dev/mmcblk0p6 66528 22541 43988 34% /boot /dev/sda1 960379088 77852 911446852 1% /mnt/hdd tmpfs 94536 0 94536 0% /run/user/1000
というかんじ
次に samba 用フォルダ作成
mkdir /mnt/hdd/share mkdir /mnt/hdd/share/family chmod -R 777 /mnt/hdd/share/
次に設定ファイルの編集
ここからは使い慣れた vim で編集していきます
vim /etc/samba/smb.conf
で設定ファイルを開き
/global で検索し
25行目あたりに
dos charset = CP932 unix charset = UTF-8 guest account = pi
を追加
なお、vim の場合 ctrl + shift + v で貼り付けが可能
そして
shift + g で最終行に移動し
[ファミリー] path = /mnt/hdd/share/family writable = yes guest ok = yes guest only = yes create mode = 0777 directory mode = 0777
として保存
これで
service smbd restart
でSamba の再起動をすることでファイル共有が可能に
Ubuntu 16.04 の場合
エクスプローラで
ネットワークをクリックすると
RASPBERRYPI
と表示されるので
これを
クリックして今回設定したフォルダをクリックすると
ユーザ認証になるので
ユーザ名 pi
パスワード ラズパイ3のパスワード
とすることでログインしてファイル共有することが可能になります