[ English | Deutsch | 한국어 (대한민국) | English (United Kingdom) | Indonesia ]
Bab ini dimaksudkan untuk membantu memecahkan masalah dan menyelesaikan masalah operasional dalam penerapan OpenStack-Ansible.
Bagian ini berfokus pada pemecahan masalah komunikasi host-ke-host umum yang diperlukan agar bidang kontrol (control plane) OpenStack berfungsi dengan baik.
Ini tidak mencakup jaringan apa pun yang terkait dengan konektivitas instance.
Instruksi ini mengasumsikan instalasi OpenStack-Ansible menggunakan kontainer LXC, overlay VXLAN, dan driver Linuxbridge ml2.
HOST_NET
(Physical Host Management dan Access ke Internet)CONTAINER_NET
(Jaringan kontainer LXC menggunakan Layanan Openstack)OVERLAY_NET
(jaringan hamparan VXLAN)Utilitas dan perintah jaringan yang berguna:
# ip link show [dev INTERFACE_NAME]
# arp -n [-i INTERFACE_NAME]
# ip [-4 | -6] address show [dev INTERFACE_NAME]
# ping <TARGET_IP_ADDRESS>
# tcpdump [-n -nn] < -i INTERFACE_NAME > [host SOURCE_IP_ADDRESS]
# brctl show [BRIDGE_ID]
# iptables -nL
# arping [-c NUMBER] [-d] <TARGET_IP_ADDRESS>
Lakukan pemeriksaan berikut:
Alamat IP harus diterapkan pada antarmuka fisik (physical interface), antarmuka ikatan (bond interface), sub-antarmuka yang ditandai (tagged sub-interface), atau dalam beberapa kasus pada antarmuka jembatan (bridge interface):
# ip address show dev bond0
14: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500..UP...
link/ether a0:a0:a0:a0:a0:01 brd ff:ff:ff:ff:ff:ff
inet 10.240.0.44/22 brd 10.240.3.255 scope global bond0
valid_lft forever preferred_lft forever
...
Lakukan pemeriksaan berikut:
br-mgmt
Alamat IP harus digunakan ke br-mgmt
:
# ip address show dev br-mgmt
18: br-mgmt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500...UP...
link/ether a0:a0:a0:a0:a0:01 brd ff:ff:ff:ff:ff:ff
inet 172.29.236.44/22 brd 172.29.239.255 scope global br-mgmt
valid_lft forever preferred_lft forever
...
Alamat IP harus digunakan pada eth1
di dalam kontainer LXC:
# ip address show dev eth1
59: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500...UP...
link/ether b1:b1:b1:b1:b1:01 brd ff:ff:ff:ff:ff:ff
inet 172.29.236.55/22 brd 172.29.239.255 scope global eth1
valid_lft forever preferred_lft forever
...
br-mgmt
harus berisi veth-pair end dari semua kontainer dan antarmuka fisik atau tagged-subinterface:
# brctl show br-mgmt
bridge name bridge id STP enabled interfaces
br-mgmt 8000.abcdef12345 no 11111111_eth1
22222222_eth1
...
bond0.100
99999999_eth1
...
Lakukan pemeriksaan berikut:
br-vxlan
Alamat IP harus digunakan ke br-vxlan
:
# ip address show dev br-vxlan
21: br-vxlan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500...UP...
link/ether a0:a0:a0:a0:a0:02 brd ff:ff:ff:ff:ff:ff
inet 172.29.240.44/22 brd 172.29.243.255 scope global br-vxlan
valid_lft forever preferred_lft forever
...
Alamat IP harus digunakan pada eth10 di dalam kontainer LXC yang diperlukan:
# ip address show dev eth10
67: eth10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 150...UP...
link/ether b1:b1:b1:b1:b1:02 brd ff:ff:ff:ff:ff:ff
inet 172.29.240.55/22 brd 172.29.243.255 scope global eth10
valid_lft forever preferred_lft forever
...
br-vxlan
harus berisi veth-pair end dari kontainer LXC yang diperlukan dan antarmuka fisik atau tagged-subinterface:
# brctl show br-vxlan
bridge name bridge id STP enabled interfaces
br-vxlan 8000.ghijkl123456 no bond1.100
3333333_eth10
Anda dapat memeriksa status layanan OpenStack dengan mengakses setiap node pengontrol dan menjalankan service <SERVICE_NAME> status.
Lihat tautan berikut untuk informasi tambahan untuk memverifikasi layanan OpenStack:
Mulai ulang (restart) layanan OpenStack Anda dengan mengakses setiap node pengontrol. Beberapa layanan OpenStack akan membutuhkan restart dari node lain di lingkungan Anda.
Tabel berikut mencantumkan perintah untuk memulai kembali (restart) layanan OpenStack.
Layanan OpenStack | Perintah |
---|---|
Layanan Image | # service glance-registry restart
# service glance-api restart
|
Layanan Compute (node pengontrol) | # service nova-api-os-compute restart
# service nova-consoleauth restart
# service nova-scheduler restart
# service nova-conductor restart
# service nova-api-metadata restart
# service nova-novncproxy restart (if using novnc)
# service nova-spicehtml5proxy restart (if using spice)
|
Layanan Compute (node komputasi) | # service nova-compute restart
|
Layanan Networking | # service neutron-server restart
# service neutron-dhcp-agent restart
# service neutron-l3-agent restart
# service neutron-metadata-agent restart
# service neutron-linuxbridge-agent restart
|
Layanan Networking (node komputasi) | # service neutron-linuxbridge-agent restart
|
Layanan Block Storage | # service cinder-api restart
# service cinder-backup restart
# service cinder-scheduler restart
# service cinder-volume restart
|
Layanan Block Storage | # service manila-api restart
# service manila-data restart
# service manila-share restart
# service manila-scheduler restart
|
Layanan Object Storage | # service swift-account-auditor restart
# service swift-account-server restart
# service swift-account-reaper restart
# service swift-account-replicator restart
# service swift-container-auditor restart
# service swift-container-server restart
# service swift-container-reconciler restart
# service swift-container-replicator restart
# service swift-container-sync restart
# service swift-container-updater restart
# service swift-object-auditor restart
# service swift-object-expirer restart
# service swift-object-server restart
# service swift-object-reconstructor restart
# service swift-object-replicator restart
# service swift-object-updater restart
# service swift-proxy-server restart
|
Bagian ini akan fokus pada pemecahan masalah komunikasi konektivitas instance umum (VM). Ini tidak mencakup jaringan apa pun yang terkait dengan konektivitas instance. Ini dengan asumsi instalasi OpenStack-Ansible menggunakan kontainer LXC, overlay VXLAN dan driver Linuxbridge ml2.
Data flow example
COMPUTE NODE
+-------------+ +-------------+
+->"If VXLAN"+->+ *br vxlan +--->+ bond#.#00 +---+
| +-------------+ +-------------+ |
+-------------+ | +-----------------+
Instance +---> | brq bridge |++ +-->| physical network|
+-------------+ | +-----------------+
| +-------------+ +-------------+ |
+->"If VLAN"+->+ br vlan +--->+ bond1 +---+
+-------------+ +-------------+
NETWORK NODE
+-------------+ +-------------+ +-----------------+
+->"If VXLAN"+->+ *bond#.#00 +--->+ *br vxlan +-->+*Container eth10 +
| +-------------+ +-------------+ +-----------------+
+----------------+ | +-------------+
|physical network|++ +--->+ | brq bridge |+--> Neutron DHCP/Router
+----------------+ | +-------------+
| +-------------+ +-------------+ +-----------------+
+->"If VLAN"+->+ bond1 +--->+ br vlan +-->+ Container eth11 +
+-------------+ +-------------+ +-----------------+
If VLAN:
Apakah antarmuka fisik menunjukkan tautan dan semua VLAN dengan benar di-trunk di jaringan fisik?
Penting
Jangan melanjutkan sebelum jaringan fisik dikonfigurasi dengan benar.
Apakah alamat IP instance ping dari namespace DHCP jaringan atau instance lain dalam jaringan yang sama?
security-group-rules
, pertimbangkan menambahkan izinkan aturan ICMP untuk pengujian.Penting
Jangan melanjutkan sampai instance memiliki alamat IP dan dapat mencapai sumber daya jaringan lokal seperti DHCP.
Apakah alamat IP instance mem-ping dari perangkat gateway (Neutron router namespace atau perangkat gateway lain)?
security-group-rules
, pertimbangkan menambahkan izinkan aturan ICMP untuk pengujian.security-group-rules
, pertimbangkan untuk menambahkan aturan ICMP untuk pengujian.Penting
Jangan melanjutkan sampai instance dapat mencapai gateway-nya.
Jika VXLAN:
Apakah antarmuka fisik menunjukkan tautan dan semua VLAN dengan benar di-trunk di jaringan fisik?
Penting
Jangan melanjutkan sebelum jaringan fisik dikonfigurasi dengan benar.
Apakah alamat VXLAN VTEP dapat melakukan ping satu sama lain?
br-vxlan
pada Compute dan eth10
di dalam kontainer agen jaringan Neutron.Penting
Jangan teruskan sebelum titik akhir VXLAN memiliki jangkauan satu sama lain.
Apakah alamat IP instance ping dari namespace DHCP jaringan atau instance lain dalam jaringan yang sama?
security-group-rules
, pertimbangkan menambahkan izinkan aturan ICMP untuk pengujian.Penting
Jangan melanjutkan sebelum instance memiliki alamat IP dan dapat mencapai sumber daya jaringan lokal.
Apakah alamat IP instance mem-ping dari perangkat gateway (Neutron router namespace atau perangkat gateway lain)?
security-group-rules
, pertimbangkan menambahkan izinkan aturan ICMP untuk pengujian.security-group-rules
, pertimbangkan untuk menambahkan aturan ICMP untuk pengujian.access-control-lists
.glance-registry
menangani operasi basis data untuk mengelola penyimpanan image indeks dan properti. glance-api
menangani interaksi API dan penyimpanan image.
Untuk memecahkan masalah atau kesalahan dengan layanan Image, lihat /var/log/glance-api.log
dan /var/log/glance-registry.log
di dalam kontainer glance api.
Anda juga dapat melakukan aktivitas berikut yang dapat menghasilkan log untuk membantu masalah identitas:
openstack image list
untuk memastikan bahwa API dan registri berfungsi.For an example and more information, see Verify operation <https://docs.openstack.org/glance/stein/install/verify.html>_. and Manage Images <https://docs.openstack.org/glance/stein/admin/manage-images.html>_
Paket kernel Ubuntu yang lebih baru dari versi 3.13 berisi perubahan dalam penamaan modul dari nf_conntrack
menjadi br_netfilter
. Setelah memutakhirkan kernel, jalankan playbook openstack-hosts-setup.yml
terhadap host tersebut. Untuk informasi lebih lanjut, lihat OSA bug 157996.
Pada awal menjalankan playbook, informasi tentang setiap host dikumpulkan, seperti:
Untuk meningkatkan kinerja, khususnya dalam penyebaran besar, Anda dapat menyimpan fakta dan informasi host.
OpenStack-Ansible memungkinkan caching fakta secara default. Fakta di-cache dalam file JSON di dalam /etc/openstack_deploy/ansible_facts
.
Caching fakta dapat dinonaktifkan dengan menjalankan export ANSIBLE_CACHE_PLUGIN = memory
. Untuk mengatur ini secara permanen, setel variabel ini di /usr/local/bin/openstack-ansible.rc
. Lihat dokumentasi Ansible di fact caching untuk detail lebih lanjut.
Fakta yang di-cache mungkin salah jika host menerima upgrade kernel atau antarmuka jaringan baru. Jembatan yang baru dibuat dapat juga mengacaukan fakta cache.
Ini dapat menyebabkan kesalahan yang tidak terduga saat menjalankan playbooks, dan membutuhkan fakta cache untuk diregenerasi.
Jalankan perintah berikut untuk menghapus semua fakta yang di-cache saat ini untuk semua host:
# rm /etc/openstack_deploy/ansible_facts/*
Fakta baru akan dikumpulkan dan di-cache selama menjalankan playbook berikutnya.
Untuk menghapus fakta dari satu host, temukan file-nya di dalam /etc/openstack_deploy/ansible_facts/
dan hapus. Setiap host memiliki file JSON yang dinamai dengan nama hostnya. Fakta untuk host itu akan dibuat kembali pada menjalankan playbook berikutnya.
Semua kontainer LXC pada host memiliki setidaknya dua antarmuka Ethernet virtual:
Catatan
Beberapa kontainer, seperti cinder
, glance
, neutron_agents
, dan swift_proxy
memiliki lebih dari dua antarmuka untuk mendukung fungsinya.
Pada host, semua perangkat Ethernet virtual diberi nama berdasarkan kontainer mereka serta nama antarmuka di dalam kontainer:
${CONTAINER_UNIQUE_ID}_${NETWORK_DEVICE_NAME}
Sebagai contoh, build all-in-one (AIO) mungkin menyediakan kontainer utilitas yang disebut aio1_utility_container-d13b7132. Kontainer itu akan memiliki dua antarmuka jaringan: d13b7132_eth0 dan d13b7132_eth1.
Pilihan lain adalah menggunakan alat LXC untuk mengambil informasi tentang kontainer utilitas. Sebagai contoh:
# lxc-info -n aio1_utility_container-d13b7132
Name: aio1_utility_container-d13b7132
State: RUNNING
PID: 8245
IP: 10.0.3.201
IP: 172.29.237.204
CPU use: 79.18 seconds
BlkIO use: 678.26 MiB
Memory use: 613.33 MiB
KMem use: 0 bytes
Link: d13b7132_eth0
TX bytes: 743.48 KiB
RX bytes: 88.78 MiB
Total bytes: 89.51 MiB
Link: d13b7132_eth1
TX bytes: 412.42 KiB
RX bytes: 17.32 MiB
Total bytes: 17.73 MiB
Baris Link:
akan menampilkan antarmuka jaringan yang terpasang pada kontainer utilitas.
Untuk membuang lalu lintas di jembatan br-mgmt
, gunakan tcpdump
untuk melihat semua komunikasi antara berbagai kontainer. Untuk mempersempit fokus, jalankan tcpdump
hanya pada antarmuka jaringan kontainer yang diinginkan.
OpenStack-Ansible mengelola arsip inventaris yang berjalan. Jika perubahan telah dimasukkan ke dalam sistem yang telah merusak inventaris atau sebaliknya telah menyebabkan masalah yang tidak terduga, inventaris dapat dikembalikan ke versi awal. File backup /etc/openstack_deploy/backup_openstack_inventory.tar
berisi serangkaian inventaris timestamp yang dapat dipulihkan sesuai kebutuhan.
Contoh proses pengembalian inventaris.
mkdir /tmp/inventory_restore
cp /etc/openstack_deploy/backup_openstack_inventory.tar /tmp/inventory_restore/backup_openstack_inventory.tar
cd /tmp/inventory_restore
tar xf backup_openstack_inventory.tar
# Identify the inventory you wish to restore as the running inventory
cp openstack_inventory.json-YYYYMMDD_SSSSSS.json /etc/openstack_deploy/openstack_inventory.json
cd -
rm -rf /tmp/inventory_restore
Pada penyelesaian operasi ini inventaris akan dikembalikan ke versi sebelumnya.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.