思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD13.4】メインファイルサーバーのフルメンテナンス(2):O/Sのインストール[2]RocketRAID2720へのインストール方法検討

基本的なインストール方法は、Replicateファイルサーバーを組んだ時と同じですが[*1]、
今回はGENERICカーネルには含まれていないホストバスアダプタ(HBA:ハードウェアRAIDカード)HighPointRocketRAID(RR) 2720SGL”*2)にインストールします。

まず、GENERICカーネルには含まれていないHBAへのインストール方法から検討します。【注*3

  • 小生の健忘禄、兼作業記録になっていますことをお詫び申し上げます🙇‍♂️

1. どこまで進められるか確認

ある意味、結果は見えているのですが😅。。。。、
まずは、対策を何もしていない状態でインストーラーから、どのように見えるかを確認しておきます😀。

(1)インストーラーの起動

電源をいれ、DVD/BluRayドライブにインストールディスクを装着する。

ブートデバイスからDVD/BluRayドライブを選択すると、インストーラーが起動する。
(2)インストール種別の選択
インストールの種別を聞いてくるので、タブキーで「<Install>」を選択し、エンターキーを押す。(*4
(3)キーマップの選択
キーマップを聞かれるので、上下矢印キーで「Japanese106」を探し、「スペース」キーを押す。
”Continue with jp.kbd keymap”を選択し、<Select>でエンター。
(4)ホスト名の設定
ホスト名を設定する。
(5)追加コンポーネントの選択
とりあえず、"Test suite"以外の追加のコンポーネンを選択します。
(6)ファイルシステムの選択
ZFS」「UFS」のどちらを使うか、もしくは「手動設定するか」、「shellで設定するか」を聞かれます。。

ZFS」の場合には、zfsの設定画面には行けますがRR2720上のディスクが認識されるわけではありません

「UFS」、「手動設定するか」、「shellで設定するか」のいずれでも”ディスクがない”と叱られます。

予想通りと言えば予想通りですが、RR2720SGに接続したハードディスク(HDD)以外にHDDは存在しないので、”インストール出来るディスクがない”と叱られます😅。

2. RocketRAID2720SGLへのインストール方法検討

これまで、職場ではFreeBSDの”サポートハードウェアリスト”どで確認し、確実に動作する機器を選定をしていましたので、GENERICカーネルでインストールできないということはありませでした。

このため、今回のようにインストール先が、GENERICカーネルに含まれていない”HPT27XX”(HighPointRocketRAID 2720SGL:以下、RR2720)等に、インストールした経験はほぼありません(*5)。

そこで、まずはインストール方法を検討する事にします。
方法としては、

  1. )インストール作業の途中で、” hpt27xx”ドライバーをロードする。

  2. )FreeBSD8.4上で、FreeBSD13.4のインストーラを使う。

  3. )2回、インストール作業を行う。

  4. )カスタムインストールメディアを作る。

あたりが思いつきますが😅。。。

3. RocketRAID2720SGLへのインストール方法検証

まずは、RR2720上の"/dev/da0"が見える/見えるようできるか、を確かめてみます。

1.)インストール作業の途中で、” hpt27xx”ドライバーをロード

インストール開始前に、一旦、shellを起動して”kldload hpt27xx”をしてみたのですが、叱られてしまいました😢。

結論《”HPT27XX”ドライバーをインストール途中でロードするためには、いろいろ設定が必要そう》

2.)FreeBSD8.4上でFreeBSD13.4のインストーラを使う

FreeBSD8.4上でFreeBSD13.4のインストールDVDをマウントして、ライブラリ等を適切なシンボリックリンクを張ったうえで、”FreeBSD13.4”のインストーラbsdconfig)を起動してみます。

root@FreeBSD8.4:# mount /mnt/cdrom    
root@FreeBSD8.4:# cd /usr/share/    
root@FreeBSD8.4:# ln -s /mnt/cdrom/usr/share/bsdconfig .    
root@FreeBSD8.4:# cd /usr/libexec    
root@FreeBSD8.4:# ln -s /mnt/cdrom/usr/libexec/bsdconfig .    
root@FreeBSD8.4:# cd /mnt/cdrom/usr/sbin    
root@FreeBSD8.4:# /mnt/cdrom/usr/sbin/bsdconfig ; 何も起こらず、プロンプトに戻ってきた。

ライブラリ依存関係が全く異なるので、少々、ライブラリにシンボリックリンクを張った程度では、当たり前と言えば当たり前の結果ですが😅。。。

結論《FreeBSD8.4上で"bsdconfig"は*動かない*》

3.)2回、インストール作業を行う

JBODな仮のsataディスクをM/Bに直結して、一旦、そこにインストールする方法を試してみます。

USB/HDDを付ける手もありますが、USB/HDDはインストールすると、”/dev/da0”となる可能性があり、再起動時に”HPT27XX”のディスクのデバイス名(/dev/da0)と重なり、設定作業に手間がかかりそうです🤔。

  1. 仮のsataディスク(ada)のすべてを”Zero Fill”でRAWレベルフォーマット。(*6)。
  2. 仮のsataディスク(ada)上にFreeBSD13.4をインストール
  3. インストール後、”HPT27XX”ドライバーを有効にしたカーネル再構築・インストール・再起動
  4. 再起動後、”HPT27XX”のディスクが見えたら、FreeBSD13.4インストールメディアをマウント
  5. "bsdconfig"を使って、”RocketRAID 2720SGL”のシステム”HPT27XX”上のディスク(/dev/da0)に2回目の新規インストール。
  6. インストール後、”RocketRAID 2720SGL”上の、/boot/default/load.confにhpt27xx_load="YES"を追記して、再起動。

ブート段階で”有効なシステムディスクが見つからない”と叱られました😢。。。

結論《インストールは行えたが、RR2720上のディスクにブートローダーがインストールされない。

4.)カスタムインストールメディアを作る
(1)真面目にカスタムインストールメディアを作成

カスタムインストールDVDを作成する必要は、これまでが無かったので経験がありません😅

作り方を調べてみると参考になりそうな情報は色々見つかります。[*7][*8]等

しかしながら、手順的には結構手間がかかりそうなのと、習熟に時間がかかりそうです😑。

今回はできるだけ早くメインファイルサーバーを実用復帰させたいので、作業工数的に避けたい気がします。

FreeBSD14.4リリースの際は、この方法も試してみたいとは思いますが😅。。。。

結論《カスタムインストールDVDを作成するのは、作業工数的に厳しい。》

(2)簡易カスタムインストールメディア作成《1》:isoイメージを編集

なんちゃって方法的に、isoイメージをmdデバイスにして”/mnf/md/boot/defaults/loader.conf”の編集を試みましたが、”読み取り専用だよ”と叱られました😅。

当たり前と言えば当たり前ですね😅。

結論《そもそも、cd9660をマウントした段階で、読み取り専用のファイルシステムになるので、loader.confの修正はできない。》

(3)簡易カスタムインストールメディア作成《2》:USBメモリーに書き込んでからカスタマイズ

これまで、使ったことはありませんが、”メモリースティクイメージ”を使う方法[*9]を試してみます。

  1. モリースティク用isoイメージを公式ページからダウンロード。
  2. モリースティク用isoイメージUSBメモリに書き込み。
  3. USBメモリをマウント。
  4. ”/mnf/usb/boot/defaults/loader.conf”の編集して、<hpt27xx_load="YES">を追加。
  5. USBメモリから起動
  6. 無事、RR2720上のHDDが見えました😀。

結論インストーラーからRR2720上のディスクが見える様になって、インストールも途中まで進んだので、この方法でインストールしてみることにします。》

ただし、

  1. 起動USBデバイス”レガシー”なUSBとして起動しないといけないUEFIなUSBとして起動すると、途中でこける😢
  2. モリースティクインストーラには、基本モジュールしか収められていない
    すべてをインストールしようとすると、途中インストール途中の設定工数が多くなりそうな気が😅
    インストール後、”bsdconfig”で追加インストールを行う方が楽な気が🤔

【次回に続く】

😅😀😑🤔😵😢

ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへ

出典・引用・備考

*1:

*2:FreeBSD8.4GENERICカーネルには”device hpt27xx # Highpoint RocketRAID 27xx”がありますが、
FreeBSD13.4GENERICカーネルにはこの行がありません

*3:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。

*4:HPE製IP KVMのWebインターフェースでスクリーンショットを取っているので、スクリーンショットに乱れがありますが😅、通常のコンソールであれば、画面の乱れはありません。😀

*5:FreeBSD2.x/3.xぐらいのころは予算規模が小さくて、ありあわせの機器を組み合わせてサーバーを仕立て上げていたため、周辺機器のドライバーを認識させるのに苦労したことはありましたが、インストール自体出来ない状況は記憶にないもので。。。。

*6:使いまわしの保管ディスクですので、念のため、RAWレベルフォーマットをしています

*7:@Hiroki Tagato、"EdgeRouter LiteにFreeBSDをインストール - イメージ作成編"、Jan 31, 2018、https://blog.c6h12o6.org/post/freebsd-edgerouter-lite-image/、I最終閲覧日:2025年9月23日

*8:"3.13. カスタムインストールメディアの準備"、https://docs-archive.freebsd.org/doc/10.0-RELEASE/usr/local/share/doc/freebsd/ja/books/handbook/install-diff-media.html、最終閲覧日:2025年9月23日

*9:"第2章 FreeBSD のインストール | FreeBSD Documentation Portal"、The FreeBSD Foundation.、https://docs.freebsd.org/ja/books/handbook/bsdinstall/、最終閲覧日:2025年9月22日