Layanan trunk jaringan mengizinkan beberapa jaringan untuk terhubung ke sebuah instance menggunakan NIC virtual tunggal (vNIC). Beberapa jaringan dapat disajikan ke sebuah instance dengan menghubungkannya ke port tunggal.
Jaringan trunking terdiri dari service plug-in dan satu set driver yang mengelola trunk di berbagai driver mekanisme lapisan-2. Pengguna dapat membuat sebuah port, mengasosiasikannya dengan trunk, dan meluncurkan sebuah instance pada port tersebut. Pengguna dinamis dapat menghubungkan dan melepaskan jaringan tambahan tanpa mengganggu pengoperasian instance.
Setiap trunk memiliki port orangtua dan dapat memiliki sejumlah subports. Port orangtua adalah port yang bagasi terkait dengan. Pengguna membuat contoh dan menentukan port induk dari bagasi saat meluncurkan kasus melekat batang.
Jaringan disajikan oleh subport adalah jaringan dari port yang terkait. Ketika membuat subport, satu `` segmentasi-id`` mungkin diperlukan oleh driver. segmentasi-id
mendefinisikan ID segmentasi dimana jaringan subport disajikan untuk instance. segmentasi-type
mungkin diperlukan oleh driver tertentu seperti OVS, meskipun saat ini hanya vlan
didukung sebagai segmentasi-type
.
Catatan
Parameter segmentation-type
dan segmentation-id
adalah opsional dalam Networking API. Namun, semua driver pada rilis Newton mengharuskan kedua parameter yang akan diberikan ketika menambahkan subport ke trunk. Driver yang akan datang dapat dilaksanakan tanpa persyaratan ini.
segmentasi-type
dan segmentasi-id
ditentukan oleh pengguna pada subports yang sengaja dipisahkan dari segmentasi-type
dan ID jaringan. Sebagai contoh, adalah mungkin untuk mengkonfigurasi layanan Networking dengan tenant_network_types = vxlan
dan masih membuat subports dengan segmentation_type = vlan
. Layanan Networking melakukan mapping ulang seperlunya.
ML2 plug-in mendukung trunking dengan driver mekanisme sebagai berikut:
Bila menggunakan segmentasi-type
dari ` vlan``, driver OVS dan Linux bridge menyajikan jaringan port induk sebagai VLAN untagged dan semua subports sebagai VLAN taged.
Dalam file neutron.conf
, aktifkan trunk service plug-in:
[DEFAULT]
service_plugins = trunk
Trunk Extension
dan Trunk port details
diaktifkan.Pada tingkat tinggi, langkah dasar untuk meluncurkan sebuah instance pada trunk adalah sebagai berikut:
Buat jaringan yang tepat untuk trunk dan subports yang akan ditambahkan ke bagasi. Buat subnet pada jaringan ini untuk memastikan konektivitas lapisan-3 yang diinginkan di atas trunk.
Buat port induk untuk trunk.
$ openstack port create --network project-net-A trunk
+-------------------+------------------------------------------------------------------------+
| Field | Value |
+-------------------+------------------------------------------------------------------------+
| admin_state_up | UP |
| binding_vif_type | unbound |
| binding_vnic_type | normal |
| fixed_ips | ip_address='192.0.2.7',subnet_id='8b957198-d3cf-4953-8449-ad4e4dd712cc' |
| id | 73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38 |
| mac_address | fa:16:3e:dd:c4:d1 |
| name | trunk |
| network_id | 1b47d3e7-cda5-48e4-b0c8-d20bd7e35f55 |
+-------------------+------------------------------------------------------------------------+
Buat trunk menggunakan --parent-port
untuk referensi port dari langkah sebelumnya:
$ openstack network trunk create --parent-port 73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38 trunk
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| admin_state_up | UP |
| id | fdf02fcb-1844-45f1-9d9b-e4c2f522c164 |
| name | trunk |
| port_id | 73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38 |
| sub_ports | |
+-----------------+--------------------------------------+
Subports dapat ditambahkan ke sebuah trunk dengan dua cara: menciptakan trunk dengan subports atau menambahkan subports ke trunk yang ada.
Buat trunk dengan subports:
Metode ini memerlukan pembuatan trunk dengan subports yang spesifik pada pembuatan trunk.
$ openstack port create --network project-net-A trunk-parent
+-------------------+------------------------------------------------------------------------+
| Field | Value |
+-------------------+------------------------------------------------------------------------+
| admin_state_up | UP |
| binding_vif_type | unbound |
| binding_vnic_type | normal |
| fixed_ips | ip_address='192.0.2.7',subnet_id='8b957198-d3cf-4953-8449-ad4e4dd712cc' |
| id | 73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38 |
| mac_address | fa:16:3e:dd:c4:d1 |
| name | trunk-parent |
| network_id | 1b47d3e7-cda5-48e4-b0c8-d20bd7e35f55 |
+-------------------+------------------------------------------------------------------------+
$ openstack port create --network trunked-net subport1
+-------------------+------------------------------------------------------------------------+
| Field | Value |
+-------------------+------------------------------------------------------------------------+
| admin_state_up | UP |
| binding_vif_type | unbound |
| binding_vnic_type | normal |
| fixed_ips | ip_address='192.0.2.8',subnet_id='2a860e2c-922b-437b-a149-b269a8c9b120' |
| id | 91f9dde8-80a4-4506-b5da-c287feb8f5d8 |
| mac_address | fa:16:3e:ba:f0:4d |
| name | subport1 |
| network_id | aef78ec5-16e3-4445-b82d-b2b98c6a86d9 |
+-------------------+------------------------------------------------------------------------+
$ openstack network trunk create \
--parent-port 73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38 \
--subport port=91f9dde8-80a4-4506-b5da-c287feb8f5d8, \
segmentation-type=vlan,segmentation-id=100
+----------------+-------------------------------------------------------------------------------------------------+
| Field | Value |
+----------------+-------------------------------------------------------------------------------------------------+
| admin_state_up | UP |
| id | 61d8e620-fe3a-4d8f-b9e6-e1b0dea6d9e3 |
| name | trunk |
| port_id | 73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38 |
| sub_ports | port_id='73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38', segmentation_id='100', segmentation_type='vlan' |
+----------------+-------------------------------------------------------------------------------------------------+
Tambahkan subports ke trunk yang sudah ada:
Metode ini memerlukan pembuatan trunk, kemudian menambahkan subports ke trunk setelah trunk dibuat.
$ openstack network trunk set --subport \
port=91f9dde8-80a4-4506-b5da-c287feb8f5d8, \
segmentation-type=vlan, \
segmentation-id=100 61d8e620-fe3a-4d8f-b9e6-e1b0dea6d9e3
Catatan
Perintah ini tidak memberikan keluaran (output).
$ openstack network trunk show 61d8e620-fe3a-4d8f-b9e6-e1b0dea6d9e3
+----------------+-------------------------------------------------------------------------------------------------+
| Field | Value |
+----------------+-------------------------------------------------------------------------------------------------+
| admin_state_up | UP |
| id | 61d8e620-fe3a-4d8f-b9e6-e1b0dea6d9e3 |
| name | trunk |
| port_id | 73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38 |
| sub_ports | port_id='73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38', segmentation_id='100', segmentation_type='vlan' |
+----------------+-------------------------------------------------------------------------------------------------+
Tampilkan detail trunk untuk mendapatkan port_id
dari trunk.
$ openstack network trunk show 61d8e620-fe3a-4d8f-b9e6-e1b0dea6d9e3
+----------------+--------------------------------------+
| Field | Value |
+----------------+--------------------------------------+
| admin_state_up | UP |
| id | 61d8e620-fe3a-4d8f-b9e6-e1b0dea6d9e3 |
| name | trunk |
| port_id | 73fb9d54-43a7-4bb1-a8dc-569e0e0a0a38 |
| sub_ports | |
+----------------+--------------------------------------+
Luncurkan instance dengan menentukan port-id
menggunakan nilai port_id
dari rincian trunk. Peluncuran sebuah instance pada subport tidak didukung.
Ketika mengkonfigurasi instance untuk menggunakan subport, pastikan bahwa antarmuka pada instance diatur untuk menggunakan alamat MAC yang ditugaskan (assigned) ke port oleh layanan Networking. Instance tidak menyadarai perubahan yang dibuat trunk setelah mereka aktif. Misalnya, ketika subport dengan segmentasi-type
dari vlan
ditambahkan ke trunk, setiap operasi akan menspesifikasi untuk sistem operasi instance yang mengizinkan instance mengirim dan menerima lalu lintas pada VLAN baru harus ditangani di luar layanan Networking.
Ketika pembuatan subports, alamat MAC dari port tua induk dapat diatur pada subport tersebut. Hal ini akan mengizinkan subinterfaces VLAN dalam sebuah instance yang diluncurkan pada trunk yang akan dikonfigurasi tanpa secara eksplisit menetapkan alamat MAC. Meskipun alamat MAC yang unik dapat digunakan untuk subports, ini dapat menimbulkan masalah dengan perlindungan spoof ARP dan driver firewall OVS asli (native). Jika driver firewall OVS asli akan digunakan, kami menyarankan bahwa alamat MAC dari port induk akan digunakan kembali pada semua subports.
ACTIVE
Trunk menjadi ACTIVE
ketika kedua sumber logis dan fisik telah diciptakan. Ini berarti bahwa semua operasi dalam layanan Networking dan Compute telah selesai dan trunk siap digunakan.
DOWN
Sebuah trunk menjadi `` DOWN`` ketika trunk yang pertama kali dibuat tanpa sebuah instance yang diluncurkan di atasnya, atau ketika instance terkait dengan trunk telah dihapus.
DEGRADED
Sebuah trunk dapat berada dalam keadaan DEGRADED
ketika kegagalan sementara selama proses pengadaan terjadi. Degraded ini termasuk situasi dimana sebuah subport menambah atau menghapus kegagalan operasi. Ketika dalam keadaan rusak, trunk masih dapat digunakan dan beberapa subports mungkin masih dapat digunakan juga. Operasi yang menyebabkan trunk beralih ke keadaan DEGRADED
dapat dicoba kembali untuk memperbaiki kegagalan sementara dan memindahkan trunk menjadi keadaan ACTIVE
.
ERROR
Sebuah trunk dalam keadaan ERROR
jika permintaan mengarah ke konflik atau kesalahan yang tidak dapat diperbaiki dengan permintaan ulang. Keadaan ERROR
dapat ditemui jika jaringan tidak kompatibel dengan konfigurasi trunk atau proses pengikatan yang mengarah ke kegagalan terus-menerus. Ketika trunk dalam keadaan ERROR
, trunk itu harus dibawa ke keadaan sehat (ACTIVE
), atau permintaan untuk penambahan subports akan ditolak.
BUILD
Sebuah trunk berada dalam keadaan BUILD
sedangkan sumber daya terkait dengan trunk berada dalam proses yang ditetapkan. Setelah trunk dan semua subports telah ditetapkan berhasil, transisi trunk akan berada ke ACTIVE
. Jika ada kegagalan parsial, transisi trank akan berada ke DEGRADED
.
Ketika admin_state
diatur ke DOWN
, pengguna akan diblokir untuk melakukan operasi di trunk. admin_state
diatur oleh pengguna dan tidak boleh digunakan untuk memantau kesehatan trunk.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.