以前はWindows 2008R2をホストしていた旧式のDell Poweredge 510にUbuntu 18.04.4 LTS
(サーバー)をインストールしました。
インストーラーがネットワークアダプターの問題を「言及」しました。このシステムには、Windowsサーバーで結合された2つの(eno1、eno2)アダプターがあります。ただし、インストーラーの不満にもかかわらず、システムは正常にインストールされました-機能的なネットワークを含みます。
私は最初の業務として、ネットワークに関するインストーラーの不満を整理することにしました。私は2つのアダプターを結合することをお勧めします。それがどのように行われたかを示すドキュメントを熟読しました。残念ながら、「Netplan rabbit-hole」に陥った可能性があるので、この質問はどうやって抜け出すかです!これが私がしたことです:
/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
以下は、私が見つけたこのファイルの内容です(編集前)。
network:
ethernets:
eno1:
addresses:
- 192.168.1.74/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 192.168.1.1
- 8.8.8.8
search:
- mylan.local
version: 2
上記のファイルの代替を作成しました。これだよ:
network:
version: 2
ethernets:
eno1:
dhcp4: no
eno2:
dhcp4: no
optional: true
bonds:
bond0:
interfaces: [eno1, eno2]
addresses: [192.168.1.74/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1, 8.8.8.8]
search: mylan.local
parameters:
mode: active-backup
primary: eno1
mii-monitor-interval: 100
$ Sudo cloud-init clean
$ Sudo cloud-init init
# errors, incl the following:
...
2020-03-31 04:58:22,849 - util.py[WARNING]: failed stage init
...
cloudinit.util.ProcessExecutionError: Unexpected error while running command.
Command: ['netplan', 'generate']
Exit code: 1
Reason: -
Stdout:
Stderr: /etc/netplan/50-cloud-init.yaml:13:15: Error in network definition: bond0: interface 'eno1' is not defined
- eno1
^
Stderrによって参照されるファイルは/etc/netplan/50-cloud-init.yaml
であることに注意してください。しかし、このファイルは編集しませんでした。
OK-yaml
ファイルは、私が編集したファイルによって生成されたようです。 このアドバイスに従ってagainstを決定しました ファイル内の情報に反してyaml
ファイルを編集することを勧めました!代わりに、私は急いで後退することを選びました!しかし、それもうまくいっていないようです:
.cfg
ファイルを復元します。幸い、元のファイルのコピーを保存しました:/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
編集したファイルに元のファイルをコピーするだけで、このファイルを元の内容に復元しました。
$ Sudo cp /etc/cloud/cloud.cfg.d/50-curtin-networking_ORIGINAL.cfg /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
これで問題は解決すると思いましたが、コマンドを再度実行するとエラーが発生し続けます。実際、上記の.cfg
ファイルを編集した場合と同じエラーが発生します!?
$ Sudo cloud-init clean
$ Sudo cloud-init init
# errors, incl the following: (same errors as above)
この時点で、流砂に足を踏み入れたばかりの人のように感じます。動くほど、深く沈みます。だから、私はじっとしていて、助けを求めています。 Netplanはある程度のレベルで機能する必要があると思いますが、そこには相反する情報がたくさんあります。
ネットワークを元のインストール時の構成に復元するには何が必要ですか?
Netplanでのネットワーク構成の明確なガイダンスはどこにありますか?
置換yamlにエラーがあり、検索:キーは単一の値ではなくリストを取ります。例:
search: [mylan.local]
これを修正すると、ネットプランの生成は成功します。
クラウド構成ファイルとネットプランyamlファイルを編集するかどうかについては、これについて議論するために https://bugs.launchpad.net/cloud-init/+bug/1869967 を開きました。その目的は、ユーザーがサーバーのインストール時にcloud-initを再実行する必要がないことであり、/ etc/netplanの下の構成ファイルは、編集する権限のある場所として扱う必要があります。
これは 答え ではありません。これは答え自体ではありませんが、Netplan Rabbit Hole彼らは2つのイーサネットを結合しようとしていたので、これはあなたがエスケープしたことを確認する方法です:
$ Sudo lshw -class network -short
H/W path Device Class Description
======================================================
/0/100/1/0 eno1 network NetXtreme II BCM5716 Gigabit Ethernet
/0/100/1/0.1 eno2 network NetXtreme II BCM5716 Gigabit Ethernet
/1 bond0 network Ethernet interface
cloud-init init
を実行したときに生成されるエラーメッセージにも注意を向けます(上記の質問の項目2を参照)。どうやら、これらのエラーメッセージは実際のエラーとはまったく関係ありません。私たちは皆、暗号化されたエラーメッセージに慣れていますが、これは特に red herring ! @ slangasek への称賛。