LoginSignup
0

More than 5 years have passed since last update.

JBODなマシンの後ろの方のディスクにDebianインストールしようとしたらコケてた(ので直した)

Posted at

すっげぇ多くのディスク付けたマシン(JBODでね)にdebian-installer(d-i)でインストールしようとすると失敗する、という話を昔聞いた。要は/dev/sdaから始まってディスク1個毎にアルファベットが変わるのだけど、/dev/sdzの次は/dev/sdaaってなって、このディスクへインストールしようとするとバグ踏んでgrubのインストールがコケる(/dev/sdaa以降のディスクにgrubをインストールしなければ、関係ない)。

d-iでgrubのインストール作業はgrubパッケージじゃなくてgrub-installerパッケージが担当してた。読む。直した。

--- grub-installer.orig 2017-02-03 22:51:57.598613756 +0900
+++ grub-installer  2017-02-04 00:19:37.085153540 +0900
@@ -254,7 +254,7 @@
     /dev/mapper)
    disc_offered_devfs="$bootfs"
    ;;
-    /dev/[hsv]d[a-z0-9]|/dev/xvd[a-z]|/dev/cciss/c[0-9]d[0-9]*|/dev/ida/c[0-9]d[0-9]*|/dev/rs/c[0-9]d[0-9]*|/dev/mmcblk[0-9]|/dev/nvme[0-9]*n[0-9]*|/dev/ad[0-9]*|/dev/da[0-9]*)
+    /dev/[hsv]d[a-z0-9]*|/dev/xvd[a-z]|/dev/cciss/c[0-9]d[0-9]*|/dev/ida/c[0-9]d[0-9]*|/dev/rs/c[0-9]d[0-9]*|/dev/mmcblk[0-9]|/dev/nvme[0-9]*n[0-9]*|/dev/ad[0-9]*|/dev/da[0-9]*)
    disc_offered_devfs="$prefix"
    ;;
     *)

/dev/[hsv]d[a-z0-9] ではなく /dev/[hsv]d[a-z0-9]* としただけ。

検証は
* VirtualBoxに大量の仮想ディスクを追加して環境を作成
* d-i RC2で再現させて、シェルに落ちる
* /usr/bin/grub-installer を編集…するのだけど、自分がヘタレなのでvimを使うことに。chroot した/target 以下にあるので/lib/x86_64-linux-gnu/以下を/libにコピーして、/target/usr/bin/vim.tiny を立ち上げて編集
* シェルをexitしてgrubをインストールして再起動
* 無事起動した。/dev/sdab を使っているのが確認できる

VirtualBox_debian_04_02_2017_13_41_39.png

多分過去にバグレポートされたのがあるだろうと思って検索、見つけたのでパッチを添付してgrub-installerにreassignしてtag付けといた。
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839894

まぁ、この程度の技術レベルでも作業できる訳ですのでレッツトライ。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0