気になって仕方がない

趣味など、日々雑感メインの予定(脳へのコスト削減を重視しているので、推敲は甘めです。気にせず読んでいただけると大変うれしいです。)

CentOS 7 でソフトウェアRAID 1 構成にしたドライブをsambaでNASにしてみる

前の記事の続きです。

構築方法のメモですが、いろいろな情報のツギハギで、とりあえずやりたいことができているっぽいだけですので、ちゃんとmanを見ていくべきだとは思います。(と、いう人は多いのですが、実際「俺に聞く前にmanしろ」と言われても、ユーザの立場で構築する身としては、とりあえずできる方法を教えてくれよ、と言いたいですがね。。)

HDDのパーティション切り

SeaGateの4TBを2台ともそれぞれ1パーティション(全体)で切ります。今回はそれぞれ/dev/sdbと/dev/sdcとして認識されています。HDDは(今時の大容量モノは当然ですが)、AFT、つまり4K sectorものです。

# parted /dev/sdb
GNU Parted 3.1
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p
モデル: ATA ST4000DM004-2CV1 (scsi)
ディスク /dev/sdb: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: loop
ディスクフラグ:

番号 開始 終了 サイズ ファイルシステム フラグ

(parted) mklabel gpt
警告: いま存在している /dev/sdb のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? y
(parted) mkpart
パーティションの名前? []? primary
ファイルシステムの種類? [ext2]? ext4
開始? 0%
終了? 100%
(parted) print
モデル: ATA ST4000DM004-2CV1 (scsi)
ディスク /dev/sdb: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:

番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 1049kB 4001GB 4001GB primary

(parted) align-check
アライメントタイプ(min/opt) [最適(optimal)]/optimal/最小(minimal)/minimal? opt
パーティション番号? 1
1 アライメント済

これでよさそうですね。/dev/sdcも同様にします。AFT対応するためにpartedの単位をセクタにして、手動で開始セクタと終了セクタを設定する方法も試してみたのですが、エラーが出てうまくいかなかったので調べてみたところ、上記のように、セクタ単位指定せずにデフォルトのまま%で指定すると空気を読んでくれるようです。思っていたよりpartedが時代の流れに追随してくれていた、ということでしょうか。

RAID

mdadmで/dev/sdb1と/dev/sdc1を/dev/md0としてRAID 1化します。

# mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1

7時間くらいかかりました。状況は随時

#cat /proc/mdstat

#mdadm --detail /dev/md0

でわかります。睡眠時間が活用できるとよさそう。

mdadm完了後、フォーマットします。とくにこだわりがないので今回はxfsで。

#mkfs.xfs -f /dev/md0

あとは/etc/fstabに設定しておきます。

Samba設定

ここで意外とハマりました。というのもすべてSELinuxとFWがいけないんですが。オフにしてしまえばよいですが、オンのままでやるにはどうすればよいのかも知りたかったのです。
まず、普通にSamba設定してマウントして、LAN内のWindows 10からNASとして場所は見えているのですが、アクセスできない事象が発生します。
そこで、下記のサイト様の情報が参考になりました。
www.hiroom2.com

FWのポート設定
# firewall-cmd --add-service=samba --permanent
# firewall-cmd --reload
SELinux設定
# samba_export_all_ro on
# samba_export_all_rw on

これでうまくいきました。