add mass doc

This commit is contained in:
Olivier Lambert
2014-08-14 12:49:44 +02:00
parent bd4f0b2078
commit 6ec540d89e
42 changed files with 395 additions and 0 deletions

101
administration/README.md Normal file
View File

@@ -0,0 +1,101 @@
# Administration
Once Xen Orchestra is installed, you can configure some parameters in the configuration file. Let's see how to do that.
## Configuration
The configuration file is in XO-server folder (for XOA users, it's in `/root/xo-server/config/local.yaml.dist`). If it's not already done, copy this file to `local.yaml` in the same folder. Now, you can edit the configuration safely (if you destroy it, you can reuse the dist file).
WARNING: YAML is very strict with indentation: use spaces for it, not tabs.
### User to run XO-server as
By default, XO-server is running with 'nobody' user and 'nogroup' group. You can change it by uncommenting these lines and choose whatever user/group you want:
```yaml
user: 'nobody'
group: 'nogroup'
```
### HTTP listen address and port
By default, XO-server listens to all addresses (0.0.0.0) and runs on port 80. You can change this if you want in the `# Basic HTTP` section:
```yaml
host: '0.0.0.0'
port: 80
```
### HTTPS
XO-server can also run in HTTPS (both HTTP and HTTPS can cohabit), just modify what's needed in the `# Basic HTTPS` section, this time with certificates/keys you want and their path:
```yaml
host: '0.0.0.0'
port: 443
certificate: './certificate.pem'
key: './key.pem'
```
### Link to XO-web
On XOA, you shouldn't have to change this. On manual install, you need to link files served by XO-server for XO-web. That's the mount section. In this example, "xo-web" folder is in the same folder than "xo-server":
```yaml
mounts:
'/':
- '../xo-web/dist/'
```
### Redis server
By default, XO-server will try to contact Redis server on `localhost`, with the port `6379`. But you can define anything else you want:
```yaml
uri: 'tcp://db:password@hostname:port'
```
### Log file
On XOA, the log file for XO-server is in `/var/log/xo`: it has all of the server informations. Can be a real help when you have trouble.
## First connection
### Login screen
This is the login screen:
![](./assets/loginok.png)
Note the green *check* icons: it indicates that you are correctly connected to XO-server. If you see this icon: ![](./assets/loginbad.png), that's not good. Please check the Troubleshooting section if it's the case.
The default user login/password is `admin@admin.net` with `admin` password. This is what you should see after been logged:
![](./assets/welcome.png)
You should change your password now.
## Users and passwords
You can access users ans servers management in the Setting view. It's accessible from the main menu:
![](./assets/gosettings.png)
From there, you can modify your current password, then Save:
![](./assets/users.png)
You can add new users with limited rights. So far, **read** permission allow to see everything but not to interact with any objects. It's pretty basic for now, but [check how it will evolve soon](https://xen-orchestra.com/users-roles-in-xen-orchestra/) on our website.
## Add Xen hosts
Adding Xen hosts is in the same view (Settings) as users:
![](./assets/servers.png)
When you add a server, you just have to wait to be displayed (e.g: in the main view. Removing is less trivial, you need to restart XO-server (or it will not disappear).
**Congrats! You've reached the end of this doc. See the next part, [about how the interface works](../layout/README.md).**

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

60
architecture/README.md Normal file
View File

@@ -0,0 +1,60 @@
# Architecture
This part is dedicated to the architecture of Xen Orchestra. It will give you hints about how we build this software.
## Overview
Here is a diagram giving an overview of what is Xen Orchestra:
![](./assets/xo-arch.jpg)
Xen Orchestra is split in modules:
- the core is "[xo-server](https://github.com/vatesfr/xo-server)", a daemon dealing directly with XenServer or XAPI capable hosts. This is where are stored users, and it's the center point for talking to your whole Xen infrastructure.
- the Web interface is in "[xo-web](https://github.com/vatesfr/xo-web)": you are running it directly in your browser. The connection with "xo-server" is done via *WebSockets*
- "[xo-cli](https://github.com/vatesfr/xo-cli)" is a new module allowing to send order directly in command line
We will use this modular architecture to add further parts later. It's completely flexible, allowing us to adapt Xen Orchestra in every existing work-flow.
## XO-server
XO-Server is the core of Xen Orchestra. It's central role opens a lot of possibilities versus other solutions. Let's see why.
### Daemon mode
As a daemon, XO-server is always up. In this way, it can listen and record every events occurring on your whole Xen infrastructure. Connections are always open and it can cache informations before serve it to another client (CLI, Web or anything else).
### Central point
Contrary to XenCenter, each Xen Orchestra's client is connected to one XO-Server, and not all the Xen servers. With a traditional architecture:
![](./assets/without-xo.jpg)
You can see how we avoid a lost of resources and bandwidth waste with a central point:
![](./assets/with-xo.jpg)
### Pluggable
It's really easy to plug other modules to XO-server, thus extend or adapt the solution to your needs (see XO-web and XO-cli for real examples).
### NodeJS under the hood
[NodeJS](https://en.wikipedia.org/wiki/Nodejs) is a software platform for scalable server-side and networking applications. It's famous for its efficiency, scalability and its asynchronous capabilities. Exactly what we need! Thus, XO-server is written in JavaScript.
## XO-web
This is probably the first thing you'll see of Xen Orchestra. It's the Web interface, allowing to interact with your virtual infrastructure. As a module for XO-web, it facilitates the everyday Xen administrator work, but also provide a solution to delegate some part of your infrastructure to other people.
### JavaScript
We are also using JavaScript for XO-web: we stay consistent from the back-end to the front-end with one main language. [AngularJS](https://en.wikipedia.org/wiki/Angularjs) and [Twitter Bootstrap](https://en.wikipedia.org/wiki/Bootstrap_%28front-end_framework%29) are also powerful allies to our everyday development.
## XO-cli
After [a request from someone on our Github repositoryy](https://github.com/vatesfr/xo-server/issues/23), we decided to add the possibility to do some actions with CLI. Just few hours after the request, [we created XO-cli](https://github.com/vatesfr/xo-cli). It's a real example of the Xen Orchestra modularity, and how we can be flexible.
## Other modules
In our vision, we think Xen Orchestra can be more than "just an Web GUI for Xen". With modularity, we can imagine a lot of things: because XO-server is a daemon, it can record any activity and thus create performance reports. The next step is auto-migrate VM for adapting the need to the demand (reducing the costs to only what you need). Everything is possible!
**Congrats! You've reached the end of this doc. See the next part, [about how to install Xen Orchestra](../installation/README.md).**

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

62
layout/README.md Normal file
View File

@@ -0,0 +1,62 @@
# Layout
In this section, we'll make a tour of the global layout of XO-web.
## Navigation bar
The navigation bar, on the top, is displayed on every views/pages. You can go to the main view by clicking on "Xen Orchestra", use the search bar, access to the main menu and disconnect your session from there.
![](./assets/navbar.png)
### Main menu
It's represented by the ![](./assets/iconmain.png). It gives you access to the main zones of XO-web.
![](./assets/gosettings.png)
### Search bar
The search bar is very useful to filter information, to quickly find what you need. The live filter works with every data on every object. Check the result in the Flat view section.
## Main view
The main view is a global view of all your pools, servers and VMs. The concept is to display all the important information with an horizontal hierarchy.
### Extended navigation bar
The first change is an extended navigation bar, with statistics and the "master checkbox":
![](./assets/navbarhome.png)
This master checkbox can be use to select multiple VM in one action: all VM running, halted, or VM on one host.
The bar change when you select a VM with its checkbox (or *via* the master checkbox):
![](./assets/navbarselected.png)
From this bar, you've got also Migrate VM display.
### Quick actions
We hovering a VM, you can see buttons for stop, start, reboot VM, and also access its console:
![](./assets/quickactions.png)
### Host and pools submenu
Don't forget to expand Pool and hosts submenus to explore what you can do:
![](./assets/submenus.png)
## Flat view
Flat view is non hierarchical view, with the main goal to serve the filtered results of the search field.
Here is a example with an IP address:
![](./assets/filter.png)
It also work for names, descriptions, everything else!
**Congrats! You've reached the end of this doc. See the next part, [about how to manage VMs](../vm/README.md).**

BIN
layout/assets/filter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
layout/assets/iconmain.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

BIN
layout/assets/navbar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
layout/assets/submenus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

5
recipies/README.md Normal file
View File

@@ -0,0 +1,5 @@
# Recipes
The place to find how to do cool things with Xen Orchestra :)
- [Xen Orchestra behind an Apache reverse proxy](apache-reverse.md) (thanks to *schn0052* [on our forum](https://xen-orchestra.com/forum/93-apache-reverse-proxy)!)

View File

@@ -0,0 +1,14 @@
# Xen Orchestra behind an Apache reverse proxy
As XO-web and XO-server communicates with *WebSockets*, you need to have the `mod_proxy_tunnel` in Apache (please [check the Apache documentation](http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html) about it). It's available for Apache 2.4.5 and later.
Please use this configuration in this order or it will not work:
```
ProxyPass /api/ ws://x.x.x.x/api/
ProxyPassReverse /api/ ws://x.x.x.x/api/
ProxyPass / http://x.x.x.x/
ProxyPassReverse / http://x.x.x.x/
```

153
vm_usage/README.md Normal file
View File

@@ -0,0 +1,153 @@
# Virtual machines
VM are the core interest of virtualization. That's why they are first in this documentation. The VM view contains all you need to interact with a virtual machine:
![](./assets/vmview.png)
## Life-cycle (stop, start, reboot)
This is trivial, it can be done in the main view:
![](./assets/quickactions.png)
But also in the VM view, in the **Actions** panel:
![](./assets/actionbar.png)
## Live migration
Live migration allows to move your VM from an host to another without interrupting service. You can do it in the main view, by checking the needed VM, and choose the Migrate button in the extended navigation bar:
![](./assets/migrate2.png)
Or in the VM view in the **Actions** panel:
![](./assets/migrate1.png)
## Console
Xen Orchestra allows console access from the web. For that, we use the NoVNC project. Check the troubleshooting section if you have any problem for display it (it relies on a direct network connection, but it will be fixed soon).
Consoles are accessible from different views, but always with the same symbol: ![](./assets/consoleicon.png)
You can send *Ctrl+Alt+Del* key with the dedicated button. And you can also insert a virtual CD (from an ISO repository or a local DVD drive) in any VM you need:
![](./assets/consoleview.png)
## Edit VM characteristics
On the VM view, you can edit any characteristics using the edit icon: ![](./assets/edit.png)
E.g with **General** panel:
![](./assets/editpanel.png)
## Create a VM
You can create a VM from the pool submenu or the host submenu:
![](./assets/submenus.png)
Then, here you go, on the create vm view:
![](./assets/createvm.png)
Fill the required fields:
- choose a template
- pick a name
- choose install settings
- choose an interface and a Network
- you can modify disk size and add disks if you want
The summary is here to check if you are sure about your settings. Let's create a VM by clicking on "Create VM" button!
**WARNING**: if you create a VM from a special template (a previously existing VM converted in a template), you should remove all interfaces and disks! Because they are already existing in the template.
## Copy/clone a VM
Copying (or cloning, same thing) a VM allows you to "fork" an existing VM. You have 2 choices:
- Fast clone: it uses a snapshot on your storage back-end. Pro: it's very fast to create a fast clone. Cons: snapshots are less suitable for a long-term usage (important performance drawback).
- Full disk copy: it creates a new disk and copy the whole content of the VM in it. Pro: it's very reliable, and there is no link between this disk and its parent. Cons: disk creation is longer.
![](./assets/clone.png)
When to use *Fast clone*:
- create a temporary VM, e.g for development or test purpose
- disk performance is not needed
- you storage system is occupied at less than 80% (performance impact is very high after this average limit)
For production use, please consider *Full disk copy*.
## Create a template
When you create a template from an existing VM, it will **convert** your current VM to a template. **There is no turning back!**
After the conversion, you can create a new VM, and see in the template list, a new template with the name of the converted VM. The VM creation process is slightly different from a "classical" template because:
- your converted VM contains already a network interface
- and a disk
Thus, you don't need to create both of them (remove the network interface and let disks section empty).
This is very powerful for creating the same VM basis for a type of usage (e.g: a development stack pre-configured in the templated VM).
You can use this feature in the VM view, in the "Actions panel", using this icon: ![](./assets/totemplate.png)
## Delete
Remove a VM can be done from the main view but also the VM view.
In the main view, you need to check the VM you want to delete (can be multiple VM), then in the "More" menu, select the Delete action:
![](./assets/more_menu.png)
It will ask you if you are sure to delete the VM, and also the possibility to delete its associated disks:
![](./assets/confirmdeletevm.png)
In the VM view, the process is the same with the trash icon: ![](./assets/vmdelete.png)
## Snapshots management
Snapshotting is a very powerful feature. It allows the possibility to quickly save a VM state (e.g: for backups) but also to rollback to a previous state if needed.
The classical example is to create a snapshot before a VM OS update, check if it works, and revert/rollback if not. As snapshots are really fast, you can avoid a too long service interruption.
You can create a snapshot from the main view, with the "More" menu on each VM selected (can be multiples VM at one time):
![](./assets/more_menu.png)
Or in the VM view with the snapshot icon: ![](./assets/snapshoticon.png)
Created snapshots are visible in the VM view in the "Snapshots" panel:
![](./assets/snapshotpanel.png)
As you can see, the snapshot name is auto-generated (with the snapshot date). You can change the name, revert of delete snapshot by editing the panel:
![](./assets/edit_snap.png)
Snapshots operations are possible without power state distinction.
<!--
## Disk management
## Network (interface) management
-->
## Logs
Logs are XAPI events, like when a VM is started or shutdown:
![](./assets/log.png)
You can remove a log by editing the "Logs" panel and use this icon: ![](./assets/removelogicon.png)
## Group actions
You can make "group actions" in the main view, e.g migrate a bunch of VM in another host. For that, you have to use the check box for each VM you want or use the "master checkbox" for select VM in the same host or power state:
![](./assets/mastercheckbox.png)
The, choose the button you need in the [extended navigation bar](#extended-navigation-bar).

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
vm_usage/assets/clone.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
vm_usage/assets/edit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
vm_usage/assets/log.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 728 B

BIN
vm_usage/assets/vmview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB