Mac miniをUSBブートしてProxmox VEをインストールする。

Mac miniでALTキーを押しながらブートメニューを表示させようとしている様子。 無線キーボードではうまくいかないので、有線USBのキーボードでブートメニューを表示させ、Proxmox VEをインストール。

以下は旧ブログに掲載していた内容を復旧したもの。

新サーバーを導入するにあたり、Proxmox 3ノードでクラスタ組みたいので、Mac miniにproxmox入るかやってみた。

まずは、Proxmox VEのISOイメージをダウンロード。バージョンは最新の7。
Rufusを使ってUSBメモリに焼く。

Proxmox - Powerful open-source server solutions

練習のため、DELLノートに入れてみようと思い、USBブートしてインストーラーを起動したものの、「VTができない」といった警告が表示されたので、中止。

古いCeleronでは仮想化できないらしい。J4125ではOK。

Proxmox入れるとHDDの中身がクリアされてしまうのでmacOSを非難。
Mac mini でmacOS High Sierraをダウンロード。
createinstallmediaコマンドでインストール用USBメモリを作成。

Mac mini でUSBブートさせようと、ALTキー押しっぱなしで電源ONするものの、ブートメニューが表示されない。
無線だとダメなのか?Windows用だからダメなのか?
自作PCなら無線でもBIOS呼び出しできるけどなぁ。Macなのでそういうもん?

しょうがないので、有線のUSBキーボードを購入。邪魔だからみんな捨てちゃったのよねUSBキーボード。ひとつくらい取っておけばよかった。

ALT(Option)キーを押しながら電源ONでブートメニューを表示できた。

Proxmox VEのインストールは画面通りにやっていけば直ぐに終わる。
ファイルコピーに時間がかかるかな?と思ったが、数分であっけなく終了。
IPアドレスをDHCPで自動取得して、無事起動状態になった。

Proxmoxの操作はブラウザで行う。コンソールにURLが出ているのでここにアクセスしてみる。
ちゃんとできてるじゃないの。

Ethernetアダプタを接続

無事、Mac miniにProxmoxがインストールできた。
Mac用の「ThunderboltギガビットEthernetアダプタ」があったので、これを付けてみる。サーバーにはEthernetポートはいっぱいあった方が良い。

demsgで見たらなにか認識した模様。

thunderbolt 0-3: new device found, vendor=0x1 device=0x8003
thunderbolt 0-3: Apple, Inc. Thunderbolt to Gigabit Ethernet Adapter

しかし、「システム : ネットワーク」のところには出てこない。オンボードEthernetのenp2s0f0だけ。

おかしいなぁと思いつつ、リブートさせたら出てきた。
デバイス名は「ens9」となっている。

じゃあ、USB3.0のギガビットEthernetでもいけんじゃね、とこいつも挿してリブートしてみた。

いけた。

enx3495db2aac23っていう長い名前のデバイス名になった。3495はなんかの番号だな。後はMACアドレスかも。

Ethernetが3ポートもできたので、ボンディングしてしまう。ネットワークを分割するよりも面倒がなさそうな気がするので、3つまとめてしまう。ついでにIPアドレスも変える。

ProxmoxでのIPアドレスは/etc/network/interfacesファイルを編集することでやるらしい。
とその前にbindingモジュールを入れる。

/etc/modulesファイルにbondingを追記。

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

bonding

modprobeコマンドを実行

root@homeclster1:/etc# modprobe bonding

ここで一度リブート

root@homeclster1:/etc# lsmod | grep bonding
bonding 188416 0
tls 110592 1 bonding

bondingモジュールがあればOK。

/etc/network/interfacesファイルを編集

auto lo
iface lo inet loopback

auto enp2s0f0
iface enp2s0f0 inet manual

auto ens9
iface ens9 inet manual

auto enx3495db2aac23
iface enx3495db2aac23 inet manual

auto bond0
iface bond0 inet manual
        bond-mode balance-xor
        bond-miimon 100
        bond-slaves enp2s0f0 ens9 enx3495db2aac23

auto vmbr0
iface vmbr0 inet static
#       address 192.168.0.130/24
        address 192.168.0.4/24
        gateway 192.168.0.1
#       bridge-ports enp2s0f0
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0

変更後リブート。
L2SW側のLAG設定も変更。

bond0 I/Fの状況を確認

root@homeclster1:/proc/net/bonding# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.15.60-2-pve
Bonding Mode: load balancing (xor)
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

問題なく通信できればOK。

設定に問題があるとブラウザコンソールにログインできないので、コンソールで入って変更する必要がある。間違ってもリモートでやるものではないので注意。

Ubuntuをインストール

ProxmoxにVM作ってなにがしかのOSをインストールする際は、ISOファイルをProxmox上にコピーしておく必要がある。
しかし、ISOファイルのアップロード方法がわからん。

「データーセンター」の下にノードがぶら下がっており、ノードを選択するとシェルとかディスクのあるサブメニューが表示されるが、その中に「ISOイメージ」が無い。

ISOイメージの画面を表示してアップロードを行うことができるらしいのだが、メニュー項目が見つからないのである。

アップロードする際は、どのストレージに保存するのかを指定するはずなのだが、ストレージ一覧みたいなのが見当たらないのである。

ネット上を検索すると…ノードの下にぶら下がって表示されている画像を発見。
なんだ、ツリー構造で展開して表示していないだけか。紛らわしい。

ノードの下を展開するとストレージが出てくる。ストレージを選択すると右横にサブメニューが表示され、その中に「ISOイメージ」があった。
なんだ、ここでアップロードすればいいのね。了解。

ISOイメージがアップロードできたら、「VMを作成」ボタンをクリック。
名前を入力して、ISOイメージをさっきアップロードしたやつに設定。
ディスクサイズやらCPUのコア数、メモリ容量を決めてVMを作成する。
作成後、起動してやればISOイメージからブートして、インストーラーが起動するはず。
後は画面の指示通りに進めていけば、インストールが完了する。

普通にインストールできてしまった。

CentOS7をインストール

現サーバーではCentOS7が稼働中なので、CentOS7を入れてみようと思う。
ISOイメージを用意して、Proxmoxにアップロード。VMを作成して起動。

インストール中にrootのパスワードを入力するが、なんか「a」しか入力できない。なんで?
しばし、悩み中… キーボードの設定?
なんでaだけ入力できる。
iを入力したら、コンソールの右下に「Insert mode」って出る。
なにぃ?ひょっとしてvi?

そうこのコンソールVNCで作られているぽいのだが、viモードで動いてる?。だからiでInsert modeにしないと入力できない?。Insert modeを抜けるにはESC。
どういうこと、ひょっとしてCtrl-Dとかでスクロールするかと思ったが、それはできなかった。

それにしてもviモードになっているとは気が付かないよ、そんなの。

とVNCのせいかと思ったが… 実は、ブラウザ拡張機能でvimium入れたっけ。すっかり忘れてたけど。
ブラウザ内のコンソール使うときはvimium外した方がいいな。わけわからなくなる。

CnetOSは入ったが、yumでソフトを追加できない。CentOS7ってもうサポートされないのか?リポジトリのミラーサイトが無いとかエラーが出てる。

じゃあやっぱりUbuntu使うしかないか。

デバイス名が変わってしまう

USB接続したEthernetのデバイス名がリブートしたら変わってしまった。
USBの場合、いくつも同じやつを付けられるので自動的にデバイス名が変わってしまうぽい。でもMACアドレスが付いているように思えるので、変わったら変なんだけど、なんでかしら。

ネットで検索すると、情報あり。

/etc/systemd/network/00-usb.linkに以下の内容を記述すれば良いらしいが…

[Match]
Driver=ax88179_178a

[Link]
MACAddressPolicy=none
NamePolicy=kernel

ちょっとやってみる。

やった、eth0になってる。
これで、bond0のメンバーもeth0に変更すればOKかな。

auto lo
iface lo inet loopback

auto enp2s0f0
iface enp2s0f0 inet manual

auto ens9
iface ens9 inet manual

auto eth0
iface eth0 inet manual

auto bond0
iface bond0 inet manual
        bond-mode balance-xor
        bond_xmit_hash_policy layer2+3
        bond-miimon 100
        bond-slaves enp2s0f0 ens9 eth0

auto vmbr0
iface vmbr0 inet static
        address 192.168.0.4/24
        gateway 192.168.0.1
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0

ついでに、bond_xmit_hash_policy layer2+3も追記した。

やれやれ、先は長そうである。

Mac miniにProxmoxが入ったので、もうひとつPCがあれば、3台構成でProxmoxできそう。
ということで、第3世代サーバー用のPC部品を手配した。乞うご期待。

投稿者プロフィール

asai
asai