Proxmox 7.0をインストールするメモ (Hyper-Vからの移行)
- Ryzen 1700
- ASRock X370 Gaming K4
- Dell PERC h740p
- GeForce GTX 1060
Proxmox自体のインストール
- isoをダウンロードして balenaEtherでUSBメモリに書いてそこから起動してインストール。
- 特にむずかしいところはないので省略
- ちなみにHyper-Vからの移行なのでそのための覚書も含む
- ProxmoxはDebianベースということを覚えておくと吉
MegaRAID CLIのインストール
Broadcomのサイトがあまりに使いにくいので以下の手順にしたがう。
元:https://gist.github.com/fxkraus/595ab82e07cd6f8e057d31bc0bc5e779
ようやくすると、必要なツール類を入れて、BroadcomからMegaCLIをダウンロードして展開。
展開した結果RPMファイルが得られるが、ProxmoxはdebianベースなのでRPM->DEBに変換する。
DEBファイルをインストールして、動作確認。という流れ。
apt install libncurses5 unzip alienwget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zipunzip 8-07-14_MegaCLI.zipcd Linuxalien MegaCli-8.07.14-1.noarch.rpmdpkg -i megacli_8.07.14-2_all.deb/opt/MegaRAID/MegaCli/MegaCli64 -h/opt/MegaRAID/MegaCli/MegaCli64 -AdpCount/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL
VHDX からのコンバート
接続先VMの作成
必要なVMをWeb GUIから作成する。
ディスクはあとで正式なものを接続するが、作成しないと先に進めないため、容量は0.1GBのような小さい値で作成する。
VMの作成が完了したら、
- 作成したVMの
ハードウェアからディスクを選択してDetachする。 - ハードウェア一覧の一番下に
未使用:〜〜のようにディスクが表示されるので更にそれを選択して、削除しておく。これでコンバートの下準備が完了。
VHDXからコンバートする
qm importdisk 100 Windows10_c.vhdx SUM980EVO
100-> VMID。Proxmoxのツリー表示で表示される数字。VMを作ったときに採番される。100からの連番- Windows_10_c.vhdx -> 変換元VHDX
- SUM980EVO -> ストレージの名前。 Proxmoxのツリーで
データセンターを選択して真ん中の選択でストレージを選んだ時に表示される一覧の、IDを指定する。
1 | root@proxmox:~/hyper-v/Windows10# qm importdisk 100 Windows10_c.vhdx SUM980EVO |
メッセージの通り、VMに未使用のディスクとして追加されている。
アタッチには、 VMのハードウェアから未使用のディスクを選択して編集ボタンを押す。
起動順設定
アタッチしたディスクが起動ディスクの場合、VM オプション ブート順 の設定で今追加したディスクからのブートを有効にして(チェックを入れる)、ブート順の優先順位を上げておく(三 をドラッグ)
ディスクパススルー (RDM)
物理ディスク全体をVMに見せるには以下のコマンドを使用する。
qm set 100 -virtio0 /dev/disk/by-id/scsi-36d0946606c11150028b3e11557046428
- 100 -> VMID
- -virtio0 接続するバス sataN virtioN ideN 既存のを指定すると上書きされる。適当に空いているところをセットしておいて、Web GUIからデタッチすれば接続先を変更できる。
- /dev/disk〜 デバイス
by-id の次がわからない場合は、 ls -l /dev/disk/by-id/ でリンク先を表示させるとわかりやすくなると思う。 (/sdaとかその名前が表示される)
TrueNAS
TrueNASはKVMのエージェントが入っていないので、Web GUIからのシャットダウン・リブートに一切応答しない。これでは困るのでどうにかする。
https://www.truenas.com/community/resources/qemu-guest-agent.167/
手順的には上記の通りと言いたいところだが、 virtio_console.ko はリンク先のGitHubに存在しない。というよりFreeBSD由来のファイルなのでFreeBSDのisoから持ってくる必要がある(と思われる。) 使用しているTrueNAS 12-U6 はFreeBSD 12ベースなので、
https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.2/FreeBSD-12.2-RELEASE-amd64-disc1.iso
のisoの /boot/kernel/virtio_console を持ってくる。
UEFIのDebian VMが自動起動できない(Linux全般?)
VHDXから変換をかけて起動させると、EFI Shellが起動してしまう。
EFI Shellで以下のようにすると起動させることができる。
1 | FS0: |
この原因は、EFIブートエントリにgrubがないことが原因と思われる。
1 | # efibootmgr |
Debianの場合、debianという名前のブートエントリがなければ起動してこない。
修正方法
VMの設定を確認した上で grub-install で修復可能。
- BIOS の設定が OVMF(UEFI) に設定されている
- ハードウェアに EFIディスク が存在している
1 | $ sudo grub-install |
1 | $ efibootmgr |
蛇足
WindowsとFreeBSD(TrueNAS)は同じUEFIなのに問題が発生していない理由がよくわからない。
startup.nsh でも置いてるのかなぁ