0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

メモ: ESXiからProxmoxへ移行する作業際に詰まったところ

Posted at

概要

とある事情で自宅のメインサーバーをProxmoxへ移行することにしました。
その移行作業中で、微妙に詰まりやすいような細かいところをメモとして残します。
※リソースプールとかデータストアといった、そもそもの機能面の違いは含まないです

本記事の対象

  • ESXiを触ったことがある方
  • Proxmoxに触れてみようと思っている方

項目

項目としては以下をそれぞれ書いていきます

  1. 仮想マシン移行機能でのスナップショットの扱い
  2. 仮想NICの割り当てスロットの違い
  3. Windows OS に必要なドライバ
  4. Proxmox内のviの設定

仮想マシン移行機能でのスナップショットの扱い

まずProxmoxではESXiから仮想マシンを簡単に移行できるようなGUIのツールがあります。
実際にはストレージとしてESXiを選択して追加することができ、その後クリックするだけで簡単に移行できます。
image.png

基本的にはデータストア上の仮想マシン等であれば、そのまま移行できます。
※詳細な条件等は以下ドキュメントを参考

ただし、私の環境ではいくつかの仮想マシンにおいて、移行時にエラーが確認されました。
原因を探ったところ、スナップショットがある仮想マシンではこちらのエラーが出てしまうようでした。。
一応メーカードキュメント上はスナップショットあると、遅延があるかもしれないまでだったため、いける想定でしたが、私の環境都合かいけない形でした。
image.png

そのため、スナップショットがある場合はこちらの機能では移行できない可能性もあるかもしれないです。

仮想NICの割り当てスロットの違い

仮想マシンではNICを最低1つは割り当てて利用すると思います。
例えば、以下はESXiで作成しているUbuntuの仮想マシンですが、ens33というNICがついていることが確認できます。

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:af:64:4e brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.0.113/24 brd 192.168.0.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:feaf:644e/64 scope link 
       valid_lft forever preferred_lft forever

ではこの仮想マシンをProxmoxへ純粋に移行してみます。
すると以下のようになり、NICの名前が変わりIPアドレスが振られていないことが確認できます。

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:50:56:af:64:4e brd ff:ff:ff:ff:ff:ff
    altname enp0s18

これが何が起きているかというと大きく以下2つがポイントになっています。

  1. NICのスロットが異なる
  2. UbuntuのnetplanでIPを割り当てている

まず1ですが、このNICに割り当てられている名称の後ろの数字が実はNICが接続されているPCIスロットの番号となっています。
例えば、以下のような名称の割り当てになる感じです。

en (ethernet) + s33 (スロット33) → ens33

この割り当てられる1つ目のNICのデフォルト値が、ESXi: 33Proxmox: 18となっているのです。
それによって、NICの名前が変わってしまった形です。

そして2ですが、Ubuntuでは純粋にインストールをした場合、ネットワークの設定周りはNetplanで管理されていると思います。
その設定内容は、以下のような形でIPアドレスやデフォルトゲートウェイ等を指定しています。
その割り当ての設定としてNIC名称を指定しているため、起動時にens33に対してネットワークの設定をしようとしたところできなかった結果、IPアドレスが振られていなかった感じです。

/etc/netplan/XXX.yaml
network:
    ethernets:
        ens33:
            addresses:
            - 192.168.0.113/24
            nameservers:
                addresses:
                - 192.168.0.111
                search: []
            routes:
            -   to: default
                via: 192.168.0.254
    version: 2

対処方法はシンプルで、netplaの設定ファイルの指定しているNICの名称を、実際のNICの名称に変えて再起動するだけです!!

参考: 他のアプリケーションでの影響

このNICの名称ですが、上記のようなOS側の設定だけでなく、アプリケーションの設定にて指定が必要な場合もあるため、その点は移行時に注意が必要です。

例えば私の環境ではWireguardを使っているのですが、その設定ファイルでもNICの名称の指定がありました

Wireguardの設定ファイル
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens33 -j MASQUERADE

Windows OS に必要なドライバ

これは結構いろんな人が上げている内容となりますが、ProxmoxではWindows OSを仮想マシンとして利用する場合VirtIOというドライバを入れることが必要となります。

実際に割り当てる手順は簡単で作成時にOSの指定の所で、ドライバのISOをドライブとして追加してあげます。
image.png

その後はインストールプロセスの中でドライバを指定してあげる形です
image.png

※ちなみに調べていた限りでは、基本上記だけだと思っていたら、
私の環境ではネットワークのドライバだけ何故か入らず、、起動後にマウントされているドライバから直接インストールしています
image.png

Proxmox内のviの設定

少しProxmoxの設定ファイルをCLIから編集しようとした際に気づいたのですが、viでの操作が思うように動きませんでした。。
どうやら、viの互換モードが有効だったり、BackSpaceが無効だったりしているようでした。
参考: https://paradigmshift.x0.to/2021/05/23/661/

上記の記事を参考にさせていただき、以下を追記したところ無事いつも使っているようなvi操作になりました!!

~/.vimrc
set nocompatible
set backspace=indent,eol,start

まとめ

今回はProxmoxへ移行した際に微妙に躓いたところをまとめました。
もちろんESXiとProxmoxとでストレージの考え方やリソースプールの考え方など機能として違ってくるところは多々あると思います。
その中、機能差分というよりはちょっと細かいところの違いもあったりするものとして参考にいただけたらと思います。

参考にした記事

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?