思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD13.4】ファイルサーバーのメンテ(16):USB/RAID1ディスクの追加と設定

まだ、システム設定が残っていますが、メインファイルサーバーのバックアップファイル用領域がパンクしそうなので、ファイルサーバーにバックアップファイル用領域の仕事も任せようと思います(^^;;)。【注*1

1. USB/RAID1ディスク追加

(1)USB/RAID1ディスクユニット準備

RAID機能を持つディスクエンクロージャーを物色したところ、ロジテックの”ガチャベイ”が目に留まりました。

ファイルサーバーは”USB2.0”なので、速度的には遅いのですが、バックアップファイル用なので、多少速度が遅くても構わないのと、お値段がお手頃なので、使ってみることにしました。

HDDは、新品の録画用USBディスク2台から外した、4TBのハードディスク[*2]を使うことにします。

録画用USBディスク(*3)に内蔵されていたのは、”Segate/SkyHawk ST4000VX015”(*4)と"東芝/LHD-DT02ABA400V”(*5)。

いずれも、24時間365日通電状態を前提とした、監視カメラ向けHDDになります。

Tips:以下はあくまでも個人的な経験則によるものです😅。
  • 通常、RAIDケースの説明書では、”同一メーカー”、”同一モデル”、”同一サイズ”のディスクを使用することが推奨されています。
  • ただ、”MTFB”、”使用開始が同じディスクを使うと、同じ時期にディスクが故障する確率が高まります。
  • 特にホットスペアがないRAID0では、故障ディスクの交換後リビルトが開始されると、リビルト中に正常な残りの一本も故障する可能性が高く、再構築に失敗し、全データを失うことがあります(*6)。
  • このため、RAIDユニット使用開始時に、故障時期がずれるような組み合わせであえて構築し、HDD故障時リビルド失敗リスクを下げる方が無難だと思います
  • もしくは、1年ぐらい使用後に、”同一メーカー”、”同一モデル”新品を1本購入して、強制的に1本を交換し、外した1本は初期化の上、予備ディスクとして保管しておくのも手です。
  • なお、RAID5/6でも同じリスクはあるので、同じように構成するディスクの故障時期がずれる様にするのが望ましいと思っております。
(2)USB/RAID1ディスクユニットセットアップ

説明書通りに行えば、あっさりと設定できます。

RAID1の構築は、”本当に構築できたの?”と思うぐらいあっという間に終わります。

(3)ディスクの初期化

ディスクを使うために、パーティション作成・初期化を行っていきます。

 

root@file_sv:# gpart create -s gpt da0  ; 新規ディスクをGPTディスクにする。
root@file_sv:# gpart add -t freebsd-ufs  da0 ; ディスクすべてをFreeBSDのufsパーティションとして割り当てる。
root@file_sv:# newfs /dev/da0p1 ; パーティションの初期化。

2. USB/RAID1ディスクの設定

(1)fstabの修正

ディスクのマウント設定を行います。

root@file_sv:# cd /etc ;
root@file_sv:# vi /etc/fstab ;

下記の黄色字部分を追加します。

# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/ada0a      /               ufs     rw      1       1
/dev/ada1b      /tmp            ufs     rw      2       2
/dev/ada1d      /var            ufs     rw      2       2
/dev/ada1a      none            swap    sw      0       0
#
/dev/da0p1      /nfs/Backups    ufs     rw,noauto       2       2
   
 

あえて、”noauto”にして、起動中にマウントしないようにしてあります。

起動中、USBディスクをマウントするために、”60秒”待ってはくれるのですが、
時々、ディスクの初期化が間に合わないことがあり、起動プロセスが中断して、シングルユーザーモードに落ちてしまうことがあります😅。

そこで、USB/ディスクについては別途、ユーザースクリプトでマウントするようにします😀。

(2)マウントスクリプトの追加

USBディスクをマウントするユーザースクリプトを作成します。

root@file_sv:# cd /usr/local/etc/rc.d    
root@file_sv:# vi ./99_mount_da0.sh    

 

下記の黄色字部分を記述します。

#!/bin/sh
/sbin/mount /dev/da0p1
   

 

root@file_sv:# chmod +x ./99_mount_da0.sh ; 実行許可を与える。

 

(3)/etc/exportsの修正

他のマシンからNFSマウントできるようにNFSの設定を変更しておきます。

root@file_sv:# cd /etc ;
root@file_sv:# vi /etc/exports ;

 

下記の黄色字部分を追加します。

[..]
/nfs/Backups            -alldirs -maproot=0:10 -network 192.168.aaa.0/23
   

mountdに修正した/etc/exportsを読み込ませます。

root@file_sv:# kill -HUP [mountdのPID]    

【次回に続く予定】

ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへ

出典・引用・備考

*1:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。
同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。

*2:

*3:

*4:

*5:

*6:25年ほど前に、仕事で、サーバー用RAIDユニットを購入したのですが、RAID5を構成するハードデスクが2年で立て続けに2本飛び、危うく、全データを失いかけたことがあります😅。
ディスク1台の容量が250Gbtyeと小さかったこともありますが、ストックしておいた予備ディスクを使って何とか、しのいだことがあります。
メーカーから供給される予備ディスクは、メーカで出荷前試験を入念に行われているため、バルク品の4~5倍ぐらいの値段がしましたが、それでも、壊れるときは壊れるというの痛感しました。
翌年、同系列のRAIDユニット追加した際には、新旧RAIDユニット間でディスクのローテーションをして、故障時期のリスクヘッジをしました。