2016年6月13日月曜日

Ubuntu16.04(xenial)でフォーマットしたXFSはXFSv5なので、Ubuntu14.04(trusty)ではマウント出来ない。 read-only は可能

XFSv5 はkernel3.15 + xfs_progs 3.2.0以上で対応
dmesgに出ているメッセージが全てですが、中のメタデータ等の都合により書き込むことが出来ません。
端的には新しいバージョンのカーネルでフォーマットしたXFSは、古いバージョンからだと書けないということです。

Error mounting /dev/sda2 at /media/nekomatu/898dafaa-44bf-418d-adfc-faa3ab563241: Command-line `mount -t "xfs" -o "uhelper=udisks2,nodev,nosuid" "/dev/sda2" "/media/nekomatu/898dafaa-44bf-418d-adfc-faa3ab563241"' exited with non-zero exit status 32: mount: wrong fs type, bad option, bad superblock on /dev/sda2,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so


[ 75.404951] XFS (sda2): Version 5 superblock detected. This kernel has EXPERIMENTAL support enabled!
[ 75.404951] Use of these features in this kernel is at your own risk!
[ 75.404955] XFS (sda2): Superblock has unknown read-only compatible features (0x1) enabled.
[ 75.404956] XFS (sda2): Attempted to mount read-only compatible filesystem read-write.
[ 75.404956] Filesystem can only be safely mounted read only.
[ 75.404980] XFS (sda2): SB validate failed with error 22.

% sudo mount -t xfs /dev/sda2 hoge
[sudo] password for nekomatu:
mount: 何らかのエラーにより、マウントが失敗しました。
ファイルシステムタイプ, オプション, /dev/sda2 上のスーパー
ブロック, 必要なコードページ指定/ヘルパープログラム
など、何らかの設定が間違っているものと思われます。
syslog 内に記録された情報が手助けになるものと思います -
dmesg | tail などを実行してお読みください

%sudo mount -o ro /dev/sda2 hoge; echo $?
0
%

XFSv5ってなんぞや?ってところは、どっかにまとまってんのかなぁ?調べられてないです。
CRCが増えたりとかACLの領域が増えたりとかしてます。

関心がある人は、メーリングリストでv5とか引っ掛けると良いんじゃないでしょうか。
http://oss.sgi.com/cgi-bin/namazu.cgi?query=v5&submit=Search%21&idxname=xfs&max=20&result=normal&sort=score

追記:
UbuntuにはHWEという仕組みがあるじゃない。というコメントを頂戴しました。
端的にはUbuntu12.04に16.04のカーネルを使える。というものです。カーネルがトリガーなので、HWEしてやれば書き込み可能でマウント出来るようになると思われますが未検証です。
なお、ユーザーランドのxfsprogs(1)は古いままなので、GUIアプリやパラメータなしでフォーマットしようとするとv4で出来上がると思われますが、未確認です。
https://wiki.ubuntu.com/Kernel/LTSEnablementStack

0 件のコメント:

コメントを投稿