...
...
VmWare Virtual Switch | CS Physical Network | VmWare PortGroup Name | Network | Subnet | Gateway | VLAN TAG | Network CS Traffic Type | Network IP Range |
---|---|---|---|---|---|---|---|---|
vSwitch0 | vSwitch0-CS-Dev-MGMT-PN | Management Network | 10.25.243.0 | 255.255.255.0 | 10.25.243.1 | NONE | CS Management | 10.25.243.140 - 10.25.243.146 |
vSwitch0 | vSwitch0-CS-Dev-MGMT-PN | Management Network | 10.25.243.0 | 255.255.255.0 | 10.25.243.1 | NONE | CS Storage | 10.25.243.147 - 10.25.243.149 |
vSwitch2 | vSwitch2-CS-Dev-Public-PN | MGMT | 10.25.243.0 | 255.255.255.0 | 10.25.243.1 | 1045 | Public | 10.25.243.195 - 10.25.243.199 |
vSwitch2 | vSwitch2-CS-Dev-Public-PN | DEV | 10.28.18.0 | 255.255.254.0 | 10.28.18.1 | 1075 | Public | 10.28.19.195 - 10.28.19.199 |
vSwitch2 | vSwitch2-CS-Dev-MGMT-PN | MGMT | 10.25.243.0 | 255.255.255.0 | 10.25.243.1 | 1045 | Guest | 10.25.243.150 - 10.25.243.194 |
vSwitch2 | vSwitch2-CS-Dev-DEV-PN | DEV | 10.28.18.0 | 255.255.254.0 | 10.28.18.1 | 1075 | Guest | 10.28.19.150 - 10.28.19.194 |
...
Moreover, the concept of Public IP space in Advanced Network Shared setup does not apply - as it is meant to be used for internal Non-Isolated network. Therefore, i've allocated a very small amount of public IP space that will be used by CS management VMs only. If you are using Isolated mode, then you should assign more public IP addressesspace, if you are running traditional Shared internal environment - then 5 IPs on each network should be enough.
...
Before you begin - you can see my cluster network setup in Virtual Center. I've removed all the remnants of existing CS network setup as iI've done this several times before.
...
The Guest traffic for 2 of my tagged VLANs on vSwitch2-CS-Dev-MGMT-PN and vSwitch2-CS-Dev-DEV-PN.
Press Edit on each Traffic Type and and specify the respective VmWare vSwitch (reminder you must use non distributed virtual switch - the support for dVs will be in CS version 4.1).
Once you've defined all VMWare Traffic Labels for all of your Traffic Types, proceed to the next step.
...
I've purposely left VLAN Range blank for both Physical Networks on Guest Traffic and will do this through API/CLI commands later. This function has not worked as expected through UI interface and Network has not been created.
On the Storage Traffic page, define the IP range for your storage network. For simplicity, i did not use a VLAN tagged network.
The screenshot below defined the VmWare cluster information, you will need a user that is able to login to a virtual center with administrative privileges.
Primary storage is where your guest VMs are going to live.In this example its NFS based, make sure you have proper network access to CS and your hypervisors.
Secondary storage is where your templates are going to reside, make sure it has proper network access to CS and your hypervisors.
Last but not least - if you've done everything properly, you should see a Ready Page to Launch a Zone.
I'd strongly recommend to open Virtual Center and look for all the progress CS makes when it goes through the setup process.
When you get to enable the Zone page
Launch , launch an ssh session to cloudstack server and tail the /var/log/cloud/management/management-server.log.
Note that you will be getting occasional warning and errors - as it tries to deploy multiple components - this is normal. What is not normal is when you see the same error repeating over and over for extended period of time - if thats the case, proceed to troubleshooting section.
Here is an example of what you may see...
The initial setup process may take upto 10 minutes depending on your environment. I'd recommend to wait it out and proceed only once the initial setup is successful.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Before we proceed, make sure that Storage VM (s-XXX-VM) and Proxy VM (v-XXX-VM) have been deployed.
At this point we are half way done and will proceed to a more sophisticated part of this tutorial.
CloudStack provides a CLI called CloudMonkey. To install CloudMonkey, please visit this CloudMonkey Tutorial for detailed instructions. Once installed, proceed with generating required keys.
Navigate to Accounts tab and select the desired user (admin privileges required)
Once on Users Tab, click on "View Users" to see additional permission and settings for this user.
Under Details Tab, press on the Key Icon to generate the API Keys.
Launch CloudMokey CLI in your ssh terminal and setup the initial settings/attributes in order for CLI to interact with CloudStack core server.
Code Block |
---|
> set host <CS-hostname>
> set port 8080
> set apikey <put-your-api-key-for-your-user>
> set secretkey <put-your-secret-key-for-your-user>
> set prompt mycloudmonkey>
|
To test it, run "list zones" command, the example screenshot is below.
In order for VMs to have network functinality we need to create a network offering and networks.
Network Offering is a collection of network services VM will have an access to. For example, if you would like to have DHCPD, DNS, LoadBalancing and UserData services offered, we need to create Network Offering with these services.
In order to create the Network Offerings, we must first Tag Guest Traffic in Physical Networks.
Navigate to Infrastructure, Zones, choose your Zone and press on Physical Network.
Press on each Physical Network that has a Guest Traffic Type and define a tag. My setup has only 2 Guest Traffic Types, 1 in each Physical Network respectively. In the example below, you will see that I use {Physical Network Name}-Guest-tag, this naming convention is optional and only my preference. Make sure to leave VLAN information blank, we will do this portion through API/CLI shortly.
Upon completion, navigate to Service Offerings and choose Network Offering from the drop down menu and press on "Add network offering" button. In this example, I kept it very basic and only enable DHCP, DNS and UserData services that are offered by Default Virtual Router system offering that comes with CS. For the proof of concept, i suggest keeping it simple - you can revisit this section and add more services once you get your environment functional with VLAN tagging.
Once you service offering has been created, open it by pressing on its name and enable it.
In order to create the networks for each of our Guest Traffic Types, we need to get the following information from API/CLI.
ZoneID - the ID of the zone you've created in Step 3
NetworkOfferingID - the ID of the network offering created in Step 5
PhysicalNetworkID - in this example i have 2 physical network ID
Network Information - this includes ip range, subnet mask, gateway and vlan for each Guest Traffic.
Below is the set of screenshots and commands i run in order to get the required IDs.
Code Block |
---|
list zones | grep -iE 'id|name|----'
list networkofferings | grep -iE 'id|name|----'
list physicalnetworks
|
Note the required IDs and keep them handy for the next step of creating a network. You can see the command i've executed below. This screenshot shows an example of how I created the CS-DEV-vSwitch2-DEV-Network
One more run for the CS-DEV-vSwitch2-MGMT-Network
If all is done correctly, you can navigate to a Networks in CS and see your Networks displayed.
Almost done, in order to activate these networks, we will need to deploy an instance from one of the templates and choose the network offering you've created. I'm not putting any screenshots for that part - as I assume you know how to do that.
If for some reason, the deployment did not go as expected, here are some pointers of what you can do to understand and correct the issue.
How to get more help?
CloudStack community is very involved and helps users fairly quickly.
First, please search the existing mailing lists for cloudstack-users and cloudstack-dev on http://markmail.org/
Reach out to cloudstack-users mailing list and join our IRC channel on irc.freenode.com - channel #cloudstack
This document is written and maintained by ilya musayev, IRC: serverchief.