突撃!お宅の外部ストレージ

こんにちは。株式会社フィックスポイントのよしだです。

今回は勉強会の内容ではなく、フィックスポイント社員のストレージ環境についてインタビュー形式で紹介します。

プロダクトデベロップメント部のエンジニアのみなさんにお話を伺いました😊

各々特色も様々ですので、社内にどんなスタンスの人がいるのか知りたい方は是非見てみてください!

f:id:aqui_jasmine:20211210123352p:plain

No.1 @lambdalisue (古参、リーダー)

最初はこの人!PD部きっての切れ味を持つ @lambdalisue さんです!

切れ味もさることながら、技術もピカイチという…すごい方です。

メインNAS

QNAP の TS-251D を使ってます。

f:id:aqui_jasmine:20211221134040j:plain ※ @lambdalisue さん撮影

かわいい見た目で意外でした!(偏見)

これのいい点とかあるんでしょうか?

主に三点ありますね。

  • Celeron 積んでるので、それなりに高速に動くこと
  • メモリを自分で変更できること(DDR4 2GB から 16GB に変更した)
  •  Container Station とやらで Docker イメージ立ち上げ放題なこと
    • Cloudflare の DDNS 更新サーバー
    • CoreDNS を使った宅内DNS
    • grafana
    • influxdb
    • smokeping x 2
    • 7 days to die(基本停止)
    • ARK(基本停止)
    • Minecraft(基本停止)

ゲームがことごとく停止してて笑いました。

バックアップ

買い替え前の NAS (ReadyNAS 104) に rsync してます。

つよそう。

悩み

Container Station で立ち上げるイメージの設定が立ち上げ時にしかできないことです。

なるほど…たしかにちょっとめんどくさそうですね😩

No.2  @wistnki (2021年卒、つよつよ新人)

続いてはこの人!新人研修で「打刻するやつ*1」という神システムを作成した強めな新卒社員 @wistnki さんです💪

サーバー

  • ストレージ
    • ファイルシステム記憶域プールで RAID5/RAID6 相当の領域を確保して、下記 VM 牧場に供給しています。
      • 4U のマシンに HDD 10 個と SSD 4 個を搭載(ストレージサーバー本体用のシステムドライブは別)
      • いまのところ計約 11TB 分のディスクから 7TB くらい切り出せる予定
    • SMART で異常が検知されると雫さん*2からメールが来ます。
  • VM牧場 
    • NAS(Open Media Vault:上記ストレージには直接触らず、NAS🍆としてはこちらを使います。
    • ソフトウェアルータ(OpenWrt)
    • VPNの門(SoftEther VPN
    • メトリクス可視化Grafana + InfluxDB
    • リポジトリサーバ
    • Windows でできないことをする VM       などなど

 f:id:aqui_jasmine:20211220180838j:plain ※ @wistnki さん撮影

VM ホストのことをVM牧場と呼んでいるんだそうです!

しかしこれを作るには通常の機能?では賄えないのでは…?

そうですね、一般的なマザーボードだとSATAポートが4~6個しかないです。

そこで、SATAポートを増やすやつを使っています。

僕の場合は、ホストバスアダプタ LSI SAS 9207-8i を使って SATA ポートを 8 個生やしています。

使用するにあたって注意するべき点は下記の通りです。

  • 拡張カードを使って増設する必要があるが、SATA ポートを増やすカードにはいくつか種類がある(下の表参照)
  • ホットスワップに対応しているかどうかも確認要
  • ものによっては、HDD一つ一つが直接見えなかったり、カードに接続されている HDD としか認識されない。そのため、雫さんによる監視がやり辛いこともある

【ざっくりとした分類】

種類 ホストバスアダプタ RAID カード ポートマルチプライヤ
概要 SATA ポートを増やして接続できる HDD/SSD を増やすやつ 左記に加え、 RAID 構成を管理する機能付き 接続できる HDD/SSD を増やすが、それらで SATA ポートを共有するやつ
解説 上記のマシンを組むのにちょうどよいです。 上記のマシンを組むのにはオーバースペックかもしれません。記憶域プール や ソフトウェア RAID などに依らず、RAID の管理をカードがやってくれるので一番性能が出ます。ただ、カードが故障すると中のデータも……👼 上記のような用途ではなく、単に接続できるディスクを増やしたいなら一番安くできます。

なるほどわからん。※筆者の理解力不足です。

ちなみにメリットは下記の通りだそうです😊

  • どこのご家庭にもある余った HDD をメーカー・容量・型番問わず適当に挿して活用できる、お手軽機構で巨大なストレージが作れる点
    • なおかつ、マシン自体や OS が壊れても、ストレージを構成する HDD/SSD が(既定枚数)無事であればデータも無事
  • VMを軽率に生やせる点
  • とりあえずそこに何もかも突っ込んでおけばよいという点。パソコンにはあまりデータがないので、OSのクリーンインストールに対する心理的負荷が下がります。

メーカー等を合せなくていいというのはシンプルに便利そうですね!

バックアップ

仮想ディスクファイルを適当な外付け HDD にコピペしてます。なお手動。

なお手動。

悩み

あまり速度がでないことです。

No.3 @yoh2_sdj (デバイス大好きおじさん)

次はこの人!@yoh2_sdj さんです!

バイスを色々買い漁っているそうです。笑 最近VRゴーグルも買ったらしいです!

ファイルサーバー

  • 専用機ではなく自作機 + Linux で構築
  • HDD (8 TB) x 10 のソフトウェア RAID6
    最初期は HDD (160 GB) x 4 のソフトウェア  RAID5 だったのがすくすく育ちました
  • HDD は 5 インチベイ 3 段貫いて HDD 5 台入るエンクロージャを2つ入れて格納
  • ファイルシステム: XFS
  • 対応プロトコル: NFSv3, NFSv4, SMB (Samba)

  f:id:aqui_jasmine:20211220181212j:plain @yoh2_sdj さん撮影

ついに出ました自作機。絶対作ってる人いるとは思ってました。

上記にしてよかった点はありますか?

そうですね、以下二点かと思います。

  • ソフトウェア RAID なので HDD さえ付くならハードウェア問わずなこと
  • ちょっとした手違いで、エラー訂正能力限界を超えるパリティエラーを起こしたことがあります。でもソフトウェアをいじって無理矢理認識させて、データのサルベージをしました。OSS 万歳🙌

二点目すごいですね😳

OSSだから為せる技ですね。

バックアップ

そんなものはない (一度誤 rm やらかして泣きを見ました)

    f:id:aqui_jasmine:20211214133541p:plain

そんなものはない。という上での rm はつらいですね…

悩み

滅多に使わないので、メンテコンマンドの mdadm の使い方を毎度忘れることです。

使わないもの=忘れ去られゆく存在。

No.4 @mirko-san (キーボード好き)

 @mirko-sanさんは、趣味キーボード集めを自負するほどキーボードがお好きなんだそうです!7台も所有しているとか!!

メイン NAS

Synology の NAS DS216j RAID1 を使用しています。

f:id:aqui_jasmine:20211220181556j:plain ※ @mirko-sanさん撮影

かわいい!そして隣にSwitchが🎮笑

電源ランプが点いていないのは 、 DS216j  のハイバネーションスリープモード中はランプが消灯するためだそうです。

これにしたメリットはありましたか?

以下三点かと思っています。

    • RAID1 での冗長化がとにかく安く、専門知識なくてもできたこと
    • NAS だからローカルネットワーク接続さえできればよくて、本体の置き場をある程度自由にできること
    • 私物デバイスが WindowsPC / iPad / iPhone とあるが、全てでデータが共有できて便利

私物デバイス全部でデータ共有できるのは大きなメリットに感じます😍

バックアップ

気が向いた際に、余ってるバルクのSSDやHDDを SATA - USB ケーブルで本体につないでバックアップを取っています。

気が向いた時にとっているので、リアルタイム性はないのが悩み。

意外とバックアップは注力しない人が多いんですね。

No.5 @c000 (リーダー、札幌在住) 

他記事で公開している「公開鍵暗号とは??」と「電子署名について説明してみた」は、 @c000 さんの発表を元にしています!

あと @c000 さんは勉強会の主催もしています!とても優しく頼りになるお兄さんです😊

ファイルサーバー(仮想マシン

  • FreeBSD on QEMU (Windows) で物理ディスクを直接マウントして構築した zfs
  • 基本的に 1 disk 1 pool 構成で、 RAID 等は組んでいません (可用性いらないので)
  • 定期的に zfs snap でスナップショットを取りバックアップディスクに差分転送
  • メインディスクは WD の普通のヤツ、バックアップディスクは Seagate の SMR

筆者的にはスナップショットが便利そうだなと思いました!

よかった点は下記の通りだそうです。

  • ホストが BSOD で落ちても、ファイルシステムが壊れたりはしていない
  • FreeBSD の入れ替えも何度かやっているが、 zfs の認識ができている
  • zfs で透過圧縮 (lz4) が効くので、 VM イメージ等はめっちゃ縮む
  • 意外と RAM (割り当て) が少なくても動く (数 GB は必要だと思います)
  • スナップショットがあるのでファイルを消しても安心
  • スナップショット転送時にデフラグされる
  • 容量追加とか構成変更も、スナップショットを転送すれば終わりなので楽ちん

やっぱりスナップショットがいい感じに働いているみたいですね♪

悩み

早く実体化したいでござる

お江戸でござる

No.6 @kitagawa  (新卒一期生、優しいひと)

 @kitagawa さんは、「多要素認証って??」の記事の元になる発表をしてくださっています!

いつもGatherで色々な疑問に答えてくださいます。ありがたや🙏

Google フォト

Google Pixel だと Google フォトが無制限で使えて、自動でアップロードされるので、それを使っています。

おお…!これなら私でもマネできそうです!!

Google ドライブ

ノートPCの必要なファイルは Google ドライブに上げています。
本体のフルバックアップなどは取ってません。

こちらも庶民的(?)ですね!いい意味です!

意外とそんなに凝ってない方もいるんですね😊

No.7 @TA (情シス兼務、夜行性)

筆者的にはこの記事の目玉部分だと思っています! @TA さんです!

 @TA さんは情シスも兼務しているので、社員は誰もがお世話になっている方です。いつもありがとうございますm(_ _)m

ストレージたち

多ッ…!そして全部自作…!!

やはりすごい方だ…よかった点もいっぱいありそうですね?

よかった点はこんな感じですね。

  • ZFS様のおかげでブロックレベルでの差分バックアップや透過圧縮、透過暗号化ができる
  • Solaris11に統合されたSMBによりZFSスナップショットをそのまま 以前のバージョン 機能として利用できる
  • ESXi用ストレージ02は10GbEでほぼワイヤレートまで出る。ランダムアクセスもSATA SSDくらいは出る
  • ESXiを挟む事でデバイスドライバの相性による不安定性を解消できる
    SolarisはHCL外のハードウェアで動かすとトラブルが発生しがちです。
    副次効果としてOSを維持したままハードウェアを丸ごと交換するのも楽です。
  • ESXiを挟む事で余ったCPU/Memoryリソースを他のVMで使う事ができる
  • ESXiを挟んでいてもPCIパススルーやRDMでストレージオーバーヘッドを最小限にできる

バックアップ

  • ストレージ02 -> 01 はZFS専用の自作スクリプトで自動差分バックアップ & 世代管理
  • ストレージ01 -> 03 は同スクリプト不定期に手動バックアップ(一部データのみ)
  • 消すのは忍びないがどう考えても使う予定の無いデータはストレージ04に退避している

すごい使い分けているんですね!😳

4つもストレージがあるからこそですね。

悩み

  • 昨今は落雷も激しく万一自宅に直撃雷があった時の事が心配です。もしくは同等の天災等も…
    S3 Glacier Deep Archiveとかにフルバックアップすることを検討しています。
    利用料はお手頃ですが、実際取り出すとなるとえらい時間がかかる上に数十万くらい掛かりそうなので、本当に最後の砦扱いにしないとやばそうです。
  • PERC H330(SAS3008)も買ったが、どうもESXiと相性がよろしくなく稀に見失うので使っていません。
    しかもHDDではSAS2008とパフォーマンスも消費電力も変わらないので使うメリットがないです…宝の持ち腐れ状態です。
  • 本家OracleSolaris ZFSが最も(NASとして)パフォーマンスが高いものの、先行きが少し心配です。

たくさんあるからこそ悩みも尽きないという感じでしょうか。

バックアップに数十万なんて実現したら倒れそうです…

No.8 @tennashi(先生(本当に)、たまに過激派)

最後は @tennashi さんです!

すでに掲載中の「echoコマンドの使い方について語る 」は、@tennashi さんの勉強会を元に作らせていただいています😊

 @tennashi さんの回答はとてもシンプルでした。

バックアップ

手元にしかないデータがそもそも存在しないので、消えたら作り直します。

なるほど。シンプルイズザベスト。

f:id:aqui_jasmine:20211214135715p:plain

最後に

今回は、フィックスポイント社員のストレージ環境についてまとめました。

十人十色で色々と興味深かったのではないでしょうか?

勉強会以外にも、社内の雰囲気が分かるような記事を発信できればと考えていますので、引き続き閲覧のほどよろしくお願いします!

 

 

株式会社フィックスポイントでは、一緒に働いてくれるメンバーを募集しています!

詳細は、こちらをご覧ください。

*1:打刻システムTeamSpiritとSlackを連動させたシステムです。詳細は今度ご紹介します!

*2:一部の USB 接続や Intel RAID、NVMe に対応し、ディスクに異常があればメールや音声で通知してくれるディスク (HDD/SSD) ユーティリティです。(Crystal Dew World 公式HPより)

crystalmark.info