XigmaNASの設定XMLで無理やりマウントポイントを指定する

XigmaNASの設定XMLファイルを書き換えて、無理やりマウントポイントの設定を行っちゃおうっていう、完全なるバッドノウハウ記事。

WebGUIの「ディスク > マウントポイント > マネージメント」で追加しろよって話なんだが、XigmaNAS 12.1.0.4 (Ingva/revision 7743)ではバグってるようで、マウント対象のディスクに何も表示されないのよ…。

過去のバージョンで設定したものは問題のバージョンに更新後も正常に動いている。となれば、どうにか設定を流し込んで永続化できれば動くハズ。で、苦肉の策で思いついたのが、設定のバックアップ&リストアを使えば行けるんじゃね?っていう。

試してみたら上手くできたので、記録として残しておく。

1. XigmaNASのWebGUIの「システム > 設定のバックアップ」から設定XMLを書き出す。

2. 設定XMLのmounts要素の中にマウントポイント情報を書く。

	<mounts>
		<mount>
			<uuid>fe8974cf-548c-4aa9-91bf-80bb542cf153</uuid>
			<type>disk</type>
			<mdisk>/dev/da0</mdisk>
			<partition>p4</partition>
			<fstype>ufs</fstype>
			<gpt type="bool">1</gpt>
			<rawuuid>781bae78-8c56-11e7-b005-000c29de16ba</rawuuid>
			<devicespecialfile>/dev/ufsid/59a4be63ab3efa3e</devicespecialfile>
			<fsck type="bool">1</fsck>
			<sharename>sys</sharename>
			<desc>usb</desc>
			<accessrestrictions>
				<owner>root</owner>
				<group>wheel</group>
				<mode>0777</mode>
			</accessrestrictions>
		</mount>
	</mounts>
タグ 意味 備考
<uuid> たぶんXigmaNASがマウントポイントを管理するのに使うUUID
<type> デバイスの種類
<mdisk> マウント対象のデバイスファイル
<partition> デバイファイルのパーティション識別文字列
<fstype> ファイルシステムの種類
<gpt> たぶん対象のディスクがGPTであることを表す
<rawuuid> デバイスのUUID。gpart list デバイスで表示されるマウント対象のrawuuidを指定する。
<devicespecialfile> UFSの場合はdumpfs -l デバイスで表示されるパスを指定する。
<fsck> たぶん起動時にfsckするかどうかのフラグ
<sharename> /mntのマウント先ディレクトリ名
<desc> XigmaNASのマウントポイントの詳細情報
<accessrestrictions> アクセス制御
<owner>
<group>
<mode>
字面のとおり

4.「システム > 設定のリストア」で書き換えた設定XMLでリストアする。

とりあえず、目先の回避だけできればいいので、各要素の詳細は調べてない。重要なのはmdisk, partition, fstype, rawuuid, sharenameかな?devicespecialfileは指定しなくても動きそうな気もするけど、わかんにゃい。

早くバグが直りますように。

参考サイト