立ち話

興味があることを書いてます。正確な内容は公式ドキュメントや参考文献を確認してください。ブログに示された意見はすべて個人の見解であり、所属する組織の公式見解ではありません。

自宅インフラを育てる (2) サーバーを自作して仮想化する

はじめに

前回、ネットワークまわりの改造をしました。

seekt.hatenablog.com

今回は、サーバーを自作したことについて書こうと思います。

なぜ自作サーバーを作ろうと思ったのか???

前の記事でも少し書きましたが、なぜ今時自作サーバーを作ろうと思ったかについてもう一度触れておきます。

  • 環境構築とかネットワークまわりの勉強をしたい
    • 自分で作れば多少勉強できる気がした
  • 自分で使うための用途にサブスクのクラウドは使いたくない
    • どれくらい使うかわからないし、課金はしたくない
  • 自分で好きなだけ使える
    • いくら使ってもいいし、いくら壊してもいい (電気代はかかるけど)
  • ロマン
    • 『家にサーバーあります』ってかっこいいよね

今回自作したサーバーについて

用途

  • 24時間稼働で、サーバー上で仮想サーバーが何台も動く
    • ハイパーバイザ型にする (Proxmox を使う)
    • グラフィック機能はそれほど必要ない

この目的にあったサーバーを組むために、PCショップのTSUKUMOで店員さんに相談しました。

店員さんに相談するのは良いぞ。自作するときは相談しよう。

構成

相談した結果、今回の構成は以下のようになりました。

→ 約15万円

思ったよりは安く済みました。

マザーボード

CPU、メモリ、SSD、電源とか

サーバーを組む

組み立ての様子

組み立て後の PC

組み立て後の BIOS の画面

組み立てはかなり楽でした。理由としては、

  • 起動診断を TSUKUMO さんにお願いしていた
    • マザボにCPU、SSD、メモリをつけたままにしてくれた
    • 事前に BIOS が起動するのを確認してくれた
  • ケースが大きい
    • マザボや電源の取り付けが楽だった

ということが挙げられます。

Proxmox の導入

今回自作したサーバーは、Proxmox をインストールしてハイパーバイザ型の仮想マシンを動かすことにしました。

ハイパーバイザ型の仮想マシン

Proxmox の特徴

  • Webの管理画面で仮想サーバーの管理ができる
  • 無料で使える (VMWare ESXiは有償になってしまった)
  • SSHでサーバーに入ることができる
  • 複数ノードのクラスタもできる
    • サーバーを冗長構成にできる (今回はやってない)
  • 仮想サーバーのスナップショット機能がある

無料で使えるのが大きい (あと勉強にもなる) ので、今回は Proxmox を使うことにしました。

Proxmox のインストールと設定

Proxmox のインストールの様子

インストールについては、記事や動画が公開されていました。今回は以下の2つを参考にしました。

www.youtube.com

qiita.com

インストール後は、サブスクリプションなしでも使えるリポジトリを追加する必要があります。

(1) /etc/apt/sources.list に以下を追加

deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription

(2) /etc/apt/sources.list.d/pve-enterprise.listコメントアウト

#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise

ここまで設定すると仮想マシンを作れるようになります1

Proxmox の Web 管理画面

まとめ

  • サーバーを自作しました。
    • 総額15万円でした。安い。
  • 店員さんに相談するのは良いぞ
    • 詳しい人に聞いたほうが絶対良いです
    • 最初自分で構成を考えて行ったけど、それを直してもらえる
  • Proxmox をインストールして、Webコンソールから仮想サーバーをいくつか作りました。
  • 今後の予定
    • スイッチングハブを買う (LANポートが全部埋まってしまった)
    • NASを導入して Proxmox のストレージに使いたい
    • 色々動かして遊ぶ

  1. 仮想マシン作成時は、起動前に VM の Options の KVM hardware virtualization を “No” に変更する必要があります。