Skip to content

Commit 0dd5c2e

Browse files
author
PaulAngus
committed
2 parents ee75b8b + 29a3d9e commit 0dd5c2e

File tree

10 files changed

+269
-249
lines changed

10 files changed

+269
-249
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
build/
2-
.vscode
2+
.vscode
3+
source/_build/

source/_imagesource/pvlans.drawio

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile host="Chrome" modified="2019-10-09T13:28:47.165Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36" version="12.1.0" etag="FKAbdMejNJbJpPzL8ecu" type="device" pages="1"><diagram id="cEOUKJeksBoM-9QyOMCy" name="Page-1">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</diagram></mxfile>

source/_static/images/pvlans.png

64.2 KB
Loading

source/adminguide/networking/isolation_in_advanced_zone_with_vlan.rst

Lines changed: 36 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -14,72 +14,16 @@
1414
under the License.
1515
1616
17-
Isolation in Advanced Zone Using Private VLAN
18-
---------------------------------------------
19-
20-
Isolation of guest traffic in shared networks can be achieved by using
21-
Private VLANs (PVLAN). PVLANs provide Layer 2 isolation between ports
22-
within the same VLAN. In a PVLAN-enabled shared network, a user VM
23-
cannot reach other user VM though they can reach the DHCP server and
24-
gateway, this would in turn allow users to control traffic within a
25-
network and help them deploy multiple applications without communication
26-
between application as well as prevent communication with other users'
27-
VMs.
28-
29-
- Isolate VMs in a shared networks by using Private VLANs.
30-
31-
- Supported on KVM, XenServer, and VMware hypervisors
32-
33-
- PVLAN-enabled shared network can be a part of multiple networks of a
34-
guest VM.
35-
36-
37-
About Private VLAN
38-
~~~~~~~~~~~~~~~~~~
39-
40-
In an Ethernet switch, a VLAN is a broadcast domain where hosts can
41-
establish direct communication with each another at Layer 2. Private
42-
VLAN is designed as an extension of VLAN standard to add further
43-
segmentation of the logical broadcast domain. A regular VLAN is a single
44-
broadcast domain, whereas a private VLAN partitions a larger VLAN
45-
broadcast domain into smaller sub-domains. A sub-domain is represented
46-
by a pair of VLANs: a Primary VLAN and a Secondary VLAN. The original
47-
VLAN that is being divided into smaller groups is called Primary, which
48-
implies that all VLAN pairs in a private VLAN share the same Primary
49-
VLAN. All the secondary VLANs exist only inside the Primary. Each
50-
Secondary VLAN has a specific VLAN ID associated to it, which
51-
differentiates one sub-domain from another.
52-
53-
Three types of ports exist in a private VLAN domain, which essentially
54-
determine the behaviour of the participating hosts. Each ports will have
55-
its own unique set of rules, which regulate a connected host's ability
56-
to communicate with other connected host within the same private VLAN
57-
domain. Configure each host that is part of a PVLAN pair can be by using
58-
one of these three port designation:
59-
60-
- **Promiscuous**: A promiscuous port can communicate with all the
61-
interfaces, including the community and isolated host ports that
62-
belong to the secondary VLANs. In Promiscuous mode, hosts are
63-
connected to promiscuous ports and are able to communicate directly
64-
with resources on both primary and secondary VLAN. Routers, DHCP
65-
servers, and other trusted devices are typically attached to
66-
promiscuous ports.
67-
68-
- **Isolated VLANs**: The ports within an isolated VLAN cannot
69-
communicate with each other at the layer-2 level. The hosts that are
70-
connected to Isolated ports can directly communicate only with the
71-
Promiscuous resources. If your customer device needs to have access
72-
only to a gateway router, attach it to an isolated port.
73-
74-
- **Community VLANs**: The ports within a community VLAN can
75-
communicate with each other and with the promiscuous ports, but they
76-
cannot communicate with the ports in other communities at the layer-2
77-
level. In a Community mode, direct communication is permitted only
78-
with the hosts in the same community and those that are connected to
79-
the Primary PVLAN in promiscuous mode. If your customer has two
80-
devices that need to be isolated from other customers' devices, but
81-
to be able to communicate among themselves, deploy them in community
82-
ports.
17+
Isolation in Advanced Zone Using Private VLANs
18+
-----------------------------------------------
19+
20+
About PVLANs (Secondary VLANs)
21+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22+
23+
The clasic use-case for PVLANs is a shared backup network, where you wish all users'
24+
hosts to be able to communicate with a backup host, but not with each other.
25+
26+
|pvlans.png|
8327

8428
For further reading:
8529

@@ -92,6 +36,19 @@ For further reading:
9236
- `Private VLAN (PVLAN) on vNetwork Distributed Switch - Concept
9337
Overview (1010691) <http://kb.vmware.com>`_
9438

39+
Supported Secondary VLAN types
40+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41+
42+
Of the three types of Private VLAN (promiscuous, community and isolated),
43+
CloudStack supports **one promiscuous** PVLAN and **one isolated** PVLAN **per
44+
primary VLAN**. Ergo, community PVLANs are not currently supported.
45+
PVLANs are only currently supported on shared networks.
46+
The PVLAN concept is supported on KVM (when using OVS), XenServer (when using OVS), and VMware hypervisors
47+
48+
.. note::
49+
OVS on XenServer and KVM does not support PVLAN natively. Therefore,
50+
CloudStack managed to simulate PVLAN on OVS for XenServer and KVM by
51+
modifying the flow table.
9552

9653
Prerequisites
9754
~~~~~~~~~~~~~
@@ -119,84 +76,24 @@ Prerequisites
11976

12077
- Before you use PVLAN on XenServer and KVM, enable Open vSwitch (OVS).
12178

122-
.. note::
123-
OVS on XenServer and KVM does not support PVLAN natively. Therefore,
124-
CloudStack managed to simulate PVLAN on OVS for XenServer and KVM by
125-
modifying the flow table.
126-
127-
128-
Creating a PVLAN-Enabled Guest Network
129-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
130-
131-
#. Log in to the CloudStack UI as administrator.
132-
133-
#. In the left navigation, choose Infrastructure.
134-
135-
#. On Zones, click View More.
136-
137-
#. Click the zone to which you want to add a guest network.
138-
139-
#. Click the Physical Network tab.
140-
141-
#. Click the physical network you want to work with.
142-
143-
#. On the Guest node of the diagram, click Configure.
144-
145-
#. Click the Network tab.
146-
147-
#. Click Add guest network.
148-
149-
The Add guest network window is displayed.
150-
151-
#. Specify the following:
152-
153-
- **Name**: The name of the network. This will be visible to the
154-
user.
155-
156-
- **Description**: The short description of the network that can be
157-
displayed to users.
158-
159-
- **VLAN ID**: The unique ID of the VLAN.
160-
161-
- **Secondary Isolated VLAN ID**: The unique ID of the Secondary
162-
Isolated VLAN.
163-
164-
For the description on Secondary Isolated VLAN, see
165-
`About Private VLAN" <#about-private-vlan>`_.
166-
167-
- **Scope**: The available scopes are Domain, Account, Project, and
168-
All.
169-
170-
- **Domain**: Selecting Domain limits the scope of this guest
171-
network to the domain you specify. The network will not be
172-
available for other domains. If you select Subdomain Access,
173-
the guest network is available to all the sub domains within
174-
the selected domain.
175-
176-
- **Account**: The account for which the guest network is being
177-
created for. You must specify the domain the account belongs
178-
to.
17979

180-
- **Project**: The project for which the guest network is being
181-
created for. You must specify the domain the project belongs
182-
to.
80+
Creating a PVLAN-Enabled Shared Network
81+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18382

184-
- **All**: The guest network is available for all the domains,
185-
account, projects within the selected zone.
83+
For a general description of how to create a shared netowrk see `"configuring a shared guest network" <#configuring-a-shared-guest-network>`_.
18684

187-
- **Network Offering**: If the administrator has configured multiple
188-
network offerings, select the one you want to use for this
189-
network.
85+
On top of the parameters required to create a *normal* shared network, the following
86+
parameters must be set:
19087

191-
- **Gateway**: The gateway that the guests should use.
88+
- **VLAN ID**: The unique ID of the primary VLAN that you want to use.
19289

193-
- **Netmask**: The netmask in use on the subnet the guests will use.
90+
- **Secondary Isolated VLAN ID**:
19491

195-
- **IP Range**: A range of IP addresses that are accessible from the
196-
Internet and are assigned to the guest VMs.
92+
- For a **promiscuous** PVLAN, set this to the same VLAN ID as the primary VLAN
93+
that the promiscuous PVLAN will be inside.
94+
- For an **isolated** PVLAN, set this to the PVLAN ID which you wish to use
95+
inside the primary VLAN.
19796

198-
- **Network Domain**: A custom DNS suffix at the level of a network.
199-
If you want to assign a special domain name to the guest VM
200-
network, specify a DNS suffix.
20197

202-
#. Click OK to confirm.
98+
.. |pvlans.png| image:: /_static/images/pvlans.png
99+
:alt: Diagram of PVLAN communications
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
.. Licensed to the Apache Software Foundation (ASF) under one
2+
or more contributor license agreements. See the NOTICE file
3+
distributed with this work for additional information#
4+
regarding copyright ownership. The ASF licenses this file
5+
to you under the Apache License, Version 2.0 (the
6+
"License"); you may not use this file except in compliance
7+
with the License. You may obtain a copy of the License at
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
Unless required by applicable law or agreed to in writing,
10+
software distributed under the License is distributed on an
11+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12+
KIND, either express or implied. See the License for the
13+
specific language governing permissions and limitations
14+
under the License.
15+
16+
.. sub-section included in upgrade notes.
17+
18+
CloudStack Customisations
19+
--------------------------
20+
21+
There are a number of ways in which administrators can customise CloudStack. During an
22+
upgrade, a number of these could be overridden. Therefore steps should be taken to ensure
23+
that they can be restored after the upgrade is completed.
24+
25+
26+
Guest OS mappings
27+
##################
28+
29+
A new CloudStack release often brings compatibility with new hypervisors, and therefore
30+
new Guest OS mappings. An API is provided to manually add guest OSes and the
31+
relevant hypervisor mappings, however, there is a high probability that manually
32+
added guest OSes and/or mappings would conflict with guest OSes and/or mappings
33+
added as part of a version upgrade.
34+
35+
It is therefore essential to remove any Guest OS mappings that were manually added
36+
in order to ensure a successful upgrade. If need be, any custom Guest OS mappings
37+
still 'missing' after an upgrade can be re-added after the upgrade.
38+
That means that any custom added rows in the *guest_os*, *guest_os_hypervisor*,
39+
*guest_os_details* and *guest_os_category* database tables, should be removed
40+
prior to the upgrade, and added later if needed.
41+
42+
.. warning::
43+
Manually added guest OS mappings can cause the upgrade process to fail.
44+
45+
46+
Customised CSS
47+
###############
48+
49+
If you have altered the CSS files in order to customise the appearance of the CloudStack UI,
50+
you should make a backup copy as the installed CSS files are likely to be overwritten during
51+
any upgrade.
52+
53+
You should inspect a 'diff' of your customised css files and the new versions, and then
54+
reapply your changes to the new files as the new versions may contain changes to better display existing
55+
elements or have new entries to support new UI elements.
56+
57+
Plugins
58+
#######
59+
60+
If you have 3rd party plugins installed, you should backup your plugins directories and the
61+
plugins.js file. While the plugins directories *should* remain untouched, the plugins.js
62+
file is likely to be overwritten.
63+
64+
3rd Party Integrations
65+
#######################
66+
67+
CloudStack is put through extensive regression testing during a release cycle, however
68+
the numerous 3rd party integrations which are available cannot all be tested by the
69+
community nor indeed may the community know about many of them. Therefore it is essential
70+
that you verify that your integrations will continue to work after an upgrade through thorough
71+
testing and checking with the vendor/supplier of your integrations.
72+

0 commit comments

Comments
 (0)