ZFSの復旧ついでに/exportsから/exportに移動

FreeBSD,NAS,パソコン・インターネット

引き続いて、FreeBSD機のZFSドライブの復旧をしています。なかなか進まないです。ファイルシステムの一部が壊れている状態なのですが、システムダウンにはならず、そのまま動いてしまうのですもの…。ZFSは弱いんだか、強いんだか…。

先日、HATさんから、次のご指摘を受けました。

「外部に公開するディレクトリ名は、FreeBSDでは、"/export"ではなく、"/exports"なのですか?」と。

“/exports"は、元々存在せず、自分で設定しました。このディレクトリ名については、指摘されるまで、気にしていませんでした。複数のディレクトリを公開するのだから、「〜s」と複数形にしただけでした。でも、"/home"とか、複数形じゃないな。

それと、ご指摘の通り、BSDの流れを汲むSunOS4.1では"/export"でした。

「/exportに直したい!」とは思いましたが、設定が多岐にわたるため、面倒に感じていました。

そこへ、今回のZFS崩壊の危機ですよ!

いま、必要なデータを、ZFSの別プールにコピーしています。その時、"/exports"から"/export"への変更も一緒にやってしまいました。結果として、うまく行った様子です。

変更しなければならなかったのは、次の項目です。

  1. netatalk関連(/usr/local/etc/afp.conf)
  2. samba関連(/usr/local/etc/smb.conf)
  3. WebDAV関連(/usr/local/etc/apache24/extra/{httpd-dav.conf,httpd-vhosts.conf})
  4. SVN(Subversion)関連(/usr/local/etc/apache24/Includes/svn.conf)。この他に、レポジトリ自体を再設定。
  5. MySQL関連(/etc/rc.conf)

これらのファイルに付いて、次のコマンドで修正しました。当然、実行する前に、ファイルのバックアップと、grepによる中身の確認をしています。また、念のために、該当サービスを停止しています。

# sed -i -e 's/\/exports\//\/export\//g' {設定ファイル}'

SVN(Subversion)は、レポジトリ自体の移動をしています。次の方法をとらせていただきました。ありがとうございます。

移動したレポジトリ名が、"work"として説明します。

# svnadmin create /export/svn/work
# svnadmin dump /exports/svn/work | svnadmin load /export/svn/work

ここまでの設定が終わったら、シングルユーザモードで立ち上げます。そして、"/exports"をマウントしない様に設定します。

# zfs set mountpoint=none upool/exports

最上位のファイルシステムをマウントしない様にすると、その下もマウントされない様になりました。

それと、zfs send/receiveコマンドも活躍しています。zfs renameも何かと便利です。

こう言う柔軟さは、ZFSに敵う物は無いですね。

ここまで終了した後、マルチユーザモードに移行して、動作を確認しました。問題なく、ディレクトリ名が"/exports"から"/export"に変更になっていました。

ちなみにRedHatは、"/exported"としているみたいですね。

“/exported"の方が良いのかな…。でも、どこを直せば良いかわかったから、もし直すとしても、それほど大変じゃないです。

Posted by お市のかた