他ホストでバックアップ(export)したLXDコンテナをimportしたが起動せずちょっと焦った。
hostBのu16コンテナをバックアップ
hostB$ lxc export u16 u16bak.tgz
host$ lxc import u16bak.tgz
host$ lxc start u16
Error: Common start logic: Parent device 'eth0' doesn't exist
Try `lxc info --show-log u16` for more info
host$ lxc info --show-log u16
Name: u16
Location: none
Remote: unix://
Architecture: x86_64
Created: 2019/04/18 18:54 UTC
Status: Stopped
Type: persistent
Profiles: default
Log:
これじゃあ何のことかわからなかったが、グローバルアドレスを振るためにeth1を追加してるせいだとは思っていたので確認。
host$ lxc config device list u16
eth1
host$ lxc config device show u16
eth1:
nictype: macvlan
parent: eth0
type: nic
host$ lxc network list
+--------+----------+---------+-------------+---------+
| NAME | TYPE | MANAGED | DESCRIPTION | USED BY |
+--------+----------+---------+-------------+---------+
| eno2 | physical | NO | | 2 |
+--------+----------+---------+-------------+---------+
| lxdbr0 | bridge | YES | | 15 |
+--------+----------+---------+-------------+---------+
ホストBではeth0だったが、こっちはeno2だからエラー
eth1は要らないので削除。もし必要ならその後config device addしなおせばいい。
host$ lxc config device remove u16 eth1
Device eth1 removed from u16
host$ lxc start u16
host$ lxc ls u16
+---------+---------+----------------------+-----------------------------------------------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------+---------+----------------------+-----------------------------------------------+------------+-----------+
| u16 | RUNNING | 10.196.59.160 (eth0)(以下略)
hostBのu16コンテナをバックアップ
hostB$ lxc export u16 u16bak.tgz
host$ lxc import u16bak.tgz
host$ lxc start u16
Error: Common start logic: Parent device 'eth0' doesn't exist
Try `lxc info --show-log u16` for more info
host$ lxc info --show-log u16
Name: u16
Location: none
Remote: unix://
Architecture: x86_64
Created: 2019/04/18 18:54 UTC
Status: Stopped
Type: persistent
Profiles: default
Log:
これじゃあ何のことかわからなかったが、グローバルアドレスを振るためにeth1を追加してるせいだとは思っていたので確認。
host$ lxc config device list u16
eth1
host$ lxc config device show u16
eth1:
nictype: macvlan
parent: eth0
type: nic
host$ lxc network list
+--------+----------+---------+-------------+---------+
| NAME | TYPE | MANAGED | DESCRIPTION | USED BY |
+--------+----------+---------+-------------+---------+
| eno2 | physical | NO | | 2 |
+--------+----------+---------+-------------+---------+
| lxdbr0 | bridge | YES | | 15 |
+--------+----------+---------+-------------+---------+
ホストBではeth0だったが、こっちはeno2だからエラー
eth1は要らないので削除。もし必要ならその後config device addしなおせばいい。
host$ lxc config device remove u16 eth1
Device eth1 removed from u16
host$ lxc start u16
host$ lxc ls u16
+---------+---------+----------------------+-----------------------------------------------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------+---------+----------------------+-----------------------------------------------+------------+-----------+
| u16 | RUNNING | 10.196.59.160 (eth0)(以下略)