1. Neutron là gì?
Neutron là một dịch vụ quản lý mạng trong OpenStack. Nó được sử dụng để cung cấp các tính năng liên quan đến mạng trong cloud computing, bao gồm khả năng tạo, quản lý và xóa các mạng ảo, subnet, router, load balancer, firewall, VPN và các tài nguyên mạng khác.
Neutron cho phép người quản trị mạng tạo ra các mạng riêng ảo để cung cấp cho các máy ảo, cho phép chúng giao tiếp với nhau và với các mạng bên ngoài. Nó cũng cho phép quản trị viên cấu hình các tài nguyên mạng bảo mật để bảo vệ các máy ảo khỏi các mối đe dọa từ mạng bên ngoài. Quy trình hoạt động của Neutron là như sau:
- Người dùng sử dụng dashboard hoặc các công cụ command-line để tạo ra các tài nguyên mạng như mạng, subnet, router, firewall, load balancer, VPN, …
- Neutron API xử lý yêu cầu và gửi nó đến Neutron server để xử lý.
- Neutron server lấy thông tin cấu hình từ cơ sở dữ liệu Neutron và xử lý yêu cầu của người dùng.
- Neutron server tạo ra các tài nguyên mạng bằng cách sử dụng các driver mạng, chẳng hạn như OVS, Linuxbridge, hoặc VMware NSX.
- Các máy ảo truy cập vào các tài nguyên mạng thông qua các port mạng được tạo bởi Neutron.
Trước khi định cấu hình dịch vụ OpenStack Networking (neutron), bạn phải tạo cơ sở dữ liệu, thông tin đăng nhập dịch vụ và endpoint API.
2. Tạo database.
sudo mysql -u root -pHoanghd164 -e "CREATE DATABASE neutron;"
sudo mysql -u root -pHoanghd164 -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';"
sudo mysql -u root -pHoanghd164 -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';"
sudo mysql -u root -pHoanghd164 -e "FLUSH PRIVILEGES;"
3. Tạo thông tin đăng nhập dịch vụ và endpoint API.
Đầu tiên, sử dụng lệnh “. admin-openrc” để kích hoạt môi trường của OpenStack admin.
. admin-openrc
Lệnh dưới được sử dụng để tạo ra một số thành phần cần thiết cho dịch vụ mạng trong OpenStack, cụ thể:
openstack user create --domain default neutron --password "NEUTRON_PASS"
: tạo userneutron
với mật khẩuNEUTRON_PASS
trong domain mặc định (default
).
shell> openstack user create --domain default neutron --password "NEUTRON_PASS"
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | fdb0f541e28141719b6a43c8944bf1fb |
| name | neutron |
| options | {} |
| password_expires_at | None |
openstack role add --project service --user neutron admin
: gán roleadmin
cho userneutron
trong projectservice
.
openstack role add --project service --user neutron admin
openstack service create --name neutron --description "OpenStack Networking" network
: tạo ra một dịch vụ có tên làneutron
, mô tả là “OpenStack Networking”.
shell> openstack service create --name neutron \
--description "OpenStack Networking" network
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Networking |
| enabled | True |
| id | f71529314dab4a4d8eca427e701d209e |
| name | neutron |
| type | network |
+-------------+----------------------------------+
openstack endpoint create --region RegionOne network public http://controller:9696
: tạo endpoint public cho dịch vụnetwork
ở regionRegionOne
và địa chỉ URL làhttp://controller:9696
.openstack endpoint create --region RegionOne network internal http://controller:9696
: tạo endpoint internal cho dịch vụnetwork
ở regionRegionOne
và địa chỉ URL làhttp://controller:9696
.openstack endpoint create --region RegionOne network admin http://controller:9696
: tạo endpoint admin cho dịch vụnetwork
ở regionRegionOne
và địa chỉ URL làhttp://controller:9696
.
shell> openstack endpoint create --region RegionOne \
network public http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 85d80a6d02fc4b7683f611d7fc1493a3 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
shell> openstack endpoint create --region RegionOne \
network internal http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 09753b537ac74422a68d2d791cf3714f |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
shell> openstack endpoint create --region RegionOne \
network admin http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 1ee14289c9374dffb5db92a5c112fc4e |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
4. Cấu hình các tuỳ chọn network.
Bạn có thể triển khai dịch vụ Networking bằng 1 trong 2 hoặc cả 2 kiến trúc được đại diện bởi các tùy chọn 1 và tùy chọn 2:
- Tùy chọn 1: Đây là kiến trúc đơn giản nhất, chỉ hỗ trợ kết nối các máy ảo (VMs) đến các Provider Networks (mạng cung cấp). Không có mạng riêng tư, router hoặc IP nổi (Floating IP). Chỉ có quản trị viên hoặc người dùng có quyền đặc biệt mới có thể quản lý các Provider Networks.
- Tùy chọn 2: Đây là một bổ sung cho tùy chọn 1, với các dịch vụ Layer 3 hỗ trợ kết nối các máy ảo đến các Self-Service Networks (mạng tự phục vụ). Người dùng không có quyền đặc biệt có thể tự quản lý các Self-Service Networks, bao gồm các router cung cấp kết nối giữa các Self-Service Networks và Provider Networks. Các IP nổi cung cấp kết nối đến các máy ảo sử dụng Provider Networks từ các mạng bên ngoài như Internet.
Cách mà các Provider Networks trong OpenStack sử dụng các giao thức mạng chồng lên giống như VXLAN. VXLAN là một giao thức mạng chồng lên, nghĩa là nó cho phép bạn tạo ra các mạng ảo trên mạng vật lý hiện tại.
Khi sử dụng VXLAN, một VXLAN Header sẽ được thêm vào gói tin gốc. Điều này làm tăng kích thước tổng thể của gói tin, có thể dẫn đến việc vượt quá MTU (Maximum Transmission Unit) – kích thước tối đa của một gói tin mà mạng có thể truyền mà không cần phân mảnh.
Tiêu đề VXLAN (VXLAN Header) là một phần của gói tin mạng được thêm vào khi sử dụng giao thức VXLAN. Giao thức VXLAN cho phép tạo ra các mạng ảo trên mạng vật lý hiện tại, và tiêu đề VXLAN chứa thông tin cần thiết để định tuyến và xử lý gói tin trong mạng ảo.
Cụ thể, tiêu đề VXLAN bao gồm một số trường quan trọng như VNI (VXLAN Network Identifier) để phân biệt các mạng ảo khác nhau, và các trường khác để hỗ trợ việc định tuyến và xử lý gói tin.
Khi một gói tin được gửi qua mạng sử dụng VXLAN, tiêu đề VXLAN sẽ được thêm vào gói tin gốc. Điều này làm tăng kích thước tổng thể của gói tin, có thể dẫn đến việc vượt quá MTU (Maximum Transmission Unit) – kích thước tối đa của một gói tin mà mạng có thể truyền mà không cần phân mảnh.
MTU mặc định cho Ethernet là 1500 byte. Tuy nhiên, khi sử dụng VXLAN, MTU cần phải được tăng lên để đảm bảo rằng gói tin không bị phân mảnh. Dịch vụ Networking trong OpenStack tự động cung cấp giá trị MTU chính xác cho các máy ảo thông qua DHCP.
Tuy nhiên, một số image không sử dụng DHCP hoặc bỏ qua tùy chọn MTU DHCP. Trong trường hợp này, giá trị MTU cần phải được cấu hình bằng tay bằng cách sử dụng metadata hoặc một script.
Trong môi trường cloud thì metadata thường được sử dụng để cung cấp thông tin cấu hình cho máy ảo, như thông tin về hệ điều hành, thông tin về mạng và các thông số khác.
Và shell script (hoặc script) là một tập lệnh chứa một chuỗi các lệnh được thực thi tự động bởi hệ thống. Trong trường hợp này, script có thể được sử dụng để cấu hình MTU cho máy ảo.
- Bạn có thể sử dụng cả hai tùy chọn này trong OpenStack Networking:
- Provider Networks trong OpenStack thường được sử dụng để kết nối các mạng vật lý và mạng ảo. Chúng thường được quản lý bởi quản trị viên hệ thống.
- Self-Service Networks trong OpenStack cho phép người dùng cuối (khách hàng) tự tạo và quản lý các mạng ảo của họ. Điều này cho phép họ tạo ra các mạng phù hợp với nhu cầu cụ thể của họ mà không cần sự can thiệp của quản trị viên hệ thống.
Việc sử dụng cả hai tùy chọn này cung cấp một cách tiếp cận linh hoạt và mạnh mẽ để quản lý mạng trong môi trường đám mây OpenStack.
Bạn hãy có thể lựa chọn 1 trong 2 hoặc cả 2 lựa chọn sau, cài đặt cấu hình chúng theo hướng dẫn và sau khi hoàn thành bạn hãy tiếp tục quay lại đây để tiếp tục chuyển qua phần (5) Cấu hình metadata agent:
- Tuỳ chọn 1: Provider networks
- Tuỳ chọn 2: Self-service networks
5. Cấu hình metadata agent.
Trong file /etc/neutron/metadata_agent.ini
, các tham số được cấu hình để cấu hình agent metadata của Neutron:
[DEFAULT]
# ...
nova_metadata_host = controller
metadata_proxy_shared_secret = METADATA_SECRET
Trong đó:
nova_metadata_host
xác định địa chỉ IP hoặc hostname của nova-metadata-server để metadata proxy gửi các yêu cầu metadata đến.metadata_proxy_shared_secret
là mật khẩu được chia sẻ giữa Neutron metadata agent và Nova metadata server, nó được sử dụng để xác thực các yêu cầu metadata giữa các thành phần.
Đoạn cấu hình [neutron]
trong file /etc/nova/nova.conf
chứa thông tin cấu hình kết nối giữa Nova và Neutron.
[neutron]
# ...
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = true
metadata_proxy_shared_secret = METADATA_SECRET
Cụ thể:
auth_url
,auth_type
,project_domain_name
,user_domain_name
,region_name
,project_name
,username
,password
là các thông tin xác thực để Nova có thể kết nối tới Keystone để xác thực quyền truy cập.service_metadata_proxy
được thiết lập làtrue
để bật tính năng metadata proxy trong Nova.metadata_proxy_shared_secret
là mã bí mật được sử dụng để xác thực các request được gửi đến metadata proxy. Giá trị này cần phải giống với giá trị được cấu hình trong file/etc/neutron/metadata_agent.ini
.
Trong hệ thống Linux, có thể sử dụng network bridge để kết nối các mạng khác nhau và cho phép các máy chủ hoạt động trong một mạng ảo. Tuy nhiên, để sử dụng được network bridge, kernel của hệ thống cần được hỗ trợ bởi các bộ lọc bridge. Trong trường hợp này, để đảm bảo kernel của hệ thống hỗ trợ bộ lọc bridge, cần kiểm tra rằng tất cả các giá trị sysctl sau đều được đặt thành 1. Giá trị net.bridge.bridge-nf-call-iptables
cho phép các gói tin qua bridge được xử lý bởi iptables. Giá trị net.bridge.bridge-nf-call-ip6tables
cho phép các gói tin IPv6 qua bridge được xử lý bởi ip6tables. Khi cả hai giá trị này được đặt thành 1, kernel của hệ thống đã được hỗ trợ bởi các bộ lọc bridge và có thể sử dụng network bridge để kết nối các mạng khác nhau.
sysctl net.bridge.bridge-nf-call-iptables
sysctl net.bridge.bridge-nf-call-ip6tables
Nếu bạn gặp lỗi dưới là bạn đang gặp phải lỗi thường xảy ra khi module nhân Linux cho network bridging (được yêu cầu bởi Docker và các dịch vụ mạng ảo khác) không được tải.
shell> sysctl net.bridge.bridge-nf-call-iptables
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory
Tệp /proc/sys/net/bridge/bridge-nf-call-iptables
là một phần của chức năng network bridge của nhân Linux. Nó điều khiển việc các quy tắc tường lửa iptables có được áp dụng cho các gói tin đi vào và ra khỏi Linux bridges hay không, giống như những cái mà Docker sử dụng để kết nối các container với mạng.
Nếu tệp không tồn tại, thường có nghĩa là module br_netfilter
không được tải vào nhân. Bạn có thể tải nó thủ công bằng cách sử dụng lệnh sau:
sudo modprobe br_netfilter
Sau khi chạy lệnh này, bạn nên có thể đặt cài đặt sysctl net.bridge.bridge-nf-call-iptables
như bạn đã cố gắng làm trước đó. Nếu bạn muốn thay đổi này tồn tại qua các lần khởi động lại, bạn sẽ cần thêm một dòng vào tệp /etc/sysctl.conf
của bạn:
echo "net.bridge.bridge-nf-call-iptables = 1" | sudo tee -a /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1" | sudo tee -a /etc/sysctl.conf
Lệnh này sẽ thêm cài đặt vào cuối tệp cấu hình sysctl, vì vậy nó được load lại mỗi khi hệ thống khởi động lại.
Cuối cùng là lệnh để chạy database migration của Neutron. Khi một phiên bản Neutron mới được cài đặt, có thể cần phải thực hiện các thay đổi trong schema của database để đảm bảo sự tương thích. Lệnh này sẽ chạy các script migration để cập nhật schema của database của Neutron lên phiên bản mới nhất. Cụ thể trong lệnh này, option --config-file
được sử dụng để chỉ định đường dẫn tới các file cấu hình của Neutron. upgrade head
là option để chạy các script migration.
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
Đầu ra của cú pháp trên sẽ như thế này.
shell> su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
Running upgrade for neutron ...
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> kilo
INFO [alembic.runtime.migration] Running upgrade kilo -> 354db87e3225
INFO [alembic.runtime.migration] Running upgrade 354db87e3225 -> 599c6a226151
INFO [alembic.runtime.migration] Running upgrade 599c6a226151 -> 52c5312f6baf
INFO [alembic.runtime.migration] Running upgrade 52c5312f6baf -> 313373c0ffee
INFO [alembic.runtime.migration] Running upgrade 313373c0ffee -> 8675309a5c4f
INFO [alembic.runtime.migration] Running upgrade 8675309a5c4f -> 45f955889773
INFO [alembic.runtime.migration] Running upgrade 45f955889773 -> 26c371498592
INFO [alembic.runtime.migration] Running upgrade 26c371498592 -> 1c844d1677f7
INFO [alembic.runtime.migration] Running upgrade 1c844d1677f7 -> 1b4c6e320f79
INFO [alembic.runtime.migration] Running upgrade 1b4c6e320f79 -> 48153cb5f051
INFO [alembic.runtime.migration] Running upgrade 48153cb5f051 -> 9859ac9c136
INFO [alembic.runtime.migration] Running upgrade 9859ac9c136 -> 34af2b5c5a59
INFO [alembic.runtime.migration] Running upgrade 34af2b5c5a59 -> 59cb5b6cf4d
INFO [alembic.runtime.migration] Running upgrade 59cb5b6cf4d -> 13cfb89f881a
INFO [alembic.runtime.migration] Running upgrade 13cfb89f881a -> 32e5974ada25
INFO [alembic.runtime.migration] Running upgrade 32e5974ada25 -> ec7fcfbf72ee
INFO [alembic.runtime.migration] Running upgrade ec7fcfbf72ee -> dce3ec7a25c9
INFO [alembic.runtime.migration] Running upgrade dce3ec7a25c9 -> c3a73f615e4
INFO [alembic.runtime.migration] Running upgrade c3a73f615e4 -> 659bf3d90664
INFO [alembic.runtime.migration] Running upgrade 659bf3d90664 -> 1df244e556f5
INFO [alembic.runtime.migration] Running upgrade 1df244e556f5 -> 19f26505c74f
INFO [alembic.runtime.migration] Running upgrade 19f26505c74f -> 15be73214821
INFO [alembic.runtime.migration] Running upgrade 15be73214821 -> b4caf27aae4
INFO [alembic.runtime.migration] Running upgrade b4caf27aae4 -> 15e43b934f81
INFO [alembic.runtime.migration] Running upgrade 15e43b934f81 -> 31ed664953e6
INFO [alembic.runtime.migration] Running upgrade 31ed664953e6 -> 2f9e956e7532
INFO [alembic.runtime.migration] Running upgrade 2f9e956e7532 -> 3894bccad37f
INFO [alembic.runtime.migration] Running upgrade 3894bccad37f -> 0e66c5227a8a
INFO [alembic.runtime.migration] Running upgrade 0e66c5227a8a -> 45f8dd33480b
INFO [alembic.runtime.migration] Running upgrade 45f8dd33480b -> 5abc0278ca73
INFO [alembic.runtime.migration] Running upgrade 5abc0278ca73 -> d3435b514502
INFO [alembic.runtime.migration] Running upgrade d3435b514502 -> 30107ab6a3ee
INFO [alembic.runtime.migration] Running upgrade 30107ab6a3ee -> c415aab1c048
INFO [alembic.runtime.migration] Running upgrade c415aab1c048 -> a963b38d82f4
INFO [alembic.runtime.migration] Running upgrade kilo -> 30018084ec99
INFO [alembic.runtime.migration] Running upgrade 30018084ec99 -> 4ffceebfada
INFO [alembic.runtime.migration] Running upgrade 4ffceebfada -> 5498d17be016
INFO [alembic.runtime.migration] Running upgrade 5498d17be016 -> 2a16083502f3
INFO [alembic.runtime.migration] Running upgrade 2a16083502f3 -> 2e5352a0ad4d
INFO [alembic.runtime.migration] Running upgrade 2e5352a0ad4d -> 11926bcfe72d
INFO [alembic.runtime.migration] Running upgrade 11926bcfe72d -> 4af11ca47297
INFO [alembic.runtime.migration] Running upgrade 4af11ca47297 -> 1b294093239c
INFO [alembic.runtime.migration] Running upgrade 1b294093239c -> 8a6d8bdae39
INFO [alembic.runtime.migration] Running upgrade 8a6d8bdae39 -> 2b4c2465d44b
INFO [alembic.runtime.migration] Running upgrade 2b4c2465d44b -> e3278ee65050
INFO [alembic.runtime.migration] Running upgrade e3278ee65050 -> c6c112992c9
INFO [alembic.runtime.migration] Running upgrade c6c112992c9 -> 5ffceebfada
INFO [alembic.runtime.migration] Running upgrade 5ffceebfada -> 4ffceebfcdc
INFO [alembic.runtime.migration] Running upgrade 4ffceebfcdc -> 7bbb25278f53
INFO [alembic.runtime.migration] Running upgrade 7bbb25278f53 -> 89ab9a816d70
INFO [alembic.runtime.migration] Running upgrade 89ab9a816d70 -> c879c5e1ee90
INFO [alembic.runtime.migration] Running upgrade c879c5e1ee90 -> 8fd3918ef6f4
INFO [alembic.runtime.migration] Running upgrade 8fd3918ef6f4 -> 4bcd4df1f426
INFO [alembic.runtime.migration] Running upgrade 4bcd4df1f426 -> b67e765a3524
INFO [alembic.runtime.migration] Running upgrade a963b38d82f4 -> 3d0e74aa7d37
INFO [alembic.runtime.migration] Running upgrade 3d0e74aa7d37 -> 030a959ceafa
INFO [alembic.runtime.migration] Running upgrade 030a959ceafa -> a5648cfeeadf
INFO [alembic.runtime.migration] Running upgrade a5648cfeeadf -> 0f5bef0f87d4
INFO [alembic.runtime.migration] Running upgrade 0f5bef0f87d4 -> 67daae611b6e
INFO [alembic.runtime.migration] Running upgrade b67e765a3524 -> a84ccf28f06a
INFO [alembic.runtime.migration] Running upgrade a84ccf28f06a -> 7d9d8eeec6ad
INFO [alembic.runtime.migration] Running upgrade 67daae611b6e -> 6b461a21bcfc
INFO [alembic.runtime.migration] Running upgrade 6b461a21bcfc -> 5cd92597d11d
INFO [alembic.runtime.migration] Running upgrade 5cd92597d11d -> 929c968efe70
INFO [alembic.runtime.migration] Running upgrade 929c968efe70 -> a9c43481023c
INFO [alembic.runtime.migration] Running upgrade a9c43481023c -> 804a3c76314c
INFO [alembic.runtime.migration] Running upgrade 804a3c76314c -> 2b42d90729da
INFO [alembic.runtime.migration] Running upgrade 2b42d90729da -> 62c781cb6192
INFO [alembic.runtime.migration] Running upgrade 62c781cb6192 -> c8c222d42aa9
INFO [alembic.runtime.migration] Running upgrade c8c222d42aa9 -> 349b6fd605a6
INFO [alembic.runtime.migration] Running upgrade 349b6fd605a6 -> 7d32f979895f
INFO [alembic.runtime.migration] Running upgrade 7d32f979895f -> 594422d373ee
INFO [alembic.runtime.migration] Running upgrade 594422d373ee -> 61663558142c
INFO [alembic.runtime.migration] Running upgrade 61663558142c -> 867d39095bf4, port forwarding
INFO [alembic.runtime.migration] Running upgrade 867d39095bf4 -> d72db3e25539, modify uniq port forwarding
INFO [alembic.runtime.migration] Running upgrade d72db3e25539 -> cada2437bf41
INFO [alembic.runtime.migration] Running upgrade cada2437bf41 -> 195176fb410d, router gateway IP QoS
INFO [alembic.runtime.migration] Running upgrade 195176fb410d -> fb0167bd9639
INFO [alembic.runtime.migration] Running upgrade fb0167bd9639 -> 0ff9e3881597
INFO [alembic.runtime.migration] Running upgrade 0ff9e3881597 -> 9bfad3f1e780
INFO [alembic.runtime.migration] Running upgrade 9bfad3f1e780 -> 63fd95af7dcd
INFO [alembic.runtime.migration] Running upgrade 63fd95af7dcd -> c613d0b82681
INFO [alembic.runtime.migration] Running upgrade c613d0b82681 -> c3e9d13c4367
INFO [alembic.runtime.migration] Running upgrade c3e9d13c4367 -> 86274d77933e
INFO [alembic.runtime.migration] Running upgrade 86274d77933e -> f4b9654dd40c
INFO [alembic.runtime.migration] Running upgrade f4b9654dd40c -> a010322604bc
INFO [alembic.runtime.migration] Running upgrade a010322604bc -> 263d454a9655
INFO [alembic.runtime.migration] Running upgrade 263d454a9655 -> Ibac91d24da2
INFO [alembic.runtime.migration] Running upgrade Ibac91d24da2 -> 2217c4222de6
INFO [alembic.runtime.migration] Running upgrade 2217c4222de6 -> 18a7e90ae768
INFO [alembic.runtime.migration] Running upgrade 18a7e90ae768 -> e4e236b0e1ff
INFO [alembic.runtime.migration] Running upgrade e4e236b0e1ff -> e88badaa9591
INFO [alembic.runtime.migration] Running upgrade e88badaa9591 -> d8bdf05313f4
INFO [alembic.runtime.migration] Running upgrade d8bdf05313f4 -> dfe425060830
INFO [alembic.runtime.migration] Running upgrade dfe425060830 -> fd6107509ccd
INFO [alembic.runtime.migration] Running upgrade fd6107509ccd -> 1ea5dab0897a
INFO [alembic.runtime.migration] Running upgrade 1ea5dab0897a -> 49d8622c5221
INFO [alembic.runtime.migration] Running upgrade 49d8622c5221 -> I38991de2b4
INFO [alembic.runtime.migration] Running upgrade I38991de2b4 -> 532aa95457e2
INFO [alembic.runtime.migration] Running upgrade 532aa95457e2 -> f010820fc498
INFO [alembic.runtime.migration] Running upgrade f010820fc498 -> a964d94b4677
INFO [alembic.runtime.migration] Running upgrade a964d94b4677 -> 26d1e9f5c766
INFO [alembic.runtime.migration] Running upgrade 26d1e9f5c766 -> 1e0744e4ffea
INFO [alembic.runtime.migration] Running upgrade 1e0744e4ffea -> 6135a7bd4425
INFO [alembic.runtime.migration] Running upgrade 6135a7bd4425 -> 8df53b0d2c0e
INFO [alembic.runtime.migration] Running upgrade 8df53b0d2c0e -> 1bb3393de75d, add qos policy rule Packet Rate Limit
INFO [alembic.runtime.migration] Running upgrade 1bb3393de75d -> c181bb1d89e4
INFO [alembic.runtime.migration] Running upgrade c181bb1d89e4 -> ba859d649675
INFO [alembic.runtime.migration] Running upgrade ba859d649675 -> e981acd076d3
INFO [alembic.runtime.migration] Running upgrade e981acd076d3 -> 76df7844a8c6, add Local IP tables
INFO [alembic.runtime.migration] Running upgrade 76df7844a8c6 -> 1ffef8d6f371, migrate RBAC registers from "target_tenant" to "target_project"
INFO [alembic.runtime.migration] Running upgrade 1ffef8d6f371 -> 8160f7a9cebb, drop portbindingports table
INFO [alembic.runtime.migration] Running upgrade 8160f7a9cebb -> cd9ef14ccf87
INFO [alembic.runtime.migration] Running upgrade cd9ef14ccf87 -> 34cf8b009713
INFO [alembic.runtime.migration] Running upgrade 7d9d8eeec6ad -> a8b517cff8ab
INFO [alembic.runtime.migration] Running upgrade a8b517cff8ab -> 3b935b28e7a0
INFO [alembic.runtime.migration] Running upgrade 3b935b28e7a0 -> b12a3ef66e62
INFO [alembic.runtime.migration] Running upgrade b12a3ef66e62 -> 97c25b0d2353
INFO [alembic.runtime.migration] Running upgrade 97c25b0d2353 -> 2e0d7a8a1586
INFO [alembic.runtime.migration] Running upgrade 2e0d7a8a1586 -> 5c85685d616d
OK
Khởi động lại dịch vụ openstack-nova-api.
service nova-api restart
Tiếp theo là khởi động lại các dịch vụ sau, các dịch vụ này đều liên quan đến dịch vụ mạng trong OpenStack Neutron.
service neutron-server restart
service neutron-linuxbridge-agent restart
service neutron-dhcp-agent restart
service neutron-metadata-agent restart
Cụ thể:
neutron-server
: là dịch vụ chính quản lý mạng trong OpenStack Neutron, chịu trách nhiệm điều phối các dịch vụ khác trong hệ thống mạng.neutron-linuxbridge-agent
: là một plugin agent của Neutron, sử dụng để triển khai mô hình mạng overlay trên Linux bridge. Nó quản lý các switch ảo, VLAN ảo và các mạng ảo trên compute node.neutron-dhcp-agent
: là một plugin agent của Neutron, được sử dụng để cung cấp dịch vụ DHCP cho các máy ảo trong mạng. Nó sẽ liên lạc với neutron-server để nhận thông tin về mạng và máy ảo.neutron-metadata-agent
: là một plugin agent của Neutron, được sử dụng để cung cấp dịch vụ metadata cho các máy ảo trong mạng. Nó cho phép các máy ảo truy cập đến thông tin metadata của chúng thông qua một API trên compute node.
Việc khởi động lại các dịch vụ này có thể là để cập nhật cấu hình hoặc để áp dụng các thay đổi mới nhất cho hệ thống mạng trong OpenStack Neutron.
Nếu bạn chọn tuỳ chọn Self-service networks thì hãy sử dụng lệnh dưới để khởi động lại neutron-l3-agent. Gói tin “neutron-l3-agent” là một phần của dịch vụ mạng Neutron trong OpenStack. Nó cung cấp các chức năng quản lý và điều phối các router ảo (virtual router) trong mạng ảo hóa của OpenStack. Khi bạn thực hiện lệnh “service neutron-l3-agent restart”, nó sẽ khởi động lại dịch vụ l3-agent của Neutron, giúp cập nhật các cấu hình và cập nhật thay đổi mới nhất của OpenStack.
service neutron-l3-agent restart
Phần tiếp theo, chúng ta sẽ cài đặt và cấu hình Neutron service on Compute Node.