@m_akihiro
root on dm-cache on lvm on dm-crypt on md(raid1)をnative uefi環境でセットアップしてみた というサブタイ
- UEFIネイティブなブート環境について
- bootloaderの冗長化
- Initramfsまわりについて
はじめに
自宅NASの構成変更したい
- dm-cryptをつかってディスク全体を暗号化したい
- 生半可な破壊だとコロンビア号のHDDが復元された事例
- 復旧しやすく冗長性を確保したディスク構成にしたい
- bootloader冗長化
構成
- dm-cacheが有効な領域
- 安くて速いのがほしい→UEFIをつかってブートできるようにする
Debian Jessie
- LVM on dm-crypt on MDができるインストーラを持っている
- UEFIブートのGummibootがDebian jessieからパッケージ入り
- Linux Kernel Versionが3.16から仕様
- mdadm version bad block management対応してほしい
https://www.debian.org/releases/jessie/index.ja.html
ふつうにインストーラを走らせても失敗する
手動でGummibootをインストール
Installerのrescue modeからシェルを握る 暗号化ディスクをOpenする LVMのVGを有効化など
Gummiboot
ココ見ると話がはやいよ
https://wiki.archlinux.org/index.php/Gummiboot_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29
Gummiboot Bootloaderの冗長化
デフォルトだと無理なのでPatchを書く
同様の提案は上がっていたがリジェクトされていた
- Cyptsetupは/etc/crypttabによりboot時にマウント可能
- ただしbootのマウントに対してはハックを必要とする
- keyfileを単に設定だけでは機能しない
DM-CACHE ROOTへのDM-CACHE適用
- lvmからdm-cacheを扱える
- man 7 lvmcache参照
Cache用にSSDからLVを用意してcachepoolを作成
dm-cache initramps再構成
先人がやっているやつ
initrampfsにdm-cacheマウントに必要なファイル一式ができる
FUTURE WORK
- ここまでやるとブートするようになったのだが、実機でうまくいくのか心配
- UEFIのファームウェアの出来に左右される