ミニPC「Beelink Mini S12 Pro」に外付けSSDを増設する。Linuxサーバでも外付けSSDはすんなりインストールできた。
我が家ではミニPC「Beelink Mini S12 Pro」が自宅内のLinuxサーバとして稼働している。
ミニPC「Beelink Mini S12 Pro」をLinuxサーバとして使用中
稼働している主なサービスは、プライベートクラウドストレージのNextcloudと、写真や動画を管理するPhotoPrismだ。
CPUにIntel N100を採用し、メモリを16GB搭載した本機は、Linuxサーバとしてはとても快適に稼動するスペックを有していて、1年以上使っているけどパフォーマンス上の問題を感じることはない。
あえていうと、内蔵SSDが500GBであり、Nextcloudなどのファイルサーバとして使用するにはかなり心もとないことくらいだ。
そこで、この度、SSDの容量アップを企てることにした。
ミニPCのSSD増強策
ミニPCのSSDを増やすにあたって、以下の3択を考えた。
- 内蔵SSDをもっと容量の大きいものに換装する
- 2.5インチSSDを増設する
- 外付けSSDを増設する
1. 内蔵SSDをもっと容量の大きいものに換装する
まず、内蔵SSDを換装する方法だが、増設後は一番シンプル (というか、構成としては現状維持)な形になる。
その反面、色々と手間はかかる。
まず、本体を開けて既存のSSDを取り出すとか、新しいSSDを差し込むとかいうハードウェア的な処置が必要になる。
それから、SSDに新しくLinuxをインストールし直すか、既存のSSDの中身をごっそりコピーするなどし、Linuxサーバとして稼働できるようにしてやる必要がある。
動き出してしまえば安定的なんだろうけど、若干、そこまでの仕込みが面倒な気がしてしまった。
2. 2.5インチSSDを増設する
次に考えたのが、2.5インチSSDの増設だ。
Beelink Mini S12 Proは本体内に2.5インチSSDを増設するポートとスペースがあるから、箱を開ける必要はあるが、すんなり増設することはできそうだ。
データとOSを物理的に分けることができるし、もしかしたら構成上は一番いいのかもしれない。
あえて気になったのが、今更2.5インチSSD買うのか~?とか、2.5インチSSDはSATA接続になるよね、といったところ。
これで2.5インチSSDが妙に安いとかならまだよかったんだけど、今主流のM.2タイプのNVMeとほぼ価格差はない。
要は、大して早くもないし、それでいて安くもないし、そして今後の使い道として微妙なSSDを買うことになる。
構成的には一番よさそうだったんだけど、それだったら外付けSSDケースは持っているから、値段は大して変わらず、それでいて遥かに高速で、そして、今後の使い道のあるM.2タイプを買ったほうがマシかと。
そして、M.2タイプ買うなら、内蔵SSDと換装したらよくね?→「1. 内蔵SSDをもっと容量の大きいものに換装する」に戻る・・・とか考え出すと面倒くさくなってきた。
3. 外付けSSDを増設する
最終的に落ち着いたのが外付けSSDを増設することだった。
外付けだから箱を開けたりする必要もなく、USBケーブルを差すだけで簡単に増設できる。
あえていうと、外付けするとミニPC本体の外に何やら生えている状態になるわけで、微妙にダサい。まあ、微妙にダサくても、押入れの中に置いておくだけだし、ほとんど見ることもないわけで、これは問題にならない。
また、Beelink Mini S12 ProはUSB 3.2 Gen 2に対応しているから、SATAの2.5インチSSDを増設するより早いんじゃないかと期待できる。
この中ではSSDの耐久性が一番気になる案なんだけど・・・ミニPC本体からして24時間365日稼働するような設計じゃないだろうから、今更感がある。
最悪、ミニPCが動かなくなっても、外付けSSDとしては普通に使えるだろうから、データが取り出せる安心感はある。なんならまた別のところでも使えるし。潰しが効くと思われる。
KIOXIA EXCERIA PLUS ポータブルSSD (SSD-PKP1.0U3-B/N)でSSDを増設しよう!
そんなわけで、外付けSSDを買っちゃいました!KIOXIA EXCERIA PLUS ポータブルSSD (SSD-PKP1.0U3-B/N)。
こんな手のひらサイズのSSDで1TBとか一気に増やせるから、便利である。1.3万円くらいした。
本製品は最大読込速度と最大書込速度が1,000MB/s超えと、高速伝送がウリだ。素晴らしい。今回の構成だと、どうせそんな速度は出ないけど。
写真を撮ったら、早速、Beelink Mini S12 Proに接続してやるとしよう。
さて、ここで繰り返すが、Beelink Mini S12 ProはLinuxサーバだ。Ubuntu Linuxが稼働している。だから、ここからはLinuxで外付けSSDを使えるように設定していく必要がある。また、モニタなんか接続してなくて、普段からSSHでリモートログインして、CUIで操作しているものである。
そんな状態で、外付けSSDとして使えるようにしてやる必要がある。いや、まあ、難しそうならモニタを接続して、GUIでチョイナチョイナとやってもいいんだけど。
結論から言うと、全部CUIで操作してうまくいった。常設SSDとして使えるようになった。
外付けSSDが認識されているか確認
まずは、外付けSSDが認識されているか確認する。
やり方は色々あるだろうけど、私はひとまず dmesg でログを確認してみた。
すると、 /dev/sda として認識されていることが確認できた。
あれ?sda?と思ったんだけど、Beelink Mini S12 Proの内蔵SSDはNVMeとして認識されているから (/dev/nvme0n1p)、このUSB接続されたSSDが1台目のドライブという扱いになったのだろう。
パーティションを切り直す
外付けSSDが認識されているのが確認できたから、続いてパーティションを確認する。
おなじみの? fdisk で様子を見るとしよう。こんなコマンドで。
# fdisk /dev/sda
fdiskを実行したら、コマンドpで今の状態を見てみると、Windows用に用意されているっぽい記述があった。
このままでも使える気がするけど、Linux環境で使うのだから、Linuxで扱いやすい形にしてやるとしよう。
dコマンドでパーティションを削除して、nコマンドで新しくパーティションを作る。細かくパーティションを分ける必要はないから、1つに全振りだ。
wコマンドでパーティション情報を書き込む。何か警告が出てた気もするけど大丈夫だろう。
フォーマットする
パーティションを切り直したら、フォーマットする。
Linuxだといろいろなフォーマットが使えるんだけど、Ubuntu標準のext4でいいだろう。
# mkfs.ext4 /dev/sda
これでドライブとして使う準備はできた。
マウントする
ここまできたら、あとはファイルシステムにマウントするだけ。
ひとまず /mnt にでも付けてみる。
# mount /dev/sda /mnt
すんなりマウントできた。これで /mnt 以下が外付けSSDの領域となった。
なお、フォーマットしたばかりだと権限がrootになっているから、ユーザの持ち物に変更してやる。
# chown user:group /mnt
これで普段使いのユーザで外付けSSDに書き込むことができるようになった。
あとは再起動しても自動的にマウントしてくれるように /etc/fstab を編集しておく。
その前に、最近ではUUIDを使ってマウントするのが主流のようだから、外付けSSDのUUIDを調べておく。
# blkid /dev/sda
/dev/sda: UUID="XXXXXXXXXXXXXXXXXXXXXX" BLOCK_SIZE="4096" TYPE="ext4"
このUUIDをコピーしておいて、/etc/fstabの編集に使う。
# vi /etc/fstab
--- 末尾に追加 ---
UUID=XXXXXXXXXXXXXXXXXXXXXX /some/mount/point ext4 defaults 0 0
これで再起動しても自動的にマウントしてくれるよう設定できた。実際に再起動し、問題ないことを確認した。
再起動後、ちゃんとマウントされているかは df コマンドで確かめたりしよう。
$ df -h
Filesystem Size Used Avail Use% Mounted on
----- いろいろある
/dev/sda 916G 146G 724G 17% /some/mount/point
----- いろいろある
/dev/sda が /some/mount/point にマウントされている。これで準備万端である。
ちなみに、Linuxであるがゆえに、外付けSSDであろうが既存のディレクトリ構成に組み込むことができるから、サーバ類の設定は全く変えることなくシステムに組み込むことができた。
Sambaでファイル共有しつつ、PhotoPrismで写真や動画を閲覧できるようにしていたディレクトリに、外付けSSDを直接マウントしてやった。それで普通に動いているからうまくいったのだろう。
おまけ: 速度計測
外付けSSDをLinuxサーバに組み込んだので、せっかくだからどのくらいの速度が出ているのかを計測してみようと思う。ほら、一応、高速伝送がウリの外付けSSDを導入したんだし。
速度計測をするときは dd が使える。1GBのゼロ値書き込みで測る。
$ dd if=/dev/zero of=/some/mount/point/tmp/tempfile bs=1M count=1024 conv=fdatasync
1024+0 レコード入力
1024+0 レコード出力
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.60556 s, 669 MB/s
なるほど、669MB/s出ているのか。スペック最大の1,000MB/sは出なくても、十分早いだろう。SATAだったら600MB/sで頭打ちだし。うんうん。
ついでに、いい機会だから内蔵SSDもチェックしてみるか。
$ dd if=/dev/zero of=/home/xxxxx/tmp/tempfile bs=1M count=1024 conv=fdatasync
1024+0 レコード入力
1024+0 レコード出力
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.78868 s, 600 MB/s
あれ?600MB/s?
え??外付けSSDの方が早いのかよ!
という驚きの結果になったのだった。
USB 3.2 Gen 2恐るべし。
おわりに
ミニPC「Beelink Mini S12 Pro」の内蔵SSDが500GBと心もとなかったので、外付けSSD「KIOXIA EXCERIA PLUS ポータブルSSD (SSD-PKP1.0U3-B/N)」を使って1TB増設した。USB接続するだけで簡単に容量アップできた。
SSDを容量アップさせる方法はいくつか考えられたけど、手っ取り早い方法を使ってみた感じだ。この辺は用途や価値観によっていろいろなやり方があるだろう。
私としては、手軽に増設できて、後々の使い道もありそうだったからこのやり方を採用した。見た目がダサいとか、耐久性の不安とかはあるけど、それらは優先度が低かった。
また、Beelink Mini S12 ProはLinuxサーバとして稼働しているものだから、WindowsのようにUSBに差せばすぐわかるようなものではなかったが、だからといってそんなに苦労することもなかった。Linuxで操作してもすんなり使えるようになった。
想定外だったのが、外付けSSDの方が内蔵SSDより早そう、という結果になったことだ。なんとも面白い。やってみるもんだ。
あとは、この構成でしばらく使ってみて、耐久性など確認していくとしよう。