思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD13.4】メインファイルサーバーのフルメンテナンス(1):メンテナンス計画を立てる

メインファイルサーバーはコツコツとメンテを行っていましたが、zfsのpoolを飛ばし、何とかpoolが見えるようになったので[*1]、一気にフルメンテナンスをすることにしました。【注*2

  • 小生の健忘禄、兼作業計画になっていますことをお詫び申し上げます🙇‍♂️

見えるようになったpoolからReplicateファイルサーバーにデータを引き上げている間(*3)、フルメンテナンスを行うための、機器構成再確認と、作業手順整理(*4)をしておこうと思います😅(*5)。

1. 現状のハード構成

メインファイルサーバーは、10年以上前にくみ上げた後、逐次、一部パーツの交換等をしたため、色々忘れています😅。

そのため、まずは、確認・整理しておこうと思います。

  メーカー 型番等
M/B GIGABYTE GA-F2A88-D3H[*6
CPU AMD AMD A8 6500 Quad Core 4.1Ghz
モリー   32Gbyte(8Gbyte × 4)
拡張スロット PCIeX16 Rocket RAID  2720SGL(6Gbps SAS/SATA ×8 / PCIeX4)
PCIeX4 Rocket RAID  2720SGL(6Gbps SAS/SATA ×8 / PCIeX4 )
PCIeX1(1) Binardat Intel 82575/82576(1GbE × 2)
PCIeX1(2) Binardat Intel 82575/82576(1GbE × 2)
PCIeX1(3)
PCI(1)
PCI(2)
オンボードストレージ端子 8 x SATA 6Gb/s

スペック的には、かなり古くなっていますが、拙宅では、FreeBSDなファイルサーバーとして運用するには十分です😀。

2. ディスク/パーティション構成変更計画

(1)ディスク構築変更
  • システムのハードディスク(HDD)のpoolを飛ばした際の復旧作業を踏まえると、
    一つのファイルシステム容量が大きすぎると(*7)、復旧用HDD容量確保にかなり苦労します😢。
  • これまでは、2枚目の”RoketRAID 2720SGL”の8ポートの内、6ポートしか使わず、1TB×(5+1)の構成でしたが(*8)、
    それでもzfsを飛ばした際のに4TB分のディスクイメージバックアップ作成・回復作業にかなり時間を取られました😢[*9]。

  • 4本のHDDでRAID5/ホットスペア付きで構成すると、実ディスクの合計容量の半分しか容量確保ができませんが、
    内部3.5インチベイも活用して、2枚目の2720SGLはSAS/SATA8ポートすべてを使い、
    一つのファイルシステムにするのではなく、4ch×2のRAID5構成にしようと思います🤔。
  • ホーム領域の大きさは、ActiveDirectoryドメインコントローラー(AD-DC)のホーム領域と将来的に同期をとるために、AD-DCとほぼ同じ容量にしておくことにします🤔。
  • また、ホーム領域は単一のファイルシステムで構成しようと思います🤔。
RAID
/HBA
port メンテナンス後 メンテナンス前
用途 ファイルシステム サイズ RAID ディスク構成 用途 ファイルシステム サイズ RAID ディスク構成
2720SGL
1-1 システム用
(”/”)
/dev/da0 64GB 1 6Gbps SATA/SSD 64Gbyte システム用
(”/”
、”/usr
、”/var”)
/dev/da0 64GB  1 6Gbps SATA/SSD 64Gbyte
1-2 6Gbps SATA/SSD 64Gbyte 6Gbps SATA/SSD 64Gbyte
1-2 6Gbps SATA/SSD 64Gbyte(HotSpare 6Gbps SATA/SSD 64Gbyte(HotSpare
1-4 システム用
(”/tmp”
、”swap”
、”/var”)
/dev/da1 136GB  0 6Gbps SAS 136G システム用
(”/tmp”
、”swap”)
/dev/da1 136GB  0 6Gbps SAS 136G
1-5 ホーム領域用 /dev/da2 4TB 5 6Gbps SATA 2Tbyte データ領域用 /dev/da2 1TB 5 3Gbps SATA 500Gbyte
1-6 6Gbps SATA 2Tbyte 3Gbps SATA 500Gbyte
1-7 6Gbps SATA 2Tbyte 3Gbps SATA 500Gbyte
1-8 6Gbps SATA 2Tbyte(HotSpare 3Gbps SATA 500Gbyte(HotSpare
2720SGL
2-1 データ領域用 /dev/da3 4TB 5 6Gbps SATA 2Tbyte ホーム領域用
/データ領域用
/dev/da3 4TB 5 3Gbps SATA 1Tbyte
2-2 6Gbps SATA 2Tbyte 3Gbps SATA 1Tbyte
2-3 6Gbps SATA 2Tbyte 3Gbps SATA 1Tbyte
2-4 6Gbps SATA 2Tbyte(HotSpare 3Gbps SATA 1Tbyte
2-5 データ領域用 /dev/da4 2TB 5 3Gbps SATA 1Tbyte 3Gbps SATA 1Tbyte
2-6 3Gbps SATA 1Tbyte 3Gbps SATA 1Tbyte(HotSpare
2-7 3Gbps SATA 1Tbyte  
2-8 3Gbps SATA 1Tbyte(HotSpare

 

(2)システムパーティションの構成確認

システム用ドライブ(/dev/da0)内のパーティションは2つに分けた気がするのですが🤔、念のため確認しておきます😀。

root@main_sv: ~ # gpart show  パーティション・スライスの確認

現在のFreeBSD8.4が入っている一つ目のパーティション(29GB)の他に、29GBのパーティションがありました😀。

もともと、O/Sをバージョンアップ(新規インストール)する際、古い設定の情報を残しておくために、2つ目のパーティションに新しいO/Sをインストールすることを想定していましたので、ここにFreeBSD13.4をインストールします😀(*10)。

2. メンテナンス手順計画

(1)FreeBSD13.4のインストール

基本的な操作は、Replicateファイルサーバーを作った時*11]と同じになります。

パーテイション・スライス構成はFreeBSD8.4の時と少し変える事にしようと思います🤔。

ハードディスク(HDD)は、通電時間と停止起動回数で寿命が決まります

SSDは、書き込み回数で寿命が決ります*12等]。

FreeBSD8.4をインストールする際は、なぜか、それなりに書き込み回数の多い”/var”(*13)をSSDで構成されている”da0”に置いてしまいました(*14)。

改めて、考えると、”/var”はSSDに置くのではなく、HDD(da1)のスライス内(da1s1)を再構成して、"swap"、"/tmp"に加えて、書き込み回数の多い"/var"を置くことにした方がよい気がしてきました🤔(*15)。

(2)ツール類のインストールと設定
  1. )ネットワーク設定

  2. )ssh設定

    まずは、以降の作業のために、rootでTeraTermから接続できるように、sshを仮設定する[*16]。

    • "bsdconfig"を使って、sshd有効化

    • ssh/rootログイン許可

    • ssh/パスワード認証許可

  3. )NISクライアント設定
    ローカルユーザを個別のマシンごとに登録するとUID/GIDの設定で混乱するのでNISでユーザー管理をしています。
    NISユーザーがログインできるようにNISクライアントの設定を行います。
  4. )wheelユーザー追加
    NISユーザの内、rootになれるユーザーを”/etc/group”のwheelグループに登録します。
  5. )ssh再設定
    NISユーザーでのログイン・"su"が出来る様になったら、セキュリティリスクのある、rootによるsshログインを無効化する。
  6. )nfs設定
    "bsdconfig"を使って、NFSクライアントとサーバを有効化する[*17]。

  7. )am-utilsのインストールと設定*18

    • am-utilsのインストール
      ”pkg install”でam-utils6.1.5をインストールする。
      am-utilsのマウントマップをNISからActiveDirectory(AD)に移行する予定なので、ADに対応しているam-utils6.2をインストールしたいところですが😅、
      マウントマップのNISへの移行・am-utilsとADとの連携のテストをしていないので、あえて、安定しているam-utils6.1.5をインストールする事にします😀。
    • "bsdconfig"を使って、am-utilsを有効化
    • ”/etc/amd.conf”の修正
    • システムのリブート
    • am-utilsの起動確認
  8. )ツール群のインストール
    • ”jless”、etc.
      ”pkg install”でインストール。
      ”jless”をインストールすれば、日本語関係のライブラリも一緒にインストールされるはずなので、”jless”をインストールしておきます。
      他にも入れておいた方がよいものもあった気もしますが🤔、取り敢えず😅。。。。
(3)NIC交換・設定変更[*19
  1. )kernel再構築:不要なNICを削除
  2. )再構築kernelインストール
  3. )1GbE×2port/NIC2枚の内、サーバー間通信用の1枚を2.5GbE×2port/NICに交換
  4. )/etc/rc.confを修正して、2.5GbE/NICの1ポートを有効化。
  5. )/etc/rc.confを修正して、LAGの設定。
  6. )もう1枚の1GbE×2port/NICを2.5GbE×2port/NICに交換後、LAG設定・動作確認。
(4)RAID5領域作成とリカバリデータコピー
  1. )ホーム領域用/データ領域用RAID5構築・領域作成
  2. )ssh/rsyncの設定
    rsync"による回復データの転送速度を向上させるために、rsyncを”-z”オプション付きで実行できるように、メインファイルサーバーとReplicateファイルサーバーを設定。
  3. )リカバリデータのコピー
  4. )リカバリ試行データとの差分確認
  5. )nfs設定変更
  6. )NISnfsサーバー設定マップ変更
  7. )am-utilsのキャッシュフラッシュ(amq -f)
(5)サーバー機能の設定
  1. )Replicateファイルサーバーとの同期設定(rsync/ssh
  2. )samba4設定
  3. )ftp有効化
  4. )メインファイルサーバーとReplicateファイルサーバーへのsyslog設定
  5. )BluRayアーカイブユニットの設定

 

【次回に続く予定】

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

出典・引用・備考

*1:

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

*3:そこそこサイズがある上、
rsyncをパフォーマンスの悪いnfs経由で引き上げているもので。。。

*4:記憶を頼りに作業を進めると途中ではまりそうなもので。。。

*5:記憶を頼りに作業を行うと、この歳では確実にチョンボをしそうです😅。

*6:"GA-F2A88X-D3H (rev. 3.0)"、日本ギガバイト株式会社、 https://www.gigabyte.com/jp/Motherboard/GA-F2A88X-D3H-rev-30、最終閲覧日:2025年9月21日

*7:RAIDの8ポートすべてを使って、ファイルシステムを構成した場合。

*8:ホットプラグドライブケージ・DVDドライブの台数とフロント5インチハーフベイの数の関係で2ポートは使っていませんでした😅。

*9:

*10:現状、MBRな状態ですが、FreeBSD14.4が出たら、GPT化も含めて、また考えることにします。

*11:

*12:"SSDの寿命はどれくらい?寿命を縮める原因と対策方法をご紹介"、2023.09.19、ロジテックINAソリューションズ株式会社、https://www.logitec.co.jp/data_recovery/column/vol122/、最終閲覧日2025年1月4日

*13:今考えれば、/usr等より/varの方が書き込み回数が多い

*14:記憶が曖昧なのですが、JBODなHDDに置くより、障害発生時に確実にログが確認できた方がよいと判断したような気が🤔。。。。

*15:現在のシステム構成であれば、メインファイルサーバーとReplicateファイルサーバーへのsyslog設定を行えば、ログ確認は容易になりますので😀。。。

*16:

*17:

*18:

*19: