Suse で RAID5(mdadm) を実装する

自分でインストールしたのか記憶が定かではないのだけど、 mdadm コマンドは openSUSE Tumbleweed には入っていた。私が入れたのかしら? それはそうと、ハードディスクが余ってしまったので、 m.2 以外ハードディスクを装着していなかった suse マシンに装着して RAID5 にしてやろうと目論んでいる。

物理的につなぐ

openSUSE に PCIe 基板( SATA を増設するヤツ)を差し込んで、手元にあったハードディスク 4 台をつないだ。スペーサーをかませずに 4 台を積み重ねるという荒技。あとで調整する。ここは特に問題はなし。基板もすんなり認識してくれた。マザーボードにはまだ 4 つ SATA コネクタが余っているので、さらにハードディスクを追加する予定。

以前、 TrueNAS SCALE サーバーで使っていたハードディスクなので、マウントには問題があるものの、いきなりフォーマットしても大丈夫だった。フォーマットは、 ext4 Linux では定番でしょう。

4 台のハードディスクは、 /dev/sda1 、 /dev/sdb1 、 /dev/sdc1 、 /dev/sdd1 という風に認識されたので、それぞれフォーマットする(あとで気がついたのだけど、ここでフォーマットしなくても良かったと思う)。

# mkfs.ext4 /dev/sda1

/dev/sda1 はこれでフォーマット。もちろん /dev/sdb1 、 /dev/sdc1 、 /dev/sdd1 の残り 3 台も同様に行った。

mdadm で 4 台を RAID5 に設定する

/dev/md0 という RAID5 のハードディスクを生成したいので、次のコマンドを打ち込む。

# mdadm --create --verbose --force --assume-clean --raid-devices=4 --level=raid5 /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

–create: 新しい RAID アレイを作るオプション。一番最初に書く

–verbose: コマンド実行時に表示される情報を増やす。これはなくてもいいのかもしれない。

–force: オプションによって動作は異なるが、ここでは RAID5 作成時にスペアを作らせないため

–assume-clean: マニュアルを読むとなくても大丈夫なように見えますが、ないとリビルドが始まってしまう

–raid-devices=N: デバイスの数。ここでは N=4 を指定する。

–level: RAID レベル。 RAID0 や RAID5 のこと

これらオプションを指定して、 /dev/md0 の名称を指定。私、ここで、 raid5 という名前を指定しようとしたのですが、 cannot be set as devname. Reason: Not POSIX compatible. と怒られました。

md0 (アレイと呼ぶそうです)ができあがります。上記オプションでやればリビルドも発生せず、すぐにアレイができあがります。

parted でアレイ使える状態にする

次は parted コマンドを打ち込みます。以前は fdisk を使っていたけど、大容量に対応できなくなって現在は parted を使うという経緯があります(不正確)。それはそうと、このコマンドは対話式で使うのが安全ですので、対話式でやります。ワンライナーでも出来るそうですが、私はやりません。プロンプトが (parted) になりますので、 (parted) は打ち込む必要はありません。

# parted /dev/md0
(parted) unit GB
(parted) mklabel gpt
(parted) mkpart primary ext4 0% 100%
(parted) set 1 raid on

次におまじないを入れます。

# touch /etc/mdadm.conf
# mdadm --detal --scan | sudo tee a /etc/mdadm.conf

アレイに関する何か(?)らしいのですが、あまり説明を読んでいませんし調べてもいません。

さて、ハードディスク4台からなるアレイができあがったので、フォーマットします。ここでフォーマットするので、最初のフォーマットは余計なんですね。とりあえずフォーマットと思ってやったんですが、意味なかったです。

# mkfs.ext4 /dev/md0

「やっちゃうよ!」というメッセージが出ますが、「y」で答えてあとはエンターを押せば(2回)完了です。少し時間がかかります。

起動時にもマウントされるようにする

マウント・ポジションを作ります。 mkdir /media (私は /media というところにマウントさせようとしています)にします。パーミッションはお好きなように。

/etc/fstab に /dev/md0 /media ext4 defaults 0 0 と打ち込みます。

一度再起動させてホントにマウントされるか確かめました。問題なかったです。

samba で大苦戦中

実は、 samba の設定で大苦戦しています。 Mac からユーザー名とパスワードを入れてもはじかれてしまうのです。 pdbedit でユーザーを生成しているのですが、正しいパスワードを入れてもはじかれます。なにが原因なのか現在も調査中です。

設定ファイルで Guest ユーザーを ON にして Guest で入ることで、 macOS でのマウントが出来ることを確認して、現在はそれで暫定的に運用しています。なにが原因なのかわかっていません。そして、 Windows11 ではパスワードの入力なしでマウントされます。 Guest なんでしょうね。

気持ち悪いので、ユーザー認証がうまくいくように色々やってみます。

投稿者プロフィール

kaizawa
kaizawaブロガー
新潟県在住。1964年生まれ、東京オリンピックの年ですね。
突然燃え上がったり、鎮火したり興味の波が激しいので注意が必要です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA