拡張可能な 4TB のNASサーバをほぼ2万で
秋月電子 でRaspberryPi4 4GB 届いたので既存の NAS サーバ(12V-3A)で立ててたサーバが、5V 4A という若干の低電力化を狙って…というか前のNAS(ネットワークストレージ)が ACER の e-machines で流石に古すぎて限界近かったから…
ちなみに、購入は 秋月電子 か スイッチサイエンス から買ってください。
というのも、Amazon は初期不良とかあると色々不便だけど、秋月電子などの専門店なら問い合わせ保証しやすいので、電子工作機器ならこういうところの方が何かあったときのために便利です。(まして首都圏なら秋葉行けば直接やり取りもできるしね…)
使ったのはほぼほぼコレ。
NAS サーバ自体は 1 万円で済んでます。
- ラズパイ4スターターキット 4GB版: マイコン関連 秋月電子通商-電子部品・ネット通販 : 10,000 円
外部 HD はバルクHD 探せば 6T 1万で用意できるけど、今回は昔から使ってる外部HDを利用。
なので 3T だけど
で足して2万。
ただし前提として、USBのマウス/キーボード+HDMIディスプレイは持ってるものと仮定します。(セットアップに使ったらそのあとは使いません)
ラズパイセットアップ:OS インストール
まず真っ先にやるのが Raspberry pi の OS インストール。
公式サイト から、Raspberry Pi Imager を自分の PC にインストールします。
起動するとこんな感じ
OS 指定して
このまま SD カード選択して、
インストール。
これだけ。
起動
セットアップウィザード
っても、SDカード差して、キーボード・マウス挿して、ディスプレイ挿したあとで電源ケーブルを挿すだけ。
ラズパイに電源スイッチとかないので、電源接続=起動です。
こういうときにしれっと役立つのがモバイルディスプレイで、自分はコレ使ってます。
もともと外部で勉強会に持って行く用だったのですがコロナでは…lllorz
ASUS MB16AHP モバイルモニター モバイルディスプレイ 薄さ9mm・軽量860g、USB/HDMIで簡単接続 15.6インチ フルHD IPS バッテリー内蔵
- 発売日: 2019/09/20
- メディア: Personal Computers
ちなみに、これは micro HDMI 接続で、ラズパイ4 が MicroHDMI です。
Micro - Micro ケーブルは中々手に入らないので、事前にこんなのも買っておきました
ELECOM タブレットPC用HDMI変換アダプタ HDMI-micro端子 TB-HDADBK
- 発売日: 2012/07/20
- メディア: Personal Computers
で、セットアップに戻りますが、最終的に ssh でしか扱わないので、日本語にして文字化けされるととっても面倒。
よってセットアップ時は、ロケールを日本語に指定はするものの、英語を使用するように設定しましょう。
セットアップ時に「 Use English language」のチェックボックスが出たら迷わずチェックして進みましょう。
Wifi は使いたければどうぞ。
その他セットアップ
セットアップができたら、ラズパイのアイコンから、「Configuration > Raspberry Pi Configuration」を指定して起動し、SSH を有効化します。
ついでに インターフェースを CLI にしてしまいましょう。
どうせそろそろお役御免です。
ここまでやったら、Terminal を起動して
ifconfig
を実行し、IP/MAC をメモします。
要するに SSH 先と、IP 固定用の MAC アドレスですね。
ローカルのIPアドレスを固定
これはルータ設定で行います。
ルータの種類によって設定方法が違いますので、ざっくりです。
ちなみに自分は BUFFALO で、「詳細設定」から「LAN > DHCPリース」から設定しました。
ここでは仮に、192.168.11.2 とでもしたとします。
ここまでやったら
sudo reboot
でしれっと再起動。
NAS 化の道
ディスクの用意
外部HDをぶっさすとLinux内部にログが残る。
因みにUSBディスクはかなり古い奴なので紹介なし。
$ dmesg $ dmesg [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.4.51-v7l+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1333 SMP Mon Aug 10 16:51:40 BST 2020 [ 0.000000] CPU: ARMv7 Processor [410fd083] revision 3 (ARMv7), cr=30c5383d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache [ 0.000000] OF: fdt: Machine model: Raspberry Pi 4 Model B Rev 1.2 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] Reserved memory: created CMA memory pool at 0x000000001ec00000, size 256 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] On node 0 totalpages: 1012736 ...中略 [ 9.090856] scsi 0:0:0:0: Direct-Access Hitachi HDS723030ALA640 MKAO PQ: 0 ANSI: 5 [ 9.125766] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 9.139537] sd 0:0:0:0: [sda] 732566624 4096-byte logical blocks: (3.00 TB/2.73 TiB) [ 9.143212] sd 0:0:0:0: [sda] Write Protect is off [ 9.143235] sd 0:0:0:0: [sda] Mode Sense: 28 00 00 00 [ 9.144028] sd 0:0:0:0: [sda] No Caching mode page found [ 9.144045] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 9.199839] sda: sda1 ...以下略
sda
として認識したらしい。
以前から NAS として使っていたので、パーティションが残っているご様子。
これを機にクリーンにしちゃうかー(と Windows で内容をバックアップ。Ext2Fsd Project を使うとWindowsからext3のドライブが読み込める)
パーティション切りなおすかな
$ sudo fdisk /dev/sda pi@raspberrypi:~ $ sudo fdisk /dev/sda Welcome to fdisk (util-linux 2.33.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): m Help: DOS (MBR) a toggle a bootable flag b edit nested BSD disklabel c toggle the dos compatibility flag ...中略
パーティション情報の確認
Command (m for help): p Disk /dev/sda: 2.7 TiB, 3000592891904 bytes, 732566624 sectors Disk model: HDS723030ALA640 Units: sectors of 1 * 4096 = 4096 bytes Sector size (logical/physical): 4096 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x46a914da Device Boot Start End Sectors Size Id Type /dev/sda1 63 732563999 732563937 2.7T 83 Linux
変える必要なさそうなんだよなぁ(汗
まぁ練習がてら消すか
Command (m for help): d Selected partition 1 Partition 1 has been deleted. 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): First sector (256-732566623, default 256): Last sector, +/-sectors or +/-size{K,M,G,T,P} (256-732566623, default 732566623): Created a new partition 1 of type 'Primary' and of size 2.7 TiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
ということで、削除→新規→保存 を実行。
まぁBootパーティション作るわけでもないしね。
で、フォーマット
$ sudo mkfs.ext4 /dev/sda1 mke2fs 1.44.5 (15-Dec-2018) Found a dos partition table in /dev/sda1 Proceed anyway? (y,N) y Creating filesystem with 732566368 4k blocks and 183148544 inodes Filesystem UUID: 3c17655a-88a1-473d-b8cc-27b679af558b Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done
openmediavaultのインストール
NAS 化するだけなら、SMB インストールして終了なのだけど、openmediavault なるものが流行りなのでやってみた。
ただし、そのままインストールするわけにもいかないらしい…がそこは他人の力を借りる。
便利便利
$ curl -sSL https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
ポーンとコピペして 30 分位放置。
で、インストール後に IP アドレスたたくと
デフォルトアカウントは admin/openmediavault なので、これでログイン。
とりあえずユーザの設定、Linux ユーザが基本で列挙されているので、好きにするといいよ。
というかここからユーザ管理できるとかかなり楽になりましたね…
SMB をインストール
この時点で、すでに接続はできる
ディスクを認識させて
パーティションを認識させます。
一応ここでマウントしてしまいましょう。
共有フォルダを作成して
SMB の共有に設定
この時点で
わーい
因みに速度ですが R:35MB/s W:29MB/s な感じで、(古いストレージでUSB2.0なのでその辺がボトルネックになってるのかも)動画を再生したりに不自由ないレベルです。
放熱についても、手で持ってほんのりあったかい程度。NAS程度なら 40度位で済んでるっぽいので、ヒートシンクもいらない感じです。
電力は 5V3A = 15W と 電球より低いぜ ひゃっほう!