2022/05/20(金)Dell S150 に Software RAID で Ubuntu 22.04 をインストール

Dell PowerEdgeサーバに乗っているなんちゃってRAIDコントーラーS150を使用した状態で、Ubuntu Desktop 22.04をインストールしたメモ。

S150とは

よくあるBIOSでRAID化するだけの、実質ソフトウェアRAIDです。S150はLinuxのRAIDに対応しており、BIOSからLinuxで作成したRAID情報を参照できるようです。

つまりRAID化した状態でLinuxをインストールすることができれば、そのRAID化されたディスクから起動することも可能です。

Ubuntu Desktop 22.04のインストール

ミラーリング(RAID1)に設定する場合。

  1. BIOSの設定からSATAのモードを「AHCI」から「RAID」に切り替えます。
  2. Ubuntu Desktop 22.04をインストールイメージから起動します。
  3. インストールではなく「Ubuntuを試用する」を選択します。
  4. Terminalを開き、mdadmをインストールします。
    sudo apt-get install mdadm
    
  5. ディスク全体でRAIDを構築します。
    sudo mdadm --create md0 --level=1 --raid-disk=2 /dev/sda /dev/sdb
    
    /dev/md127 として認識されます。
  6. この状態で、Ubuntuをインストールします。インストール先はディスク全体を削除してインストール(自動選択でmd127)です。md127に2つのパーティションが作られます。
  7. 「grub-install /dev/sda の実行に失敗しました」というメッセージが出たら再起動せずにウィンドウを閉じます。
  8. /targetにRAIDディスクの/(md127p2)がマウントされていますので、ターミナルで以下の操作をします。
    sudo su
    cd /target
    mount --bind /dev dev
    mount --bind /sys sys
    mount --bind /proc proc
    cp /etc/resolve.conf etc/
    chroot .
    mount /boot/efi
    apt install mdadm
    grub-install
    
    これにより /boot/efi に必要なファイルが配置されますが、EFIブートメニューへの登録には失敗します。
  9. EFIブートメニューに項目を登録します。
    efibootmgr -c -d /dev/md127 -p 1 -L "ubuntu" -l '\EFI\ubuntu\shimx64.efi'
    

あとはターミナルを抜けて普通に再起動すれば、RAID状態のディスクからUbuntuが起動します。

メモ

# EFIメニュー登録状態の確認
efibootmgr -v
# EFIメニューの項目削除
efibootmgr -B -b 0001
# Software RAIDの状態確認
cat /proc/mdstat
# /etc/defult/grub
GRUB_RECORDFAIL_TIMEOUT=3
GRUB_DISABLE_SUBMENU=y

カーネルだけ更新

v5.17.9の場合。

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17.9/amd64/linux-headers-5.17.9-051709-generic_5.17.9-051709.202205180947_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17.9/amd64/linux-headers-5.17.9-051709_5.17.9-051709.202205180947_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17.9/amd64/linux-image-unsigned-5.17.9-051709-generic_5.17.9-051709.202205180947_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17.9/amd64/linux-modules-5.17.9-051709-generic_5.17.9-051709.202205180947_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17.9/amd64/linux-modules-iwlwifi-5.17.9-051709-generic_5.17.9-051709.202205180947_amd64.deb

dpgk -i *.deb

2022/03/09(水)OpenWrtでIPv6とDS-LiteとPPPoEを全部使う

OpenWrtを設定&構築したメモ。DS-LiteではなくMAP-Eでも参考になるかと思います。

※ネットワークの知識がない方はOpenWrtには手を出さないでください。

ことの発端

家庭内ルーターとして「NEC Atermシリーズ」を使っていたのですが、性能は申し分ないものの問題点があります。

  • 最新機種でもDS-Lite使用時PPPoEをパススルーできない*1
  • そのせいで、PPPoEとDS-Liteの併用ができない。*2
  • LAN内にDNSサーバを立てるとルータのDNSマスカレード機能が不安定になる。

WG1200HSはDS-Lite非対応なので、PPPoEと併用可能なら新しいのに買い替えてもよかったのですが、こんな状況ではAtermが選択肢に入らない。かといってBuffaloは安定性に問題ありそうなので、いっそのことOpenWrtルーターすればよいのでは? と。

*1 : DS-Lite以外ほぼすべての設定でパススルー可能であるのに、DS-Liteだけは絶対に許可しないという謎仕様を貫き通すNEC。

*2 : PPPoEをメインにしてLAN内のLinux等でDS-Liteを構築することは可能ですが、それは求めていない。

構築目標

openwrt-network.png

  • PPPoEとDS-Liteを併用する
  • LAN内の一部のマシンのみPPPoE側を使用する。

前提条件

  • ルーターのWAN側にはONU(光回線終端装置)が接続されている。
  • IPv6オプション(IPv6ネイティブ通信)が利用可能になっている。
  • DS-Lite(or MAP-E等)が使える状況になっている。
  • PPPoEが使える状況になっている(プロバイダ側で併用が許可されている)。

続きを読む

2021/12/24(金)ESP32 SDKのカスタムビルドを使った開発環境作り

BluetoothSerialのWindowsのCOMポート接続不良問題

※この問題は、Arduino IDEの「ESP32モジュール Ver2.0.5」、PlatformIOの「Espressif 32 Ver5.2.0」にて解決しました。


ESP32標準SDKのBluetoothには、WindowsのBluetooth 5.0以降のアダプタから接続したとき、うまく接続されない不具合があります。

BluetoothSerial(SerialBT)ですと、Windows側から接続を開始したときに

ASSERT_WARN(103 23), in lc_task.c at line 8775

というエラーが表示され、接続に失敗します。これを解決するために、SDKをリビルドし、リビルドした開発環境を構築することを目的とします。

続きを読む

2021/09/29(水)777万記念ヒット

今日777万ヒットになりました。アクセスありがとうございます。

記念ヒットプレゼント

777M_hit.jpg

ブログの更新頻度が減ったため最近は600/dayぐらいでしょうか。3年半ぶりになってしまい、ストックがたまりすぎました(苦笑)*1

写真のものがプレゼントになります。写真以外にもあります。

*1 : 記念ヒットのときに在庫一掃しているわけではなく、日々工作をしながら余剰品をすこしずつストックしています。

応募方法

コメント欄に「プレゼント希望」と書き、メールアドレスをご記入の上、ご応募ください。希望者複数の場合、抽選となります。

  • 応募期限:2021/10/03 21時まで
  • 当選メール送信後、24時間以内に必要な返信がない場合、メールが届かない場合、当選無効。
  • 非公開コメント、メールアドレス無記入は無効。

記念ヒットの記録

続きを読む