このコンテンツでは、Ubuntu Desktop 24.04を使ってファイル鯖を作る方法を要点を中心にざっくり解説していきます。
網羅的な詳しい解説ではなくて、重要なポイントやおすすめのソフトなど、最初に知っておきたいポイントを中心に解説していきます。
使いたいコマンドがあれば各自調べてみてください。
コンテンツの注意点【重要】
- このコンテンツは2025年2月に作成したものであり、今後より優れたソリューションが出てくるなどして情報が古くなる可能性があります。しかし情報の内容が古いことによる加筆修正はあまり行いません。
- くれぐれも自己責任でお願いします。今回の動画で話している内容などを試してみてデータが飛んだりうまくいかなかったりしても一切責任は取れません。
- (筆者はこの方法で問題なかったのですが、人によっては問題があるかもしれません。)
- 特に筆者はネットワークやセキュリティとかにあまり詳しいわけではないので、間違いや偏った情報を含む場合があります。
- また、当コンテンツでは自作ファイル鯖づくりの特に重要な点やつまづきやすいポイントなどについてを中心に紹介し、あまり重要でない点は省きます。
Ubuntu Desktopをファイル鯖におすすめしたい理由
なぜNAS向けOSでなくUbuntuか
Linuxディストリビューションには様々なものがあり、Ubuntuのようないろいろなことに使えるものから、OMVやTrueNASやUnraidのようなNASシステム向けのものまであります。
まずUnraidは海外では人気らしいですが、有料のOSとなっており最初に手を出すのはすこしむずかしい印象があります。また、Unraidは日本語の情報も少ないです。
残るNAS向けOSはOMVとTrueNASですが、個人的に使ってみた感想として、TrueNASのほうができることが多い印象があります。また、速度的にもTrueNASのほうが早い印象です。
それにTrueNASやOMVは日本語の情報が多いです。TrueNASはある方の情報をかなり参考にしていました。
OMVはあくまでもラズベリーパイなどSBCのような処理性能が低いデバイス向けという印象があります。
そこで残ったTrueNASとUbuntuとを比較しますが、Ubuntuのほうが、以下の点で優れている印象を受けます。
- 10G接続かつNVME SSDのNASにしたときのランダムアクセスの速度の速さ
- トラブル解決のための日本語の情報の豊富さ
- CasaOSやCockpitのような追加のツールを導入できること
- CasaOSを使えばアプリの豊富さと導入の簡単さをゲットできること
- Cockpitを使えばブラウザ上からGUIで管理できること
- (デスクトップとして使うこと前提とはいえ)最初からファイラーアプリが入っている
- デスクトップがあるので、NASとしてだけでなく、サブPCとしても使える
機能の多さや情報の多さなど、筆者を含めた初心者の方にもUbuntuのほうが導入しやすい印象です。
一方で、以下のような点ではTrueNASのほうが優れていると言えるでしょう。
- NASとしての機能の充実度
- RAID構築やSSDキャッシュ、NFS共有やTimemachien鯖などのNAS的な機能をより簡単に設定できる
個人的にUbuntu DesktopがServerよりもおすすめな理由
UbuntuにはDesktopとServerの2種類がありします。
Ubuntu ServerはGUIがない分、マシンリソースや脆弱性が少ないと言われています。
ただ、GUIがないと私含めた初心者の人には大変かと思ったので、今回はUbuntu Desktopを使用しています。
それに自作ファイル鯖は性能を盛りやすいので、GUIがついてることでマシンリソースが増えることは、マシンパワーでゴリ押して解決できます。
また、以下のようなポイントもUbuntu Desktopのメリットです。
- デスクトップがあるため、サブPCとしても使用可能。Firefoxのようなブラウザでブラウザで完結できる作業が可能なほか、Obsidianやdraw.ioのようなソフトウェアもインストール可能です。OBSやDiscord、Davinciなどもあるとか。
- FirefoxなどのブラウザでWebページから、Ctrl+CとCtrl+Shift+Vでをターミナルにコマンドコピペできます。
特にサブPCとしても使えることが結構便利で、PCの使い分けができるのでおすすめです。
UbuntuベースのサブPC&NASの完成図
では、完成図はこんな感じです。
- ハードウェアはお好み(筆者は提供いただいたあとめちゃくちゃ使っていることからMS-01がおすすめですが、その他にもミニPCや古いデスクトップマシンなどいろいろ使えます。)
- OSはUbuntu Desktop 24.04(サブPCとして使わないなどデスクトップがいらないのであればUbuntu Serverでもいいかと思います。また、個人的には24.04より22.04のほうがSMBの速度が安定していた印象です。)
- 追加のサービス①ファイル共有関連系→SMB、WSDD2、(必要に応じてAVAHIやNetatalk)、Syncthing、ZFS、iperf3、Nautilus-share
- 追加のサービス②管理系→CasaOS、Cockpit、RDP、Flatpak
- 追加のサービス③オヌヌメのDockerアプリ系→immchi、Nextcloud、Rustdesk、
- 追加のサービス④オヌヌメのデスクトップアプリ系→Firefox、Mission-center、Obsidian、VLC、
手順①ハードウェアの選定
ハードウェアの条件
正直なんでもいいです。古いデスクトップPCでも、余ったミニPCでも、悪くはないです。
特にミニPCはライセンスが怪しいからかWindowsを積んでいても値段が安いものがあり、そうしたものはWindowsを使うのでなければ狙い目です。
ただし、選定するのなら以下のポイントがあります。
ネットワーク
特に有線LANの速度です。ファイルサーバーはルーターやスイッチングハブに有線で接続して使うものだと考えていただければと思います。
無線機能が欲しければ、Wifiルーターなどにファイル鯖が有線で繋がっていればスマホやタブレットにも接続できます。
おすすめは10Gで接続できることですが、手持ちの機器や予算などに応じて、2.5Gなども検討されるといいかもしれません。
ちなみに最近ではUSB3.2 Gen2から5GBEに変換できるアダプタなども発売されています。また、10G NICも安価なものやM2 NVME SSDスロットからは痩せるものなども出ているので、興味があれば。
もちろん、用途次第では25GBE以上の高速な接続をしても悪くないと思います。
その他にUSB4やThunderboltでの接続もありますが、不安定だったり、状況が限定されたり、10Gのほうが安定していたりするので、個人的にはやりたくないです(?)が、興味があればやってみてもいいかもしれません。
ストレージ
ストレージ構成をどのようにするかということです。
3.5インチHDDは大容量かつ安価ですが、速度が出にくいという問題があります。
NVME SSDは高速かつ省電力ですが、高価という欠点があります。
おすすめの構成としては、多少高価ですが、NVME SSDにデータを保存して、それを定期的にHDDにバックアップを取るというのがおすすめです。
また、速度を求めないのであればSSDに頻繁にやり取りするデータを、HDDにあまりやり取りしないデータやMacのバックアップを保存するというのがおすすめです。
もちろん2.5GbEなどでそこまで速度を求めないなら、HDDのみという選択肢もありです。
ミニPCに3.5インチHDDを搭載できるものもなくはないですが、基本外付けのDASでHDDを接続することになると思います。
処理性能
CPU性能やメモリ容量どれくらいのものが必要になるかは人によって異なります。
以下のような場合にCPUが必要になります。
- 高速なネットワーク接続や高速なストレージの読み書きが必要になる
- 多くのアプリ、あるいは高負荷なアプリを動作させる場合
- GUIを使ったアプリ操作や仮想環境の操作などを行いたい場合
などなどなど。
また、ZFSを使う場合は結構メモリを消費する場合があるようです。
最低限N100ぐらいの性能はあるといいかもしれません。あるに越したことはないかと。
個人的な雑感ですが、10GならPassmark10000ぐらい?
その他のポイント
- 常時、とはいかない場合でも長時間稼働させておくものなので、消費電力や動作音は許容できるレベルかどうか
- 置いておくものだが、置き場所は取れるかどうか
- 場合によってはグラボを積めるかどうか
いくつか構成を考えてみました。HDDやDASなどは別途用意してください
- 松(おすすめ)→Minisforum MS-01や、10G NIC+タワー型PC(本体7万ぐらい)
- 竹→Passmark 1万ー2万のミニPC(5万ぐらい)
- 梅(おすすめ)→N100などのAlder Lake NやTwin Lake NあたりのエントリーCPUを積んだマシン(2.5Gや外付けでの5G接続)(2万ぐらい)
手順②インストールメディアの作成とインストール
- UbuntuのISOをUSBメモリや外付けSSDなどに書き込んで、ハードウェアに差し込んで、USBブートします。
- ブート用のUSBメモリは外付けSSDなどでも大丈夫です。なお、ブート用のデータを書き込んだりするともともとメモリに入っていたデータは消えるのでよしなに。
インストールメディア作成におすすめなのがVentoy
ここで皆さんに紹介しておきたいのが、Ventoyです。
通常のインストールメディアは特別なことをしなければ1つのOSしか書き込めません。
しかし、Ventoyの場合はVentoyを書き込んだ上にWindowsやUbuntuやTrueNASなどのISOを置くことで、さまざまなOSのブートドライブにすることができます。同時にです。
さらに、ISOだけでなく画像や動画といったファイルも保存できてしまいます。
特にいろいろなOSを試してみたい方や、ブートOSを作成する作業を単純化したい方におすすめです。
ほかは特にない?
強いて言うなら、Ubuntuをインストールするとハードウェアにもともと入っていたデータは消えるので、注意しましょう。
初回インストール時に、
- 追加のドライバーをバンバンぶち込んでいきましょう。
- フォーマットはEXT4かBrtfsあたりが高速?
手順③ 初回起動
やっておくといいことなど
- IPアドレス固定
例えば多くの場合こうする→
IPアドレス→192.168.x.y
サブネットマスク→255.255.255.0
ゲートウェイ及びDNS→192.168.x.1
※多くの場合、DNSとゲートウェイはルーターのIPアドレスを使います。また、xの部分はゲートウェイとIPアドレスとで共通のはずです。
必要なアプリの確認など
- 端末→各種設定やソフトのインストールにほぼ必須。ちなみに上キーを押すと過去の履歴に遡れる。また、コピーとペーストはCtrl+Shift+CとCtrl+Shift+Vです。
- Firefoxなどブラウザ→わからないことがあったら調べるのに使います。また、コマンドをWebページからコピペするのにも使います。ほぼ必須。
- テキストエディット(メモ帳的なやつ)やファイル(正式名称はNautilus、エクスプローラーやFinder的なやつ)や設定アプリなども使います。
管理アプリ、CockpitやRDP等の紹介
CockpitはUbuntuなどで使える管理ツールの一つで、おもに以下のような機能があります。
- ターミナル機能
- ファイルの確認やテキストエディット機能ができるファイラーアプリ(拡張機能)
- 仮想環境機能
- ソフトウェアの更新
- ネットワーク設定
なので、あるととても便利です。
また、Ubuntu 24.04ではリモートデスクトップ機能がデフォルトであり、他のPCから操作可能です。
CockpitやRDPなどを使うことで、ヘッドレス運用も可能になっています。
CockpitやRDPを導入することで、別のPCから簡単に操作できるので、初期設定を効率化可能です。
↓ここからは手順がバラバラでも大丈夫です。
手順④A SMB共有とTimemachine鯖の設定など
ファイルの共有に使われるプロトコルなどは様々なものがあります。
よく使われるのがSMBですが、FTPやNFSやiSCSIなど様々なものがあります。
ただ、様々なデバイスで使えて、現在でも開発がされていて、さらに様々な用途で使えるので、SMBだけ覚えておけばとりあえずは問題ないのではと思います。
Ubuntu 24.04でもSMBをGUIで設定する方法
Nautilus Shareを導入することで、Ubuntu 22.04同様にGUIでのSMB接続が可能になります。
SMBの詳しい設定とかは省きますが、基本の流れとして、
- 任意のフォルダ(例えばhome/ユーザー名/任意のフォルダ)などに共有を設定
- そしてWindowsなどからアクセスする
という流れですが、そこでSMBをインストールしたり、SMBのユーザーを設定したりといろいろやる必要がありますが、省略します。
Windowsエクスプローラーからファイル鯖を認識する方法。
Windowsエクスプローラーからファイル鯖を認識する方法は2種類です。
- エクスプローラーに¥¥ファイル鯖IPアドレス¥と打ち込む
- wsdd2をUbuntu鯖にインストールし、起動させてから、エクスプローラーから見る。
そしてアクセスし、SMBのユーザー名とパスワードを入力してアクセスします。
ちなみに、現在Windows11 24H2バージョンでは新しいNASやファイル鯖にSMBでアクセスができない不具合があります。その対処法などもネットに出ているので、それも調べてください。
SMBでTimemachineを取る方法
TimemachineはMacのバックアップの一つです。
一般的にはNetatalkを使いますが、etc/samba/smb.confファイルにこのような文章を追記することでもTimemachineを取ることができます。
SMBのチューニングについて
SMBを高速化する場合です。
SMBのチューニングをいかのように行っています。
手順はetc/smb.confに追記を行ってから、sudo systemctl restart smbdです。
環境によっても最適な数値は異なるので、何度か試してみるといいかもしれません。
aio read size = 16384 #非同期読み込み
aio write size = 16384 #非同期書き込み
socket options = IPTOS_LOWDELAY TCP_NODELAY LANでしか接続しない場合これか。おすすめ
min receivefile size = 16384 おすすめ
getwd cache = yes
block size = 4096
write cache size = 524288
read raw = yes 不要かも?
write raw = yes 不要かも?
また、Windowsのデバイスマネージャーの調整なんかも行うといいかもしれません。特にInterrupt Moderation RateをLowにすると早くなりやすいかと。
補足、スピードの測定ツール
SMBの速度などを測定する場合一般的にCrystalDiskmarkがおすすめですが、以下のようなツールもおすすめです。
- Blackmagic Disk Speedtest
- iperf3(非推奨らしいですが、簡単な設定で接続速度を測定可能です。)
- Attodiskmark(オススメ)
手順⑤C前 各種便利アプリのインストール【アプリストア系と各アプリ】
CasaOSのインストール
CasaOSを使うことで、簡単にDockerを使ってアプリをインストール可能になります。
さらに更新なども簡単なので、ぜひ。
CasaOSでインストール可能なアプリ
いくつかおすすめを掲載します。
- immich
- nextcloud
- FreshRSS
- Rust Desk
その他おすすめのデスクトップアプリ
- Firefox→ブラウザアプリ、コマンドのコピペや動画視聴など、色々できます
- Mission Center→GPU使用率表示などにも対応したシステムモニターアプリ
- Obsidian→マークダウンノートアプリ、同期機能も充実
- VLC→動画視聴ソフト
Missison Center
Mission Centerは、Ubuntuなどで使えるシステムモニターです。
あとがき
参考になれば幸いです。