Scenario Full Standard#
This scenario involves the presence of a single tenant. It builds on the Full Small Scenario by decoupling a few services and prepare the Carbonio infrastructure for a future growth and scalability . This scenario is therefore intended for infrastructures including hundreds of accounts and are ready to scale up to tens of thousands of accounts.
The scenario can be deployed either using the Ansible Playbook, or manually, Node by Node. In both cases, make sure you configure the internal network.
Ansible Playbook#
This 7 Nodes scenario can be installed using Ansible: you need to setup a workstation to run Ansible playbooks (please refer to section Prepare the Ansible Environment and following for directions on setting up the workstation), then download the Ansible inventory (see below this paragraph), replace the FQDN and values present in the file according to your planned Carbonio infrastructure (please refer to Section Prepare Inventory). Once edited the inventory, you can Install Carbonio Using Ansible.
Inventory - “Full Standard” Scenario
[postgresServers]
srv1.example.com
[masterDirectoryServers]
srv1.example.com
[replicaDirectoryServers]
[serviceDiscoverServers]
srv1.example.com
[dbsConnectorServers]
srv4.example.com
[mtaServers]
srv2.example.com
[proxyServers]
srv3.example.com
[proxyServers:vars]
webmailHostname=YourWebmailPublicHostname
[applicationServers]
srv4.example.com
[filesServers]
srv5.example.com
[docsServers]
srv6.example.com
[taskServers]
srv4.example.com
[previewServers]
srv6.example.com
[videoServers]
srv7.example.com public_ip_address=x.y.z.t
[prometheusServers]
srv1.example.com
[syslogServer]
srv1.example.com
Once edited the inventory, you can launch Carbonio installation by issuing from the workstation, the command
$ ansible-playbook zxbot.carbonio_install.carbonio_install \
-u root -i carbonio-inventory
Network Configuration#
The following ports must be opened on the external network, i.e., they are required for proper access to Carbonio from the Internet.
Public hostname |
Ports & Service |
Mapping |
---|---|---|
mail.example.com |
|
srv3.example.com |
mx.example.com |
|
srv2.example.com |
mail.example.com |
|
srv6.example.com |
Manual Roles Installation#
In case you do not want to install Carbonio on this scenario using Ansible, you can proceed with the manual installation of the various Roles on the Nodes, according to the following guidelines.
Before starting the installation, bear in mind to:
Always start with the installation of Mesh and Directory Roles
When installing multiple Roles on a Node, the tasks listed in Bootstrap Carbonio and Join Carbonio Mesh steps can be made only once, after all packages of the Roles have been installed
Node Name/FQDN: srv1.example.com
Type of services: Clustered services
Roles installed:
Node Name/FQDN: srv4.example.com
Type of services: Mails, Calendars, Contacts, and Tasks
Roles installed:
Node Name/FQDN: srv6.example.com
Type of services: Preview and Editing
Roles installed:
Node Name/FQDN: srv7.example.com
Type of services:
Roles installed: Video and Meeting