概要
OpenMediaVault(OMV)をラズパイ上で使用しています。低コストで運用できるので重宝しています。ただ、USBポートが少なかったり、SATA USB変換アダプターを2つしか持っていなかったりするので、結構な頻度でストレージを繋ぎ変えます。
マウント/アンマウント、共有フォルダの作成/削除とその反映実行の操作手順によってはエラーになってしまいます。
ここに備忘録として手順をまとめます。
環境
- Raspberry Pi 4 Model B Rev 1.5
- Raspberry Pi OS Lite (64-bit) (リリース日: 2024-07-04、Debian GNU/Linux 12.6 (bookworm))
マウントと共有操作手順
ストレージ(HDD/SSD)をマウントし、SMB/CIFSでフォルダーを共有します
- (1) ストレージをUSB接続
- (2) OMVへブラウザからアクセスしログイン
- (3) 左メニューより、ストレージ > ファイルシステム
- 該当のデバイスを「マウント」
- ▶️マーク押下でマウント詳細画面から設定
- 「ファイルシステム」を選択し「保存」押下
- 該当のデバイスを「マウント」
- (4) 画面上部の「保留中の構成変更」を「適用」
- モーダルが表示されるので「はい」を押下
- (完了すると、サーバ上のマウントポイント
/srv/ストレージのUUID/
が作成される)
- (5) 左メニューより、ストレージ > 共有フォルダ
- 作成ボタン(「+」マークアイコン)押下で共有ファオルダ詳細画面が表示される
- 「名前」を適当に入力
- 「ファイルシステム」に(3)でマウントしたファイルシステムを選択
- 「相対パス」に共有したいディレクトリを選択
- 「保存」押下
- ※「保留中の構成変更」が表示されるが無視で良い
- (6) 左メニューより、サービス > SMB/CIFS > 共有
- 「Shared folder」に(3)で設定した共有フォルダを選択
- 「保存」押下
- (7) 画面上部の「保留中の構成変更」を「適用」
- モーダルが表示されるので「はい」を押下
SMB/CIFSで指定フォルダーが共有されているので、WindowsであればエクスプローラにUNCパス(\\サーバIP\
)入力、macOSであればFinderから「移動」>「サーバへ接続...」からパス入力(smb://サーバIP
)。
接続できない場合
SMB/CIFS設定
- 左メニュー > SMB/CIFS > 設定
- 一番上部の「有効」にチェックが入っていることを確認
ユーザ設定
ユーザ設定がおかしい場合があるので下記メニューより確認する。
- 左メニュー > ユーザー > ユーザー
- 「名前」が想定したユーザ名となっていることを確認
- 「編集」押下で、パスワードを入力し直す
共有削除とアンマウント操作手順
- (1) サービス > SMB/CIFS > 共有
- 該当の共有フォルダを「削除」(ゴミ箱のアイコン押下>モーダルで「はい」押下)
- ※「保留中の構成変更」が表示されるが無視で良い
- (2) ストレージ > 共有フォルダ
- 該当のフォルダを「削除」(ゴミ箱のアイコン押下>モーダルで「はい」押下)
- (3) 画面上部の「保留中の構成変更」を「適用」
- モーダルが表示されるので「はい」を押下
- (4) ストレージ > ファイルシステム
- 該当のデバイスを「アンマウント」(停止のアイコン押下>モーダルで「はい」押下)
- 「保留中の構成変更」を「適用」
- モーダルが表示されるので「はい」を押下
- (サーバ上のマウントポイント
/srv/ストレージのUUID/
が削除される)
- (5) ストレージを取り外す
削除・案マウントできない場合
device is busyエラーが出力される場合
下記状況のどれかだった。
- 誰かがSMB/CIFS等でフォルダーを閲覧中
- ssh等でマウントディレクトリにcdしている
- マウントディレクトリは
/srv/dev-disk-by-uuid-11111111-2222-3333-4444-ffffffffffff
のようなディレクトリにマウントされています。
- マウントディレクトリは
OMVと実際の状態が乖離してしまった場合
OMVの状態とサーバの状態が異なっており、どのような各操作をしてもエラーになる状況に陥ってしまう時があります。例えば、ストレージをマウント・共有しっぱなしでサーバをリブートした、サーバ電源落とした後でストレージを取り外したなどがあります。その場合は、OMVの設定ファイル(xml)を手で編集します。
簡単な手順
OMVにてマウント・共有を行っていたすべてのストレージを取り外し、OMV設定ファイルを編集します。下記xmlのエントリをすべて削除します。
sudo xmlstarlet ed --inplace \
-d "/config/system/fstab/mntent" \
-d "/config/system/shares/sharedfolder" \
-d "/config/services/smb/shares/share" \
"/etc/openmediavault/config.xml"
各操作で、OMV設定ファイルにどのような変化があるか
マウント時の各操作にて、設定ファイルにどのようなデータが追記されているのかを確認しました。xml解析ツールxmlstarlet
を使用します。
# xmlstarletのコマンド
# -t output is text
# -c print copy of XPATH expression
xmlstarlet -t -c 'XPATH' target.xml
omv_conf=/etc/openmediavault/config.xml
# (3) `/config/system/fstab/mntent`が追記される
sudo cat $omv_conf | xmlstarlet sel -t -c '/config/system/fstab/mntent'
# (5) '/config/system/shares/sharedfolder'が追記される
sudo cat $omv_conf | xmlstarlet sel -t -c '/config/system/shares/sharedfolder'
# (6) '/config/services/smb/shares/share'が追記される
sudo cat $omv_conf | xmlstarlet sel -t -c '/config/services/smb/shares/share'