2017年8月6日日曜日

RHEL7.4 リリースノートに Btrfs has been deprecated を発見

先週、RHEL7.4 がリリースされたのを思い出し、リリースノートをパラ読みしていたら、、、発見しました。

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.4_Release_Notes/chap-Red_Hat_Enterprise_Linux-7.4_Release_Notes-Deprecated_Functionality.html
〜抜粋〜
The Btrfs file system has been in Technology Preview state since the initial release of
Red Hat Enterprise Linux 6. Red Hat will not be moving Btrfs to a fully supported feature
and it will be removed in a future major release of Red Hat Enterprise Linux. 

The Btrfs file system did receive numerous updates from the upstream in
Red Hat Enterprise Linux 7.4 and will remain available in the Red Hat Enterprise Linux 7 series.
However, this is the last planned update to this feature. 
〜
raid1 と 透過圧縮(LZO) は、有益な機能と思っていたのですが、打ち切りとは残念です。ますます ZFS に傾倒しそうです。

実は、本日、手持ちの CentOS 7.3 が動いているマシンの Btrfs raid1 領域で、2番目の HDD を見失う (熱のせい?) という障害があり、Btrfs の記事を漁っているところでした。

以下、障害対応の備忘録です。
2番目の HDD は完全に壊れたわけではなく、SATA コントローラが見失っただけのようでした。ルートファイルシステムに使っていたため、syslog 等のログ出力の I/O で、さらにエラーが出るという悪循環になっているようでした。しかたなく、SysRq s, SysRq u, SysRq b の3連打で再起動しました。
てっきり、デグレードして1番目の HDD だけで立ち上がるのかと思ったら、起動して来ませんでした(systemd が2番ディスクを永久待ち合わせしてしまうらしく)。md RAID1 や ZFS mirror と同様だろうと思ったのですが、ややこしい操作(下記)を経ないと復旧できませんでした。なお、中身のデータは完全に無事でした。これぞ Btrfs の利点なんですけどねえ。
1. GRUB2 をマニュアル操作して、ブートパラメータに rd.break=pre-mount を追加して起動
2. degraded オプションでマウント
  # mkdir /mnt_temp
  # mount -o degraded /dev/sdXX /mnt_temp
3. 代替 HDD を追加
  # btrfs device add /dev/sdYY /mnt_temp
4. 見失った HDD を削除
  # btrfs device delete missing /mnt_temp
  ※これで、代替 HDD にリバランスされるようです。この場合、特殊キーワード missing を使えます
というわけで、まだまだ、故障時の運用性に難があるなあと思った矢先の発見でした。おわり。
今後は、CentOS 7 のルートファイルシステムも ZFS を使おうかと思いまーす。

■関連記事
CentOS 6 の root ファイルシステムに ZFS を使う
人気ブログランキングへ にほんブログ村 IT技術ブログへ