ジャンクのThinkpad E430にProxmoxを導入し、Ubuntu ServerとAmazon Linux 2023を動かす
この記事はなんですか
2025年4月現在予算1万前後でそこそこ使えて場所を取らないProxmoxノードを用意するにはどうしたらいいか考える過程でラップトップをサーバとして使う方法を手順にまとめた方法です。まともに予算がある場合はミニPCかスリム型デスクトップ、ラックサーバをおすすめします。
Proxmoxのインストール手順だけ読みたい方は目次から飛べます。
この作業のモチベーションはなんですか
自宅に仮想化基盤を用意することで検証用やアプリサービスを自前で持つことができます。
仮想基盤といえばVMware vSphere(ESXi)が主流でしたが、無償ライセンスの提供が終了した上にvMotionやVCenterなどのクラスタリング機能は個人導入では高額でNICやUEFI等のハードウェア要件もエンタープライズ向けで、新規で個人が導入するメリットは無くなりつつあります。また前述したクラスタリングの機能はProoxmoxでほぼ実現できています。
Proxmoxをただ入れるだけの手順ではESXiとほぼ同じであり、ハードの整備をしているうちに諸々発見があったのでそちらも載せます。自宅ではすでにProxmoxが入ったミニPCが2台がクラスタを組んで稼働しているおり、ついでにそのクラスタに追加したいと思います。
余談ですが、ここ数日(2025年4月)Proxmox関連の書籍が立て続けに出版されるなどかなり熱いです。
Thinkpad E430を準備する
開封と動作確認
買ったものはこちらです。最終的に3200円くらいでした。(ジャンク扱い)
天板はボロボロ、右上が破損してますがモニター部は捨てるのでどうでもいいです。
電源を入れます。純正ACアダプターは卓上だと邪魔なのでPDトリガーケーブルで給電します。
(商品説明で事前確認済み)ハードウェアロックのエラーが出ています。BIOS用の電池が切れてるので後ほど交換します。
BIOSからBoot Priorityを確認するとHDDが刺さっていました。
ハードウェアクロックのエラーをEscキーで無視するとWindowsが起動しました。
NICは使えるみたいだったのでとりあえず安心です。
分解清掃とパーツ交換
かなり埃が溜まっているので分解してエアーダスターを吹いてエレクトリッククリーナーで洗浄します。また、このままスペックでは厳しいので自宅に転がっているパーツと交換します。
Thinkpadはわかりやすい保守マニュアルを公開しているため、僕のような小学生でも簡単に分解組み立てができます。小さすぎるネジは無く、種類もほぼ固定箇所で固まっています。
ハードウェア保守マニュアル
え?
なんですって?
僕は特殊な訓練を受けているので無視して進めます。
全バラする順は、キーボードが先であとは特に無いです。
今回交換するパーツです。
# | 品目 | 交換前 | 交換後 |
---|---|---|---|
1 | CPU | Intel Core i5 3210M (2Core4Thread) | Intel Core i7 3630QM (4Core8Thread) |
2 | メモリ | DDR3 4GB | DDR3 16GB(8GBx2) |
3 | ストレージ | HDD 480GB? | SSD 1TB |
4 | BIOS用電池 | 電池切れ | 新品 |
CPUを交換します。
固着したグリスを剥がします。マイナスドライバーで削りたくなりますが、傷がつくので分解用のセパレーター(ピック)などを使ったほうがいいです。※このあとアルコールシートで拭いています。
CPUを3630qmに交換してグリスを塗ります。ついでにチップセット用のサーマルパッドも交換します。
4GBのメモリを抜いて2枚の8GBメモリを挿します。
BIOS用の電池を交換します。
HDDをSSDに差し替えます。HDDの端子がかなり硬かったです。
LCDディスプレイ液晶を外します。外す前にBIOSメニューの[Config]-->[DIsplay]からBIOSメニューの表示先をHDMIに変えます。これをやらないと後で外部ディスプレイからBIOS画面が見えません。(最初からBIOS画面をデフォルトでミラーリングしてくれればいいのですが)
ついでに仮想化を有効化しておきます。これを有効化しないとProxmoxのコア機能である仮想化が使えず、インストールできても仮想マシンが起動しません。
ネジを閉める前に動作確認します。(一時的にWindowsが入ってた元のHDDに戻す)
逆の手順で組み立ててて完成です。(無線LANボードはディスプレイ部のアンテナとともに使わないので抜きました。)バッテリーは使用しないので抜いておきます。
Proxmox VEのインストール
Proxmox VEのISOイメージのダウンロード
2025年4月12日時点では8.4が最新のようです。
Proxmox VE 8.4 ISO Installer-->Download
ブータブルUSBの作成
Rufasのダウンロード
この記事ではWindowsPCとRufusを使ってProxmoxをインストールするUSBメモリを作成します。
macではbalenaEtcherとかでも良いです。
導入対象のハードウェアがLegacyBIOSの場合DVDに焼いてDVDから起動してください。
2GB以上の中身が消えてもいいUSBメモリを用意し、挿しておきます。誤って選択するとデータが飛ぶので使わないUSBストレージは抜いておいたほうがいいです。
Rufus(exe)を起動して、デバイスで先程挿したUSBメモリを選択し、先ほどダウンロードしたISOイメージを選択します。
ISOHybridイメージの検出は[OK]で良いです。
[OK]
書き込みが始まります。
準備完了になったら完了なので。[閉じる]を押してUSBメモリを抜きます。
Proxmox VEのインストール
先ほど作成したブータブルUSBをインストール先のPC(この手順では先程のThinkpad)
また、LANに接続しておきます。
USBからブートするとメニューが表示されます。
Install Proxmox VE (Graphical)を選択してEnterキーを押下する
(ちなみにこのThinkpad+HDMI出力ではバグり散らかして画面が点滅しましたが、画面からメニューが表示されてること確認してEnterキーを押し、暫く待つとインストーラーが表示。インストーラー以降は表示バグらなかったのでブートローダーと相性が悪いんだろう)
インストーラーが起動するまで待ちます
右下の[I agree]をクリックします
インストール先のドライブを選択して右下の[Next]をクリックします
(参考)今回のThinkpadの場合"/dev/sda (931.51GiB, WDC WD100T2B0A)"
環境に合わせて以下の情報を入力、選択して右下の[Next]をクリックします
- Conuty
- Time zone
- Keybord Layout
rootパスワードEメールアドレスを入力して右下の[Next]をクリックします
環境に合わせて以下の情報を入力、選択して右下の[Next]をクリックします - Managemet Interface : 管理用LANのインターフェース
- Hostname(FQDN) : ホストネームや名前解決に使う迷ったら".local"つけておけばいい
- IP Address(CIDR)
- Gateway
- DNS Server
Thinkpad E430の場合
設定確認後、右下の[Install]をクリックします
Automatically~~にチェックを入れるとインストールが終わると自動で再起動して起動してくれます。
インストールが始まるので終わるまで待ちます。
再起動後、Webコンソール接続するためのIPアドレス(インストール時に設定したもの)が表示されるので
作業用PCでブラウザからアクセスします
(証明書エラーが出るので)[詳細設定]-->[(設定したIPアドレス)に進む (安全ではありません)]をクリックする。※chromium系ブラウザの場合
インストール時に設定したログイン情報でログインします。(初期ユーザーはroot)
有効なサブスクリプションがありませんというダイアログが出るので[OK]をクリックする。
(無償で使用する場合)有償のリポジトリを削除する
[データセンター]-->[設定したホスト名]-->
オリジンがProxmoxになっている2つのリポジトリを選択後、[無効]をクリックして無効化する
仮想マシンの作成(Ubuntu Server編)
Proxmoxのインストールは終わったので仮想マシンの作成を行っていきます。この章ではUbuntu Serverをインストールします。作業完了時のイメージは以下になります。
UbuntuのISOイメージの準備
今回は左側のLTS版をダウンロードします。
Proxmoxにアップロードします。
左カラム[データセンター]-->[(今回設定したホストネーム)]をクリック、local-->[ISOイメージ]-->[アップロード]、ファイルを選択後前段手順でダウンロードしたISOイメージを選択、[アップロード]をクリックする。※必要であればチェックサムを入れる
TASK OKと表示されれば完了。[X]をクリックして閉じる。
仮想マシンの作成
左カラム[データセンター]-->[(今回設定したホストネーム)]を右クリック、もしくは画面右上の[VMを作成]をクリック
仮想マシンの全般設定。以下の情報を入力、選択後[次へ]をクリックする。
・ノード:仮想マシンを稼働させるノードを選択(この時点ではクラスタを組んでないので、デフォルトで良い)
・VM ID:仮想マシンに振り分ける番号。クラスター間で重複できないので、後にクラスタに参加させる場合は注意が必要
・リソースプール:未選択で良い
・名前:仮想マシンの名前
仮想マシンのOS設定。以下の情報を入力、選択後[次へ]をクリックする。
- CD/DVDイメージファイル(iso)を使用
- ストレージ:local
- ISOイメージ:先ほどダウンロードしたISOイメージファイルを選択
仮想マシンのシステム設定。以下の情報を入力、選択後[次へ]をクリックする。(デフォルトでも良い)
- BIOS:OVMF(UEFI)
- EFIストレージ:local-lvm
仮想マシンのディスク設定。以下の情報を入力、選択後[次へ]をクリックする。シンプロヴィジョニングだったはずなので指定量一気に消費はしなかったと思います。 - ディスクサイズ(GiB):64GB
仮想マシンのCPU設定。以下の情報を入力、選択後[次へ]をクリックする。 - コア:2
仮想マシンのメモリ設定。以下の情報を入力、選択後[次へ]をクリックする。 - メモリ(MiB):4096
仮想マシンのネットワーク設定。以下の情報を入力、選択後[次へ]をクリックする。 - ブリッジ:vmbr0
仮想マシンの設定確認。情報を確認後、[完了]をクリックする。
Ubuntu Serverのインストール
仮想マシンが作成されているので左カラムから選択し、[▶開始]をクリックする。
(コンソール画面内で作業)
[Try or Install Ubuntu Server]を選択してEnterキーを押下する。
[English]を選択してEnterキーを押下する。日本語以外に優先する言語があれば任意で選択する。
以下の内容を選択して[Done]にカーソルを置きEnterキーを押下する。キーボードレイアウトは任意で選択する。
- Layout:Japanese
- Variant:Japanese
以下の内容を選択して[Done]にカーソルを置きEnterキーを押下する。 - choose the base for the installation.
- Ubuntu Server
[ens18 eth -]にカーソルを置きEnterキーを押下する。(IPアドレスを固定せずDHCPを使用する場合は不要)
[Edit IPv4]にカーソルを置きEnterキーを押下する。
[Atomatic(DHCP)]にカーソルを置きEnterキーを押下する。
[Manual]にカーソルを置きEnterキーを押下する。
以下の情報を入力後[Save]にカーソルを置きEnterキーを押下する。
- Ubuntu Server
- Subnet:サブネットマスクではなくサブネットを入力する。(例:xxx.yyy.zzz/aa)
- Address:
- Gateway:
- Name servers:
- Search domains:
[Done]にカーソルを置きEnterキーを押下する。
プロキシサーバ配下の環境の場合Proxy addressにプロキシサーバのアドレスを入力する。
この手順の環境ではプロキシサーバを使用していないため空白のまま[Done]にカーソルを置きEnterキーを押下する。
リポジトリの疎通確認が走るのでThis mirror location passed tests.が表示されたら[Done]にカーソルを置きEnterキーを押下する。
インストール先のディスク設定を行う。本手順ではデフォルト設定から変える要件はないのでそのまま[Done]にカーソルを置きEnterキーを押下する。
ディスク設定の確認を行う。本手順ではデフォルト設定から変える要件はないのでそのまま[Done]にカーソルを置きEnterキーを押下する。
ubuntuインストール先のディスクが削除される確認が表示されるので[Continue]にカーソルを置きEnterキーを押下する。
以下の情報を入力後[Done]にカーソルを置きEnterキーを押下する。 - Your name:
- Your servers name:ホスト名
- Pick a username:linuxのユーザ名。Your nameと何が違うのかわからない
- Choose a password:
- Confirm your password:
Ubuntu Proの設定を行う。本手順では利用しないのでそのまま[Continue]にカーソルを置きEnterキーを押下する。
SSHのインストール可否(有効有無)を選択する。本手順ではSSHを利用するため、Install OpenSSH serverにカーソルを合わせてスペースキーを押下して有効化([X])し、[Done]にカーソルを置きEnterキーを押下する。
他ソフトウェアのインストール項目を選択する。本手順ではデフォルト設定から変える要件はないのでそのまま[Done]にカーソルを置きEnterキーを押下する。
インストールが始まるので終わるまで待ちます。
Installation complete!とひょうじされるので[Reboot Now]にカーソルを置きEnterキーを押下する。
Failed unmounting cdrom.mount - /cdrom.と表示される。
この仮想マシンのハードウェア設定-->[CD/DVDドライブ]を選択して[編集]をクリック後、「メディアを使用しない」を選択し、[OK]をクリックする。
コンソール画面に戻り、Enterキーを押下すると再起動する。
しばらくするとログイン画面が表示される。※rootユーザーは存在しないため、インストール時に指定したユーザーでログインする。(sudo権限はデフォルトで付いている)
ログインするとIPv4 address for~にインストール時に設定したIPアドレスが表示される。SSHでログインする場合はこのアドレスを指定する。
仮想マシンの作成(Amazon Linux 2023編)
次はAmazon Linux 2023の仮想マシンを作成していきます。Amazon Linuxはマシンイメージが提供されていますがISOイメージやISOイメージから起動できるインストーラでは無いため、一般的な仮想マシン作成やOSインストールとは勝手が違います。すでに偉大な先人が行った手順があるので参考にしつつ進めていきます。
- KVM で AL2023 を実行するための要件
Amazon Linux 2023イメージのダウンロード
Proxmoxにログイン後、[データセンター]-->[(設定したProxmoxのホスト名)]-->[>_シェル]をクリックしてProxmox本体のコンソールに入る。(もしくはSSHでログインする。)
作業用ディレクトリの作成
mkdir amazon
cd amazon
Amazon Linux 2023のイメージの保管場所を調べる。
以下のURLにアクセスして(https://cdn.amazonlinux.com/al2023/os-images/latest/)
ビルド番号を調べる。
kvm/をクリックしてkvmディレクトリに入る。
2025年4月16日時点での最新のイメージは
"al2023-kvm-2023.7.20250331.0-kernel-6.1-x86_64.xfs.gpt.qcow2"のようです。
Amazon Linux 2023のイメージをダウンロードする。
URLとファイル名は読み替えてください。
wget https://cdn.amazonlinux.com/al2023/os-images/2023.7.20250331.0/kvm/al2023-kvm-2023.7.20250331.0-kernel-6.1-x86_64.xfs.gpt.qcow2
root@epimetheus-3:~/amazon# ls -l
total 1747524
-rw-r--r-- 1 root root 1789460480 Apr 2 05:55 al2023-kvm-2023.7.20250331.0-kernel-6.1-x86_64.xfs.gpt.qcow2
仮想マシンの作成
Promox本体のコンソール画面もしくはSSH接続で作業を行います。
以下のコマンドでVMを作成します。引数の値は適宜読み替えてください。
私の環境ではcpuをhostに指定しないとkernel panicが発生し起動しませんでした。
# | 引数 | 値 |
---|---|---|
1 | VM ID | 304 |
2 | 仮想マシンの名前 | epi3-al23-1 |
3 | CPUコア数 | 2 |
4 | CPU種別 | host |
5 | メモリ容量 | 6144MB |
qm create 304 \
--name "epi3-al23-1" \
--cores 2 \
--cpu host \
--memory 6144 \
--net0 virtio,bridge=vmbr0 \
--boot c \
--bootdisk scsi0 \
--scsihw virtio-scsi-pci \
--serial0 socket \
--vga serial0
ブラウザダッシュボードに戻ると仮想マシンが作成されています。
※スクリーンショットではプロセッサが2(1sockets,2cores)となっていますが正しくは2(1sockets,2cores)[host]です。
コンソールに戻り、qmコマンドでディスク(イメージ)をVM(304)にインポートします。
- al2023-kvm-2023.7.20250331.0-kernel-6.1-x86_64.xfs.gpt.qcow2はダウンロードしたファイル名で読み替えてください。"successfully imported disk"と出れば完了です。
- qmコマンドのオプション304は仮想マシン作成時のVM IDで読み替えてください。
qm importdisk 304 /root/amazon/al2023-kvm-2023.7.20250331.0-kernel-6.1-x86_64.xfs.gpt.qcow2 local-lvm -format qcow2
ブラウザダッシュボードに戻り仮想マシンの設定を変更します。
[未使用のディスク0]をクリックして選択後、[編集]をクリックしてバス/デバイスを"SATA"へ変更後[追加]をクリックする。
※スクリーンショットではプロセッサが2(1sockets,2cores)となっていますが正しくは2(1sockets,2cores)[host]です。
[追加]-->[Cloudinitデバイス]をクリックする。
バス/デバイスはideとして指定して(デフォルト)、ストレージ名をlocal-lvmに指定します。(任意)
[追加]をクリックします。
[Cloud-Init]をクリックしてユーザ(ここではec2-user)、パスワード、DNSサーバ、IPアドレスを入力後、[イメージ再作成]をクリックします。
[オプション]-->ブート順を選択-->[編集]をクリックしてsata0:local-lvm...をドラッグアンドドロップで先頭に持っていき有効化します。[OK]をクリックする。
[>_コンソール]を開いて[▶開始]をクリックすると仮想マシンが起動します。
Cloud-initで設定したユーザパスワードでログインします。
SSHで接続するにはCloud-initで公開鍵のアップロード(=鍵認証)が必要でした。
基本設定
タイムゾーンをUTCから変更。
sudo timedatectl set-timezone Asia/Tokyo
ホスト名の変更
sudo hostnamectl set-hostname hogehoge
任意でディスク拡張
以上。
クラスタに参加させる
参考
Discussion