技術メモなど

ほぼ自分用の技術メモです。

CentOS 7 をインストール(シリアルコンソールの設定編)

もう CentOS 8 がリリースされたというのに、OS が CentOS 6 のままな自宅サーバーをようやく CentOS 7 に移行することにしました。ちなみに自宅サーバーのハードウェアは2013年頃に購入した NEC Express5800 GT110e です。この機種、オンボードRAID コントローラー (LSI embedded Megaraid) を搭載していますが、残念ながら Broadcom の Web サイトには SAS のドライバーしか置いておらず、NEC の Web サイトにも Windows 用のドライバーしかないので、CentOS では使えません。最近買ったものなら Express Builder の中に入ってるのかな?

OS のインストール

詳細は割愛。CentOS 7 (Minimum) の ISO イメージをダウンロードして適当な USB リムーバブルストレージに dd コマンドで書き込み、インストールメディアを作成→自宅サーバーの BIOS の設定を変更して USB リムーバブルストレージから起動するようにすればグラフィカルなインストーラーが起動するので、特に迷うことなくインストールできると思います。タイムゾーンやキーボードレイアウト、ホスト名、ディスクパーティションあたりはインストーラーで設定するのが楽かと思います。

シリアルコンソールの設定

NEC Express5800 GT110e はちゃんと BMC が搭載されているため、SSH からシリアルコンソールにアクセスできるので、BMC の管理用ネットワークインターフェースに正しく IP アドレスを振りさえすれば以降の作業はディスプレイもキーボードも接続せずにすることができます。

これを使うためには CentOS 7 でシリアルコンソールを使えるように設定する必要があります。具体的には、GRUB2 の設定を変更し、OS 起動時にシリアルコンソール用仮想端末が上がるようにします。

# sed -i 'GRUB_TERMINAL_OUTPUT="console"/GRUB_TERMINAL_OUTPUT="serial console"/' /etc/default/grub
# sed -i '/^GRUB_CMDLINE_LINUX=/s/$/ console=tty0 console=ttyS0,9600 console=ttyS1,9600"/' /etc/default/grub
# echo 'GRUB_TERMINAL="console serial"' >> /ect/default/grub
# echo 'GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"' >> /etc/default/grub
# grub2-mkconfig -o /boot/grub2/grub.cfg

serial 端末を OS 起動時に起動できるようにし、再起動すればシリアルコンソールの設定完了。

# cp /lib/systemd/system/serial-getty\@.service /etc/systemd/system/serial-getty@ttyS1.service
# ln -s /etc/systemd/system/serial-getty\@ttyS1.service /etc/systemd/system/getty.target.wants/
# systemctl daemon-reload
# systemctl start serial-getty@ttyS1.service
# systemctl enable serial-getty@ttyS1.service
# shutdown -r now

設定は次の Web ページを参考にしました。

www.nightmare-yk.com