ubuntu フリーズ対策
メモリが原因ではありませんでした。
SAS9211-8iに接続しているDiskをtemp1にするとフリーズしますが、マザボSATA直結のDiskをtemp1にすると一切フリーズしないことに気づきました。つまり、SAS9211-8i関連になにか問題がありそうです。切り分けます。
mdadmのRAID0をやめてみる
まず、接続してるディスクを半分に(ケーブル1本抜いた)、そしてmdadmのRAID0をやめてDisk1本をxfsにフォーマットし、madmaxしてみました。
結果、フリーズしませんでした!
temp1: sas15k 300GB
temp2: ramdisk
3472.97sec (0:57:53)
ramdisk使ってるとはいえ、temp1が素のHDDで1時間切ってるのすごいな。
ZFSでRAID0してみる
ubuntu 20.04 LTSはインストール時にZFSを選ぶこともできましたが、選ばなかったので新規でインストールします。
sudo apt update
sudo apt install zfsutils-linux
バージョン確認
zfs --version
とりあえずHDDのデバイス名取得します。
sudo fdisk -l
/dev/sda ST9300453SS /dev/sdb ST9300453SS /dev/sdc ST9300453SS /dev/sdd ST9300453SS /dev/sde INTEL SSDSC2BX40 /dev/sdf INTEL SSDSC2BX40
こうなりました。とりあえずST9300453SSx4でsas15kという名前でプールを作ってみます。
RAID0でZFSストレージプールを作る
sudo zpool create sas15k /dev/sda /dev/sdb /dev/sdc /dev/sdd
権限がrootになってしまうので、オーナーをuserにします
sudo chown hyperbanana:hyperbanana /sas15k
プール確認
zpool status
ZFSストレージプールのリスト確認
zpool list
自動でマウントされるので手動マウントは必要無し
df -hT | grep zfs
これだと/sas15k に勝手にマウントされてしまいます。それが嫌な場合はプール作成時に-mで明示的にマウントポイントを指定することもできます。
sudo zpool create -m /mnt/sas sas15k /dev/sda /dev/sdb /dev/sdc /dev/sdd
マウントポイント確認
zfs get mountpoint
すでに作成してしまった場合の変更方法はこちら
sudo zfs set mountpoint=/mnt/sas sas15k
別のHDDをプールに追加する場合
sudo zpool add sas15k /dev/sdd
ストレージプール破棄
sudo zpool destroy sas15k
ではsas15kをつかってmadmaxしてみます。
temp1: sas15k x4 RAID0(ZFS)
temp2: ramdisk
2102.33sec (0:35:02)
フリーズしませんでした!!!mdadmが原因だった可能性が大きいですねぇ。でもmdadmのXFSにくらべて5分ほど遅い。
ZFSはmdadmとくらべてとてもかんたんで素晴らしいですね。管理しやすそう。
ついでにIntel S3610 400GBx2もZFSで試す
SAS9211-8iに接続しているわけではないので無関係ですが、ZFSとXFSの比較のためにSATA接続のIntel S3610 400GBもZFSにしてみました。
先程は書くの忘れましたが、mdadmの解除方法から
アンマウント
sudo umount /mnt/s3610
RAIDアレイを解除
sudo mdadm --misc --stop /dev/md127
RAIDアレイを構成するデバイスの superblock を消去
sudo mdadm --misc --zero-superblock /dev/sde1 /dev/sdf1
初期化
sudo fdisk /dev/sde
sudo fdisk /dev/sdf
RAID0でZFSストレージプールを作る(マウントポイント指定)
sudo zpool create -m /mnt/s3610 s3610 /dev/sde /dev/sdf
権限変更
sudo chown hyperbanana:hyperbanana /mnt/s3610
ついでにこのタイミングでsas15kのマウントポイントを/mnt/sasに変更しておきました。
では、ssdでmadmaxしてみます。
temp1: SATA SSDx2 RAID0(ZFS)
temp2: ramdisk
1772.77sec (0:29:33)
mdadm xfsでやってたときは27分だったので2分ほど遅くなりました。
結論:ZFSよりXFSの方がはやい!!!
でもフリーズはいやだし5分くらい誤差だしHDD残り容量もうほぼ無いし、ZFSでHDDをtemp1にする方法を取ろうと思います。
マザボRAIDを試す
ASUS B550-E GAMINGにもRAID機能が搭載されています。ubuntuのソフトウェアRAIDと比べてどう違うか気になったのでやってみます。
本当はSAS HDDでも試したいのですが、SAS9211-8iはITモードでフラッシュしちゃってるので、RAIDが使えるRTモードに変更するのがだるすぎるので、そちらを試す予定はありません…
BIOS上でサクッと設定できました。IntelのときはBIOSとは別にRAID設定画面立ち上げて…とかめんどかった気がしますが、マザボのRAID組むなんて10年以上ぶりかな。
ubuntu立ち上げてみてもアレイが見えません。そういえばオンボRAIDはドライバ入れないとOSすらインストール出来なかったな…AMD配布のドライバはWindows用しかありません。
途方に暮れかけたけどググったらありました。マジで助かる。
sudo add-apt-repository ppa:thopiekar/rcraid
sudo apt-get update
sudo apt-get install rcraid-dkms
これで再起動したら認識しました。
sudo fdisk -l
どうやら /dev/sdi がそうみたい。とりあえずパーティションを作って保存。
XFSでフォーマット
sudo mkfs.xfs -f /dev/sdi1
マウント
sudo mount -t xfs /dev/sdi1 /mnt/s3610
権限変更
sudo chown hyperbanana:hyperbanana /mnt/s3610
ではいざmadmax
temp1: SATA SSDx2 AMD RAIDXpert RAID0(XFS)
temp2: ramdisk
1878.08sec (0:31:18)
ZFSより遅くなりました…
というわけで早い順にすると以下のような結果となりました。
no | disk | type | format | time |
---|---|---|---|---|
1. | SATA SSDx2 | mdadm raid0 | xfs | 27分 |
2. | SATA SSDx2 | zfs raid0 | zfs | 29分 |
3. | SAS15k HDDx4 | mdadm raid0 | xfs | 30分(フリーズ多発) |
4. | SATA SSDx2 | オンボ raid0 | xfs | 31分 |
5. | SAS15k HDDx4 | zfs raid0 | zfs | 35分 |
6. | SAS15k HDDx1 | single | xfs | 57分 |
SAS4台でZFS使用の35分を採用します。
理由①もうHDD残り容量がないので急ぐ必要がない。
理由②SSDを消耗しない。
理由③SASの用途はこれくらいしか思いつかないので使わないのは癪である。
HDDがほしい!もっと安くなって!!!
今日のチア農場
plot 2252 → 2295 (+43)
XCH 2.31405844 (+0.05292565)
netspaceの増加が停滞してくれて嬉しいよ。
ディスカッション
コメント一覧
まだ、コメントがありません