diff options
Diffstat (limited to 'book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml')
-rw-r--r-- | book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml b/book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml deleted file mode 100644 index 9875f58..0000000 --- a/book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml +++ /dev/null | |||
@@ -1,119 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
2 | <chapter id="post_deploy_config"> | ||
3 | <title>Post-Deploy Configurations</title> | ||
4 | |||
5 | <para>For running DPDK applications it is useful to isolate the available | ||
6 | CPUs between the Linux kernel, <literal>ovs-dpdk</literal> and | ||
7 | <literal>nova-compute</literal>.</para> | ||
8 | |||
9 | <para>All of the Hardware nodes can be accessed through | ||
10 | <literal>ssh</literal> from the Fuel console. Simply create an | ||
11 | <literal>ssh</literal> connection to Fuel (e.g. root@10.20.0.2 pwd: r00tme) | ||
12 | and run the following command to get a list of the servers and the IPs where | ||
13 | they can be reached.</para> | ||
14 | |||
15 | <programlisting>[root@fuel ~]# fuel node | ||
16 | id | status | name | cluster | ip | mac | roles / | ||
17 | | pending_roles | online | group_id | ||
18 | ---+--------+------------------+---------+-----------+-------------------+----------/ | ||
19 | -----------------+---------------+--------+--------- | ||
20 | 4 | ready | Untitled (8c:c2) | 1 | 10.20.0.6 | 68:05:ca:46:8c:c2 | ceph-osd,/ | ||
21 | compute | | 1 | 1 | ||
22 | 2 | ready | Untitled (8c:45) | 1 | 10.20.0.5 | 68:05:ca:46:8c:45 | controller,/ | ||
23 | mongo, tacker | | 1 | 1 | ||
24 | 1 | ready | Untitled (8c:d4) | 1 | 10.20.0.4 | 68:05:ca:46:8c:d4 | ceph-osd,/ | ||
25 | controller | | 1 | 1 | ||
26 | 5 | ready | Untitled (8c:c9) | 1 | 10.20.0.7 | 68:05:ca:46:8c:c9 | ceph-osd,/ | ||
27 | compute | | 1 | 1 | ||
28 | 3 | ready | Untitled (8b:64) | 1 | 10.20.0.3 | 68:05:ca:46:8b:64 | controller,/ | ||
29 | vitrage | | 1 | 1 | ||
30 | [root@fuel ~]# | | 1 | 2 | ||
31 | [root@fuel ~]# ssh node-3 | ||
32 | Warning: Permanently added 'node-3' (ECDSA) to the list of known hosts. | ||
33 | |||
34 | The programs included with the Debian GNU/Linux system are free software; | ||
35 | the exact distribution terms for each program are described in the | ||
36 | individual files in /usr/share/doc/*/copyright. | ||
37 | |||
38 | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
39 | permitted by applicable law. | ||
40 | Last login: Thu Aug 24 19:40:06 2017 from 10.20.0.2 | ||
41 | root@node-3:~#</programlisting> | ||
42 | |||
43 | <section id="cpu_isolation_config"> | ||
44 | <title>CPU isolation configuration</title> | ||
45 | |||
46 | <para>It is a good idea to isolate the cores that will perform packet | ||
47 | processing and run QEMU. The example below shows how to set | ||
48 | <literal>isolcpus</literal> on a compute node that has one Intel Xeon | ||
49 | processor E5-2660 v4, 14 cores, and 28 hyper-threaded cores.</para> | ||
50 | |||
51 | <programlisting>root@node-3:~# cat /etc/default/grub | head -n 10 | ||
52 | # If you change this file, run 'update-grub' afterwards to update | ||
53 | # /boot/grub/grub.cfg. | ||
54 | # For full documentation of the options in this file, see: | ||
55 | # info -f grub -n 'Simple configuration' | ||
56 | |||
57 | GRUB_DEFAULT="Advanced options for Ubuntu, with Linux 4.4.50-rt62nfv" | ||
58 | GRUB_TIMEOUT=10 | ||
59 | GRUB_DISTRIBUTOR='lsb_release -i -s 2 /dev/null || echo Debian' | ||
60 | GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" | ||
61 | GRUB_CMDLINE_LINUX=" console=tty0 net.ifnames=1 biosdevname=0 rootdelay=90 / | ||
62 | nomodeset hugepagesz=2M hugepages=1536 isolcpus=10-47,58-95" | ||
63 | root@node-6:~# update-grub | ||
64 | Generating grub configuration file ... | ||
65 | Found linux image: /boot/vmlinuz- 4.10.0-9924-generic | ||
66 | Found initrd image: /boot/initrd.img- 4.10.0-9924-generic | ||
67 | done | ||
68 | root@node-3:~# reboot | ||
69 | Connection to node-3 closed by remote host. | ||
70 | Connection to node-3 closed.</programlisting> | ||
71 | </section> | ||
72 | |||
73 | <section id="nova_config"> | ||
74 | <title>Nova Compute configurations</title> | ||
75 | |||
76 | <para>In order to isolate the OpenStack instances on dedicated CPUs, nova | ||
77 | must be configured with <literal>vcpu_pin_set</literal>. Please refer to | ||
78 | the Nova configuration guide for more information.</para> | ||
79 | |||
80 | <para>The example below applies again, to an Intel Xeon processor E5-2660 | ||
81 | v4. Here the <literal>vcpu_pin_set</literal> is configured so that a pair | ||
82 | of thread siblings are chosen.</para> | ||
83 | |||
84 | <programlisting>root@node-3:~# cat /etc/nova/nova.conf | grep vcpu_pin_set | ||
85 | vcpu_pin_set = "16-47,64-95" | ||
86 | root@node-3:~#</programlisting> | ||
87 | |||
88 | <para>After modifying Nova configuration options on the Compute nodes, it | ||
89 | is necessary to restart <literal>nova-compute</literal> to put them into | ||
90 | effect.</para> | ||
91 | |||
92 | <programlisting>root@node-3:~# systemctl restart nova-compute | ||
93 | root@node-3:~#</programlisting> | ||
94 | </section> | ||
95 | |||
96 | <section id="ovs_dpdk"> | ||
97 | <title>OpenvSwitch with DPDK configuration</title> | ||
98 | |||
99 | <para>Enea NFV Core 1.0 comes with OpenvSwitch as the virtual switch | ||
100 | option. In the selected scenario, OpenvSwitch also uses DPDK for passing | ||
101 | traffic to and from the VMs. One of the features that comes with | ||
102 | OpenvSwitch v2.7.0 is the ability to set <literal>pmd-cpu-mask</literal>. | ||
103 | This effectively isolates userspace PMD (poll-mode-drivers) on the | ||
104 | specified set of CPUs.</para> | ||
105 | |||
106 | <para>By default, the OpenvSwitch that comes installed on the compute | ||
107 | nodes has no <literal>pmd-cpu-mask</literal>. There is an option to set it | ||
108 | from the Fuel menu before deploy, but it can always be manually set | ||
109 | post-deploy as follows:</para> | ||
110 | |||
111 | <programlisting>root@node-3:~# ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=7e0 | ||
112 | root@node-3:~# ovs-vsctl get Open_vSwitch . other_config:pmd-cpu-mask | ||
113 | "7e0" | ||
114 | root@node-3:~#</programlisting> | ||
115 | |||
116 | <para>No restart is required, OpenvSwitch automatically spawns new pmd | ||
117 | threads and sets the affinity as necessary.</para> | ||
118 | </section> | ||
119 | </chapter> \ No newline at end of file | ||