Đăng ký Đăng nhập

Tài liệu Dvr trong neutron

.PDF
6
515
72

Mô tả:

Tính năng DVR trong Neutron 1. Giới thiệu về DVR Đối với mô hình multi node thuần túy việc tạo ra tenant và Router để nối mạng trong ra mạng ngoài khi đó tất cả Router được tạo ra sẽ nằm trên node Network, và khi traffic từ VM đi ra mạng ngoài hoặc VM giữa các tenant với nhau sẽ phải đi qua Router nằm trên node Network. Hình 1: Các Router tập chung tại node Network Bài toán đặt ra khi có nhiều VM trên hệ thống thì tất cả các traffic của VM đều phải đi vào Router trên node Netowork, lúc đó sẽ gây hiện tượng thắt cổ chai và node Network cũng phải xử lý rất nhiều các traffic của các VM trong hệ thống, để giải quyết bài toán này project Neutron từ bản Juno có thêm tính năng DVR ( Distributed Virtual Router). Đó là tính năng thay vì tập chung Router trên node Network thì Router sẽ được phân bố ra các node Compute để các Router đó xử lý luồng traffic của những VM nằm chính trên node Compute đó. Cụ thể nếu các bạn muốn xem chi tiết về tính năng DVR tại link sau: http://docs.openstack.org/networking-guide/deploy_scenario2.html Page | 1 Hình 2: Các Router phân bố tại các node Compute 2. Quá trình cài đặt với mô hình 3 node a. Các Service trong các Node (nguồn: http://docs.openstack.org/networking-guide/scenario_dvr_ovs.html) Page | 2 Hình 3: Các thành phần của Neutron cần phải có trên các node khi triển khai tính năng DVR b. Các bước cài đặt Kịch bản: Các bạn đang có một hệ thống OPS đang chạy và tiến hành cấu hình để có tính năng DVR cho hệ thống. b.1. Trên node Controller Bước 1: Cấu hình cho kernel. Sửa file /etc/sysctl.conf net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.all.rp_filter=0 Bước 2: Thêm các dòng sau vào file /etc/neutron/neutron.conf: [DEFAULT] router_distributed = True allow_automatic_l3agent_failover = True Bước 3: Thêm các dòng sau vào file /etc/neutron/plugins/ml2 [ml2] mechanism_drivers = openvswitch,l2population b.2 Trên node Network Bước 1: Thêm các dòng sau vào file /etc/neutron/neutron.conf [DEFAULT] router_distributed = True allow_automatic_l3agent_failover = True Bước 2: Thêm dòng sau vào file /etc/neutron/l3_agent.ini agent_mode = dvr_snat Bước 3: Thêm dòng sau vào file /etc/neutron/plugins/ml2/ml2_conf.ini [ml2] mechanism_drivers = openvswitch,l2population [agent] enable_distributed_routing = True arp_responder = True Page | 3 l2_population = True Bước 4: Thêm dòng sau vào file /etc/neutron/l3_agent.ini agent_mode = dvr_snat b.3. Trên node Compute Các bạn lưu ý khi hệ thống của bạn không sử dụng tính năng DVR thì mặc định node Compute sẽ không có l3-agent và metadata nên bạn cần cài các thành phần này vào node Compute. apt-get install –y neutron-l3-agent Bước 1: Cấu hình cho kernel. Sửa file /etc/sysctl.conf net.ipv4.ip_forward=1 net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.all.rp_filter=0 net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1 Bước 2: Thêm các dòng sau vào file /etc/neutron/neutron.conf [DEFAULT] router_distributed = True allow_automatic_l3agent_failover = True Bước 3: Thêm các dòng sau vào file /etc/neutron/l3_agent.ini [DEFAULT] verbose = True interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver external_network_bridge = router_delete_namespaces = True agent_mode = dvr_snat use_namespaces = True Bước 4: Thêm các dòng sau vào file /etc/neutron/plugins/ml2/ml2_conf.ini Page | 4 [ml2] mechanism_drivers = openvswitch,l2population [agent] enable_distributed_routing = True arp_responder = True l2_population = True Bước 5: Đối với file metada các bạn chỉ cần copy nội dung của file metadata_agent.ini của node Network Bước 6: Lúc này file /etc/network/interface và tạo ra các switch br-ex bạn cũng phải làm tương tự như trên node Network Sau khi cài đặt xong tính năng DVR thì khi tạo Router bạn cũng có thể chọn cho Router đó có sử dụng tính năng DVR hay không 3. Thử nghiệm phần hiệu năng mạng Kịch bản test: Trong cùng một môi trường ta sẽ kiểm tra phần băng thông trong trường hợp có tính năng DVR và không có tính năng DVR 1500 450 50 45 60 53 Có DVR 500 380 Không DVR Nhận xét: Page | 5 Từ bảng kết quả thu được trong bài LAB tôi rút ra một số nhận xét sau: - - Sự khác biệt nhất ở đây là kết quả bandwidth trong trường hợp VM đến VM khác tenant và trong cùng một node Compute và khác node. Đúng như theo lý thuyết khi có tính năng DVR thì các Router khi chúng ta tạo ra sẽ được tạo trên tất cả các node Network và Compute. Những Router này sẽ làm nhiệm vụ định tuyến các tenant với nhau. Trước đây chưa có tính năng DVR khi truyền thông giữa các VM khác tenant mà trong cùng một node thì vẫn phải gửi đến node Network để định tuyến các tenant, khi có DVR thì các gói tin sẽ được định tuyến ngay tại node Compute đó mà không cần qua node Network nên đạt được băng thông lớn rất nhiều. Vậy theo quan điểm cá nhân của tôi thì tính năng DVR ra đời giải quyết bài toán luồng traffic giữa các VM-VM và giúp giảm tải cho node Network, tránh hiện tượng nghẽn cổ chai. Page | 6
- Xem thêm -

Tài liệu liên quan