起動ディスクに Raid 0 な Ubuntu20 をインストール

raid0 な ubuntu のインストール方法

古いノートなどに使われている fakeRaid なマシンに ubuntu20 を raid0 でインストールします。

今回は Vaioz 2012 モデルを使用します。

こちらのページを参照

Sony Vaio Z（SVZ 2012）へのUbuntu 12.10のクリーンインストール NotebookReview http://forum.notebookreview.com/threads/clean-install-of-ubuntu-12-10-on-sony-vaio-z-svz-2012-how-to.702661/

下準備
・Ubuntu Desktop 20 をダウンロード（USBメディアでの使用を推奨）
・BIOS から raid が見えるように設定 ( hide -> show )
・インテル Raid 設定画面から Raid を削除 → オフ（ Raid はソフトウェア Raid で実装するため）

まずは Raid を作成しますので、Ubuntuを起動したらまずはお試しで操作します。

disks アプリを使用して、sdaとsdbに同じパーティションを作成します。
・1GB boot レガシーBootにチェック
・7GB swap
・110GB ext4
※参考ページの例だとext4を2個作って、Swapファイルを作成するっとなっているけど、boot部分の書き込みがうまく行かないため、boot,ext4,swapとしています。

sda例

~~~
/dev/sda1 2048 31950847 15974400 83 Linux
/dev/sda2 31950848 241680383 104864768 83 Linux
/dev/sda3 241680384 250068991 4194304 82 Linux swap / Solaris
~~~

sdb例

~~~
/dev/sdb1 2048 31950847 15974400 83 Linux
/dev/sdb2 31950848 241680383 104864768 83 Linux
/dev/sdb3 241680384 250068991 4194304 82 Linux swap / Solaris
~~~

ソフトウェアRaidではdmraidではなくmdadmを使用します

~~~
sudo apt-get remove dmraid
sudo apt-get install mdadm
~~~

Raid0の設定

~~~
sudo mdadm --create /dev/md0 --chunk=32 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1
sudo mdadm --create /dev/md1 --chunk=32 --level=0 --raid-devices=2 /dev/sda2 /dev/sdb2
sudo mkfs.ext4 -b 4096 -E stride=8、stripe-width=16 /dev/md0
sudo mkfs.ext4 -b 4096 -E stride=8、stripe-width=16 /dev/md1
~~~

これでとりあえずRaid0なディスクができているのでmd1の方にUbuntuをインストールします。

インストール終了時にgrubのインストールに失敗しましたと表示されます。仕様です。
以下の作業で修復インストールしていきます。

一旦再起動をします。

~~~
sudo reboot now
~~~

Raidの設定が無効になっているので再度同じコマンドでRaidを設定します。

~~~
sudo apt-get remove dmraid
sudo apt-get install mdadm
sudo mdadm --create /dev/md0 --chunk=32 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1
sudo mdadm --create /dev/md1 --chunk=32 --level=0 --raid-devices=2 /dev/sda2 /dev/sdb2
~~~

ブート修復ソフトをインストールします。

~~~
sudo add-apt-repository ppa：yannubuntu / boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
~~~

起動時にgpartedを使ってねって言われる場合は、sda1 sdb1 のフォーマットがおかしい。フォーマットを見直して、boot-repairを再起動。

２回ほどコードを入力するよう支持される。
最後なぜか、失敗しましたと言われるが、特に問題なく起動できる。

~~~
sudo mount /dev/md1p5 /mnt
sudo chroot /mnt
sudo apt-get remove dmraid
sudo apt-get install mdadm
exit
sudo reboot now
~~~

確認

~~~
cat /proc/mdstat
~~~
~~~
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5]
[raid4] [raid10]
md1 : active raid0 sda2[0] sdb2[1]
      214712320 blocks super 1.2 32k chunks

unused devices: <none>
~~~

ベンチマーク

~~~
sudo apt install fio
~~~

で、適当なところに以下のようなテキストファイルを作成する　ここでは/tmp/fio.txtで保存した

~~~
[global]
ioengine=libaio
iodepth=1
size=1g
direct=1
runtime=60
directory=${TARGET}
stonewall

[Seq-Read]
bs=1m
rw=read

[Seq-Write]
bs=1m
rw=write

[Rand-Read-512K]
bs=512k
rw=randread

[Rand-Write-512K]
bs=512k
rw=randwrite

[Rand-Read-4K]
bs=4k
rw=randread

[Rand-Write-4K]
bs=4k
rw=randwrite

[Rand-Read-4K-QD32]
iodepth=32
bs=4k
rw=randread

[Rand-Write-4K-QD32]
iodepth=32
bs=4k
rw=randwrite
~~~

~~~
fio TARGET=/tmp fio -f fio.txt --output-format=terse | awk -F ';' '{print$3, ($7+$48) / 1000}'
~~~

~~~
Seq-Read 568.642
Seq-Write 524.288
Rand-Read-512K 423.495
Rand-Write-512K 331.827
Rand-Read-4K 18.342
Rand-Write-4K 37.473
Rand-Read-4K-QD32 383.953
Rand-Write-4K-QD32 147.895
~~~

その他の参考ページ
EFIブートが使える場合などはこちら

Install Ubuntu on RAID 0 and UEFI/GPT system
https://gist.github.com/umpirsky/6ee1f870e759815333c8