ラズパイ3b+

ラズパイ+USBメモリでNASをつくる準備を開始

データベースの勉強も初めたので、使っていないラズパイ3でNASを作って見ようと考えた

スポンサーリンク

 

昔、IoTをやろうと勉強で使っていたラズパイ3が余っているので、再びデータベースの勉強で使おうと考えた。

 

小さくても専用のサーバーになるので、せっかくだから余っているUSBメモリを使ってNASにできるようにも考えてみた。

 

普通のおじさんがNASを構築するための、最初の部分のUSBメモリをフォーマットして起動後に自動的にマウントする部分までをまずやってみたよ。

 

 

 

 

USBをマウントするのは簡単だが書き込みできなかった

ラズパイ

結論はオーナーとグループを変えないと使えない

アクセス権の変更が必要な事を見落としやすいから注意

 

 

 

USBメモリを使えるようにするまで

まず手持ちのUSBメモリを、ラズパイ3でNASとして使えるように設定をする。

 

その前に、NASって知っていますか?

 

ウィキペディアで見てみると

NASは、保護されたリソースへの安全なアクセスのためのゲートウェイである。これはたとえば、電話回線からプリンターへ、あるいはインターネットへのゲートウェイである。

クライアントがNASに接続すると、NASはそのクライアントが背後にあるリソースにアクセスするための権限を持っているかを問いただす。クライアントの答えによっては保護されたリソースにアクセスできないこともある。ただし、その判断をするのはリソース側のシステムであって、NASは単に中継しているだけである。したがってNAS自体はこの認証プロセスがどのように処理されているのかを知らない。

引用:ウィキペディア

 

ネットワーク・アクセス・サーバーの事で、今回はUSBメモリーを取り付けることで、ラズパイ3をファイルサーバーとして使おうという試みです。

 

何故こんな事をするかというと、自宅内でいろんな所からアクセスしてもデータは一箇所に保管できれば、非常に便利だから。

 

市販品を買えばいいじゃないと、思うかもしれませんが、全て余っているもので作ることと、Linux自体を学ぶこともできるので、やはり実践をするためにも自分で作ったほうが良いでしょう。

 

USBメモリの搭載位置を確認

まずはラズパイ3のUSBポートに挿入したUSBメモリが何処に搭載されているかをdfコマンドを使って確認する。

$ df 

fdコマンド

 

dfコマンドを実行させると、実際に使用しているラズパイ3上で、どこに搭載されているかが簡単に分かる。

 

この場合、/dev/sda1となっている部分がUSBメモリに当たる。

 

そうしたら、現在ラズパイ3に接続されている、この/dev/sda1を一旦接続を解除してフォーマットを実行しなければならない。

 

まずは、接続解除のためのumountコマンドを実行し、接続を解除する。

 

sudo umount /dev/sda1

この時、sudoとはroot特権を入手するためのコマンドになる。

 

USBメモリの接続が解除されたら、次はUSBメモリをフォーマットする。

 

USBメモリをフォーマットする

USBメモリをフォーマットするには、fdiskコマンドを使用するが、ここで注意しなければいけないのは、実際の名称は/dev/sda1だが、fdiskで使う場合は/dev/sdaになることに注意!

 

sudo fdisk /dev/sda

fdisk

fdiskを実行すると、Commandモードでいろいろと聞いてくる。

まずはdコマンドでパーテーションを削除

Command (m for help): d
Selected partition 1
Partition 1 has been deleted
1つのパーテーションを見つけて削除したと返ってきます

Command (m for help): n
Partition type
 p   primary (0 primary, 0 extended, 4 free)
 e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-236222463, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-236222463, default 236222463): 
Created a new partition 1 of type ‘Linux’ and of size 112.7 GiB.
Partition #1 contains a exfat signature.
新規にパーテーションを作成、パーテーションタイプはプライマリーを選択肢、以降はデフォルトで問題ないのでエンターを押す。最後にCreated a new partitionで完了

Do you want to remove the signature? [Y]es/[N]o: Y

The signature will be removed by a write command.
その後は、以前のフォーマットのsignatureを削除するか聞いてくるので、Yで完了。

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
最後にパーテーション情報を書き込んで完了。

 

次に、mkfsコマンドで実際のフォーマットを実施する。この時、フォーマット書式はext4となる。

$ sudo mkfs.ext4 /dev/sda1

format

Writing superblocks and filesystem accounting information: done で完了となる。

 

この後、

sudo mount /dev/sda1 /mnt/usb0

とコマンドを打つことで、今回フォーマットしたUSBメモリは/mnt/usb0にマウントされて使用可能になる。

 

事前に、mkdir /mnt/usb0として、マウント用のDIRを作成しておくことを忘れないように。

 

 

 

 

 

USBメモリの自動マウントを設定する

今までの内容で、USBメモリがNASのファイルサーバーとして使用する準備ができました。

 

しかし、このままではラズパイ3を再起動する度に、USBメモリを再マウントしなければなりません。

 

そうしなくても良いように、再起動時に自動的にマウントするように設定を書き換えます。

 

ラズパイはLinuxで動作しておりますので、Linuxで最初の起動時に読み込むディスク情報に、/mnt/usb0の情報を書き込めば、再起動時に自動的に読み込むことになります。

 

最初にUSBメモリ情報を調べる

自動起動させるためには、USBメモリ情報を調べる必要がありますので、blkidコマンドでUSBメモリ情報をチェックします。

 

$ sudo blkid /dev/sda1

blkid

このUSB情報の中で、UUID=”8916ae76-790b-400d-9e3c-2a112b22680f” の情報を使用します。

 

このUUID=”8916ae76-790b-400d-9e3c-2a112b22680f”を、ディスク情報に書き込むのです。

 

ディスク情報の書き換え

実際に使用するディスク情報は、/etc/fstabというファイルになります。

 

今回は、viというエディターを使用してディスク情報を追加します。

fstab

/dev/mmcblk0p7 の後ろに以下の内容を記述します。

UUID="8916ae76-790b-400d-9e3c-2a112b22680f"     /mnt/usb0       ext4    defaults,noatime,nofail 0       0

nofailを書き忘れると、USBメモリが刺さってなかった場合、ラズパイが起動できなくなりますので、忘れずに書いてください。

 

これで完了と思うでしょうが、実はこのままでは落とし穴が有り、NASへの書き込みができないのです。

 

 

 

 

USBメモリのアクセス権限を変更

実は今マウントしているUSBメモリは、権限の関係で見ることはできても、書き込みはできない状態なんです。

 

$ ls -al というコマンドを打つこむと

オーナー

となります。一番下のusb0を見ると分かるのですが、このDIRはオーナーがroot、グループもroot、しかもアクセス権は、実行と読み込みしか与えられておりません。

 

左側にあるdwxr-xr-xというのがアクセス権を表しており、root意外のユーザーはr-xと言うことで、rの読み込み専用と、xの実行の権限しかありません。

 

ここで、r-xにwを追加しても、オーナーがrootなのでこれを一般的なpiに変更する必要があります。

 

最後に、以下のコマンドを打ち込み、オーナー、グループの変更と、アクセス権の変更を与えます。

プライベートアドレスで、家庭内で使用するだけなので全てのアクセス権を与えます。

 

$ sudo chown -R pi /mnt/usb0 オーナーをpiに変更する

$ sudo chgrp -R pi /mnt/usb0 グループをpiに変更する

$ chmod 777 /mnt/usb0 アクセス権をフルアクセスに変更する

 

以上を実行したことにより、以下のように変更になりました。

drwxr-xr-x 3 root root 4096   → drwxrwxrwx 3 pi pi 4096 

 

これで、USBメモリをファイルサーバーにする準備ができました。次回は、ファイルサーバーのインストールです。

 

お疲れさまでした。

 

ABOUT ME
じぇいかわさき
進撃の社畜/弱小プロブロガー 本ブログは、還暦で定年の世代の筆者が、まだまだやれるという事を証明するために新たな事に挑戦した事を情報発信しているブログです。同世代の人達に対して、まだまだいろいろと頑張れる、第二の人生を楽しく生きていく為に現状維持は退化、失敗の反対は行動しないことを座右の銘とし、思い立ったことにチャレンジした記録です。また、せっかく稼いだ収益を騙し取られないように、毎日来る迷惑メールなどのネットリテラシーについても情報発信をしています。 このブログは ネットリテラシー ブログ 働くこと について書いており、第二の人生で頑張る同世代の心に刺さる記事を目指してます。人生100年、まだまだがんばれます。 >> Twitterをフォローする