Upgrade to Pro — share decks privately, control downloads, hide ads and more …

UBICネットワークプロジェクトについて

 UBICネットワークプロジェクトについて

Yuto Takamune

July 10, 2021
Tweet

More Decks by Yuto Takamune

Other Decks in Programming

Transcript

  1. UBICネットワークプロジェクトにつ
    いて
    会津大学学部一年 しんぶんぶん(高棟 雄斗)

    View Slide

  2. 自己紹介
    - ただの人間です
    - s1290035(学部一年)
    - AizuGeekDojo SA
    - 学内ハッカソン主催中(参加者
    65人集まった)
    - Zli運営
    - コミュニティ活動いろいろ
    - LINE API実践ガイド LINEログイン章 著者
    - Epson Hack Trek2021優勝
    - Epson社支援の元、PoCに向けて鋭意開発中
    - 最近やってること
    - 忙しすぎてUBICに住んでる(そろそろちゃんと寝たい)
    - Nuxt.js、Node.jsを使ったWeb開発
    - AWS使ってインフラ構築
    - ラズパイとかESP32とかで遊ぶ
    - アイデンティティ管理、認証系
    - 最近CTFと競プロを始めた
    - ツイ廃
    - 保有資格: 漢検3級、応用情報技術者試験
    ポートフォリオ(shinbunbun.info)
    @shinbunbun_
    ¥3993 マイナビ出版

    View Slide

  3. はじめに

    View Slide

  4. UBICネットワークプロジェクトとは
    - UBICとは
    - 会津大学にある「産学イノベーションセンター」の略
    - 企業のオフィスが入ってたり、学生が自由に使えるスペースがある
    - UBICネットワークプロジェクトとは
    - UBICにラズパイクラスタを設置していろいろ遊んでみよーというプロジェ
    クト
    - 僕が勝手に始めたプロジェクトなので現在構成員1人(自分)

    View Slide

  5. 現在の構成

    View Slide

  6. システム詳細
    - ルーター
    - MikroTik社のhEXを利用
    - RouterOSというLinuxを積んでおり、いろいろいじって遊べる
    - Raspberry Pi 4 ModelB (8GB)
    - OSはGentoo Linuxを採用
    - ホストマシン1台にのみストレージ(SSD)を繋ぎ、残りの3台はネットブート
    - distccを使って分散ビルド環境を構築
    - Gentoo Linux
    - カーネルもパッケージも全て手元でソースコードからビルドする楽しいディ
    ストロ
    - 必要最低限の機能のみをカーネルに内包できるため最適化できる

    View Slide

  7. 環境構築

    View Slide

  8. Gentoo Linuxインストール
    - X86_64のGentoo環境を既に持っていたため、そこにqemuをい
    れてARM用環境を構築した
    - カーネルやファームウェアまわりが鬼のように面倒臭かった
    - DNSまわりでもコケてめちゃめちゃ時間食った

    View Slide

  9. ネットブート
    - ホストマシン1台のみにSSDを接続し、残りの3台はそこからネット
    ブートした
    - なぜネットブートにしたのか
    - SDカードは耐久性が低いし読み書きが遅い
    - →SSDを使いたい
    - →4台買うと高い
    - →そうだ、ネットブートしよう
    - 単純に楽しそう

    View Slide

  10. distcc
    - ネットワーク上のホストで分散コンパイルができるやつ
    - Gentooはカーネルもモジュールもすべて手元でビルドするので恩恵が
    デカそうだった
    - せっかくクラスタ組んだので実装してみた
    - コンパイル時間の比較はしていないため実際効果があるのかは
    不明

    View Slide

  11. 今後の展望

    View Slide

  12. ラズパイの台数を増やす

    View Slide

  13. 定期バックアップを実装する
    - ホスト1台にHDDをつないで、定期的に差分バックアップをとる
    - rsyncとか使うと良いかも

    View Slide

  14. ボトルネックの洗い出し
    - ネットワーク、I/O共に理論値は問題ないが、若干動作が遅い部
    分などがある
    - CPU性能なのかI/Oなのか帯域なのかわからないけど何かがボト
    ルネックになっているはずなので、それを調査して最適化する

    View Slide

  15. リンクアグリゲーションを実装する
    - ホストマシンにつながっているEthernetケーブルの速度は理論値
    で1Gbps
    - 残りの3台に繋がっているケーブルも同じく1Gbpsだが、ホストマ
    シンがボトルネックになってそれぞれ理論値333Mbpsになってし
    まう
    - ホストマシンをリンクアグリゲーションすることで、ホストマシンの
    帯域を2倍に増やす

    View Slide

  16. k8sまたはk3sを組む
    - お手軽にWebサービスなどをホスティングできるようにしたい
    - くばちゃん組んでいろいろなサービスを載せたい

    View Slide

  17. LDAPを導入
    - 学内システムの認証基盤をLDAPで使える
    - 学籍番号とかでログインできるようにしたい

    View Slide

  18. さいごに

    View Slide

  19. 仲間大募集中(学内向け)
    - 一緒にやってくれる仲間を大募集中
    - ネットワークとかセキュリティとかインフラとかLinuxとか低レイヤと
    か、とにかくその辺が好きな人はぜひ

    View Slide

  20. 支援募集中(学外向け)
    - 機材や技術的知見が足りないなどの問題が...
    - 機材提供や技術支援をしてくださる企業さんがいらっしゃれば是
    非ご連絡いただけると嬉しいです🙏

    View Slide

  21. まとめ
    Gentoo Linuxマジで辛いから絶対やめとけ
    Gentoo Linuxめっちゃ楽しいからみんな使ってみよう!
    特にLinux初心者におすすめだよ!!!

    View Slide