💽

OpenMediaVaultで構築したNASをUbuntu PCにマウントする

2025/01/14に公開

サーバーの設定

Raspberry Piでの設定

https://zenn.dev/ats030/articles/install-openmediavault-on-raspberrypi-os

Rcloneによるマウント設定

OpenMediaVaultのマウントをCLIで実行するにはRcloneを使用するのが良さそうです。

Rcloneのインストール

https://zenn.dev/ats030/articles/install-rclone-on-ubuntu

RcloneにOpenMediaVaultを登録する

以下のコマンドでRcloneにOpenMediaVaultのリポジトリを登録します。

rclone config

以後、以下のように設定していきます。

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q>

nを入力して、新しい接続先を設定します。

Enter name for new remote.
name>

openmediavaultを新しい接続先名に設定します。

Choose a number from below, or type in your own value.
...
35 / SMB / CIFS
   \ (smb)
...
Storage>

接続先のストレージとしてSMB / CIFSを選択します。今回は35を入力しました。

Option host.
SMB server hostname to connect to.
E.g. "example.com".
Enter a value.
host>

<OpenMediaVaultサーバーのIPアドレス>を入力します。

Option user.
SMB username.
Enter a string value. Press Enter for the default (<ユーザー名>).
user>

空欄のままEnterを入力します。

Option port.
SMB port number.
Enter a signed integer. Press Enter for the default (445).
port>

空欄のままEnterを入力します。

Option pass.
SMB password.
Choose an alternative below. Press Enter for the default (n).
y) Yes, type in my own password
g) Generate random password
n) No, leave this optional password blank (default)
y/g/n>

yと入力します。

Enter the password:
password:
Confirm the password:
password:

<パスワード>を2回入力します。

Option domain.
Domain name for NTLM authentication.
Enter a string value. Press Enter for the default (<グループ名>).
domain>

空欄のままEnterを入力します。

Edit advanced config?
y) Yes
n) No (default)
y/n>

空欄のままEnterを入力します。

Configuration complete.
Options:
- type: sub
- host: <OpenMediaVaultサーバーのIPアドレス>
- pass: *** ENCRYPTED ***
Keep this "openmediavault" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d>

問題なければ、空欄のままEnterを入力します。

Current remotes:

Name                 Type
====                 ====
openmediavault       smb

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>

qを入力して環境から出ます。

Rcloneのテスト

「ファイル」→「他の場所」で、「サーバーアドレスを入力...」に以下を入力してEnter

smb://<OpenMediaVaultサーバーのIPアドレス>/<共有フォルダ名>

以下のコマンドで、RcloudからOpenMediaVaultの情報を取得してみます。

rclone lsd openmediavault:

OpenMediaVaultのホームディレクトリ内のディレクトリの一覧が表示されれば、登録は正しく行われています。

OpenMediaVaultのマウントテスト

~/OpenMediaVault/ディレクトリを作って、そこにRcloneのmountコマンドでpCloudをマウントするようにします。

sudo mkdir ~/OpenMediaVault/
sudo chmod +x ~/OpenMediaVault/
sudo chown <ユーザー名>:<グループ名> ~/OpenMediaVault/
rclone mount openmediavault: ~/OpenMediaVault/ --daemon --cache-dir ~/.local/var/rclone/ --vfs-cache-mode full

~/OpenMediaVault/ディレクトリを開くと、RcloneによってOpenMediaVaultにアクセスできるようになっていることが確認できます。

/usr/sbin/内のmountコマンドは、-t FSTYPEオプション毎に/bin/mount.FSTYPEが呼び出されるようになっています。 そこで、rcloneについて、以下のシンボリックリンクを張ることで、 mountコマンドでrcloneを呼び出すことが出来るようになります。

sudo rm -r /sbin/mount.rclone
sudo ln -s /usr/bin/rclone /sbin/mount.rclone

シンボリックリンクが貼れたら、mountコマンドでマウントしてみます。

mount openmediavault: ~/OpenMediaVault/ -t rclone -o cache-dir="/home/<ユーザー名>/.local/var/rclone/",vfs-cache-mode=full

以上の様に、rclone mountコマンドは、 mountコマンドで置き換える事ができるようになりました。 つまり、システムは、mountコマンドを使って、 他のファイルシステムと同様にOpenMediaVaultをマウント出来るようになったということです。

systemdによる自動マウント設定

Ubuntu起動時にmountコマンドが実行されてOpenMediaVaultがマウントされるようにするため、systemdを使用します。

systemdとは

https://systemd.io/

systemdは、Linuxシステムの起動と管理を担うソフトウェアです。従来のinitシステムに代わり、高速な起動や柔軟なプロセス管理を実現し、多くの主要Linuxディストリビューションで採用されています。systemdは「ユニット」と呼ばれる単位でサービスを管理し、設定ファイルを通じて統一的なシステム管理を可能にします。

systemdのユニットファイル

systemdでは、各設定の単位を「ユニット」と呼ぶことになっています。ユーザー用のユニットファイルは、~/.config/systemd/user/ディレクトリ以下に配置します。

ユニットファイルは、そのファイル名がマウントポイントのパスを表します。今回の例では「/home/<ユーザー名>/OpenMediaVault/」がマウントポイントになります。そのため、ユニットファイルを以下のようなコマンドで作成して編集します。

sudo nano ~/.config/systemd/user/home-<ユーザー名>-OpenMediaVault.mount

このファイルの中身は以下の内容を入力します。

[Unit]
After=network-online.target
[Mount]
Type=rclone
What=openmediavault:
Where=/home/<ユーザー名>/OpenMediaVault/
Options=vfs-cache-mode=full,cache-dir=/home/<ユーザー名>/.local/var/rclone/
[Install]
WantedBy=default.target

systemdのユニットの起動と終了のテスト

手動でのユニットの起動は、systemctlコマンドで行います。

systemctl --user start /home/<ユーザー名>/OpenMediaVault/

また、手動でのユニットの終了は以下のコマンドで行います。

systemctl --user stop /home/<ユーザー名>/OpenMediaVault/

ユニットの自動起動

Ubuntu起動時に自動でマウントしてくれるようにするため、以下のコマンドを実行しておきます。

systemctl --user enable home-<ユーザー名>-OpenMediaVault.mount

その後、以下のコマンドでUbuntuを再起動します。

sudo reboot

再起動後、OpenMediaVaultが~/OpenMediaVault/フォルダに自動でマウントされているはずです。

ユニットの実行状況の確認と停止

また、ユニットの状況については、systemctl statusコマンドで確認できます。

systemctl --user status /home/<ユーザー名>/OpenMediaVault/

自動マウントを停止したい場合は、systemctl disableコマンドを使用します。

systemctl --user disable home-<ユーザー名>-OpenMediaVault.mount
GitHubで編集を提案

Discussion