Author: nicbor

In this blog post I’ll share how to setup Cloudian HyperStore 7.2.1, create an immutable bucket and how to make use of it in Veeam Backup & Replication v10 for testing purposes and getting your hands dirty with object lock which in essence will provide ransomware protection but first let me talk a little bit about why this is a big deal.

One of the most interesting and useful features in Veeam Backup & Replication version 10 is the “replacement for tapes”-feature called Immutability. Why does it replace tape I hear you ask. A few different reasons but the biggest to me is that you can protect your data from being tampered with just as with tape but unlike tape your data is still online and accesible. It’s built on an AWS S3 feature called Object lock, eventhough it’s originally from AWS that doesn’t mean that it’s only available for AWS users. There’s actually a growing list of object storage solutions and vendors implementing the latest AWS S3 API, both as cloud based solutions but also for on-premises solutions using either a hardware- or a software approach. Today the object lock functionality is supported by AWS S3 of course but also Zadara VPSA Object Storage (v 20.01 or later), Ceph (v14.2.6 or later) and Cloudian (v 7.2 or later). You can find the ever growing list of compatible object storage solutions that works with Veeam on this unofficial list which includes both object storage solutions with and without object lock functionality.

So let’s get back to basics, what exactly does the object lock feature do? Well, the short answer is that it write protects the data you save to on object storage solution for a period of time which you can define, making the data accessible to read (meaning online) but it cannot be changed or deleted untill that time has passed (so basically the equivalent of an offline tape but instantly accessible to recover from). “WORM” escentially, Write Once Read Many. Your data is still online and ready to be used if you need it but if your hit by some ransomware or malicious admin/hacker the data cannot be changed or deleted.

Want to kick the tires? Give it a spin? What you need: Veeam Backup & Replication v10, An Object Based storage solution, in this post I’ll be using Cloudian HyperStore, and an lab environment to deploy it all on. You will also need the AWS CLI when creating the S3 bucket in the Cloudian environment.

I’m going to use a few new hostnames in my lab evenrionment, so first thing is to add those to my DNS server (I’m using a zone called vcsp.local where I’ll add the records):

cloudian01 / 192.168.50.231

cloudian02 / 192.168.50.232

cloudian03 / 192.168.50.233

cmc / 192.168.50.231, 192.168.50.232, 192.168.50.233

iam / 192.168.50.231, 192.168.50.232, 192.168.50.233

s3-nordics / 192.168.50.231, 192.168.50.232, 192.168.50.233

s3-admin / 192.168.50.231, 192.168.50.232, 192.168.50.233

s3-website-nordics / 192.168.50.231, 192.168.50.232, 192.168.50.233

sqs / 192.168.50.231, 192.168.50.232, 192.168.50.233

By adding a hostname with multiple IP address you will get a basic “load-balancer” distributing connections between the different nodes. It’s not a real load-balancer but the DNS server will resolve a hostname to a new IP address for every request it gets, this is called DNS Round-Robin. If you don’t have a DNS server you can install a lighweight DNS server as part of the Cloudian deployment called dnsmasq, when you get to the part where you install HyperStore (the step below that says “. /cloudianInstall.sh force“), replace it with the command “. /cloudInstall.sh dnsmasq force” instead.

Configure the three nodes:

Use Deploy OVF template in vSphere to install the Cloudian HyperStore OVA. Import the Cloudian HyperStore OVA 3 times using the names Cloudian01, Cloudian02 and Cloud03.

Change resource of the VMs to 8 vCPU and 16 GB RAM (which is the minimum requirement but in this limited test environment it works with fewer resources, I’ve tested with 2 vCPU and 8 GB RAM and it seems to work ok)

Power on VMs

Logon as root / password using the consolecd CloudianTools

Run the following command and follow the steps./system_setup.sh

1) Configure Networking

1) Ens160

Change IP address to static IP address

Set IP address, subnet mask, default gateway and DNS

Do you wish to save these settings? Yes

Will <IP address> be the address you use for hyperstore-ova in you survey file? Yes

Would you like to restart this interface to activate this new configuration? Yes

P) Return to the Previous Menu

D) Change Domain name

Do you want to change your domain name? Yes

New Domain Name: vcsp.local

H) Change Hostname

Do you want to change your hostname? Yes

New Hostname: cloudian01(cloudian02 and cloudian03 for subsequent nodes)

N) Restart Networking

Are you sure? Yes

P) Return to the Previous Menu

2) Change Timezone

8) Europe

45) Sweden

Would you like to save this timezone setting? Yes

5) Change root Password

1) Change root Password

New Password: <new root password>

Retype New Password: <new root password>

P) Return to the Previous Menu

D) Download HyperStore Files (this step is only needed on the first node you install, i.e. cloudian01)

Select an option to download(if you only want to test object storage choose 1 but if you want to test object lock/immutability feature you need to choose 2)

1) Download HyperStore GA files (HyperStore 7.1.7

2) Download HyperStore EA files (HyperStore 7.2.1, required for Object Lock testing which is a licensed feature and not part of the trial license)

P) Return to the Previous Menu

X) Exit

Continue to cloudian02 and do the same steps above and then cloudian03

Install Cloudian HyperStore On Master (cloudian01 only):

On you PC/Mac using for instance WinSCP or CyberDuck, transfer your license file cloudian_<numbers>.lic to cloudian01 (there’s a trial license included in the download from the previous step that could be used but it doesn’t include the object lock functionality, you need to contact Cloudian to get a license to unlock that feature.

If needed, transfer the license file to /root/CloudianPackages/(or use the one already present in that folder, but again: it doesn’t provide Object Lock functionality)

Logon to VM using root / <new root password>

cd /root/CloudianPackages

./CloudianHyperStore-7.2.1.bin cloudian_<numbers>.lic

cd /opt/cloudian-staging/7.2.1

./system_setup.sh

4) Setup Survey.csv File

Would you like to create a survey file now? Yes

Would you like to add entries now? Yes

Region Name: nordics

Hostname: cloudian01

IP Address: 192.168.50.231

Data Center Name: DC1

Rack name (all nodes in a DC must use same rack name): rac1

Internal Interface (optional): <skip this option by pressing enter>

Would you like to add another entry? Yes/No (you can have a 1 node test bed if you like or add 2 additional nodes if you’d like to test object lock)

P) Return to Previous Menu

S) Script Settings

10) Generate SSH Key File

Install public key on cluster nodes? Yes

Enter password for each node

P) Return to the Previous Menu

6) Install & Configure Prerequisites

1) Install & Configure Prerequisites

Would you like to perform this on all nodes listed in you survey file? Yes

P) Return to the Previous Menu

R) Run Pre-installation Checks

1) Quite mode: (show only warning or failed tests)

R) Run Pre-Install Checks

You will most likely get warnings that you running a virtualized environment, perhaps not enough nodes in the cluster and not enough resources allocated to the VM. If other issues show up as failed they need to be addressed before proceeding.

P) Return to the Previous Menu

W) Write sysctl Configuration

X) Exit

A reboot is required to apply some of the changes. Reboot cloudian01 now? Yes

Wait for cloudian01 to reboot

Logon as root / <new root password> using console or ssh

cd /opt/cloudian-staging/7.2.1/

. /cloudianInstall.sh forceThe “force” switch is required since we’re not using the recommended minimum resuorces, use “./cloudianInstall.sh dnsmasq force” if you need a DNS.

Click the top link displayed: No Storage Policies have been defined. Please create a Storage Policy to create a storage policy

Click + Create Storage Policy in the top right corner

Give it a Policy Name and accept all other default settings

Click Save

Click Users & Groups in the top bar

Click Manage Groups in in the top

Click + New Group

Give it a Group Name: Backupusers

Click Save

Click Manage Users in the top bar

Click + New user in the top right corner

Give it a User ID: veeam_backup_user

Add a password (min 9 chars)

Assign the Group Name created in earlier step: Backupusers

In the field “Search For A User By ID:” type veeam_backup_user and click search

Click Security Credentials for the user veeam_backup_user

Copy Access Key ID and then click View Secret Key to access and copy it for use later

Click Close

Sign out of the CMC GUI

Enable object lock on Cloudian

For more detail on Object lock you should read the document Cloudian-QuickStartGuide-Object-Lock.pdf, below is a summary of the steps outlined in that document that needs to be taken

Log into the Puppet Master node (should be cloudian01) as the root user.

Check to confirm that the HSH is currently disabled.

[root@cloudian01]# hsctl config get hsh.enabledFalse

Set hsh.enabled to true.

[root@cloudian01]# hsctl config set hsh.enabled=true

Push the configuration change out to the cluster.

[root@cloudian01]# hsctl config apply hsh

Confirm that HSH is now enabled.

[root@cloudian01]# hsctl config get hsh.enabledTrue

HSH is now enabled in your system, but no users are yet able to log into it. To provision the default admin user for HSH do the following steps:

log into the CMC as the admin user with password public

Change the “admin” user’s password. in the top right corner, Admin->Security Credentials. This password change causes the system to create a corresponding HSH user.

Once an HSH user has been created, that user can use SSH to log into any HyperStore node. Prefix sa_ should be applied to the admin account when logging on, so user should be sa_admin and password should be <new root password>. The prompt will appear as follows:sa_admin@cloudian01$

You can confirm that you are in the HyperStore shell by typing help:sa_admin@cloudian01$ help

Type exit and press enter to end session

Log on to cloudian01 via console or ssh using root with <new root password>

To disable root password access to all HyperStore nodes:

cd /opt/cloudian-staging/7.2.1

./cloudianInstall.sh

4) Advanced Configuration Options

m) Disable the root password

Do you wish to disable the root password on all Cluster nodes? Yes

X) Return to Main Menu

X) Exit

Type exit and press enter

Try to logon again using console or ssh and verify the root is no longer able to logon.

To create a bucket with object lock this must be done using an API or using AWS command line interface, it can’t be done from the Cloudian CMC.On a management PC, download AWS S3 CLI to create a bucket with object lock.

Make sure to click “Copy backups to object storage as soon as the are created!

Create a backup job and use Scale-Out backup repository above as target, and start it.

Verify Object lock

Once backup job is finished

Go to Home

Under Backups find Object storage

Right click the backup job and select delete from disk

If everything is configured correctly you should get a failed attempt!

By using Veeam Backup & Replication version 10 in combination with a Scale-Out backup repository including an object based storage solution, we can make sure that our valuable data is protected, we get 2 backup copies automatically when using copy-mode, we get a second media type and we get a write protected copy with the immutability option. So in a single job we can actually adhere to the design princple we’ve talked about for a long time called the 3-2-1-rule. How cool is that!

So what we’ve now established is a solid solution that will protect your data no matter if it’s from malicious insiders or ransomware!

In the next blog post will be a follw up on this post where I’ll show you how easy it it’s to recover from a disaster including the Veeam Backup & Replication server, a total site failure. I’ll show you that as long as you have a copy of you backup available in object storag solution (not part of the site that filed of course), you can recover!

One of the many use cases for Veeam Backup & Replication is disaster recovery, as the name of the product suggests it can certainly replicate virtual machines from a production environment to a secondary- or disaster recovery environment. While it is a very straight forward process running through a wizard selecting source and target environments and the start replicating the VM cross the network, you can even have your virtual machines replicated to a Veeam Cloud & Service Provider, VCSP, if you don’t have a disaster recovery site of your own. The VCSP can have a hypervisor environment built for either Microsoft Hyper-V, VMware vSphere or VMware vCloud Director. VMware vCloud Director is VMware’s multi-tenant solution to host Infrastructure as a Service and purpose built specifically for Service Providers.

In this post I’m describing the process of replicating VMs to a VCSP using a feature of Veeam Backup & Replication called Cloud Connect, I’m not going through how to setup Cloud Connect. If you need more information about the ins and outs of Cloud Connect please visit Luca Dell’Oca’s webpage about Cloud Connect.

In the hosted environment at the VCSP you can power on virtual machines if needed to keep your business going if there’s a catastrophic event at your own site for instance a lengthy power outage, load shedding, you can even create a fail-over plan dictating which virtual machines should be powered on and in which order they should start, making sure everything starts in the correct order.

Replicating over the network may not be optimal in all scenarios, at least not the first initial full replication cycle. Let’s say you have a few very large virtual machines that you want to protect by sending them to a disaster recovery site hosted by your Veeam Cloud Service Provider but it’s too big to actually be transferred over the network within the available backup window, what do you do?

In Veeam Backup & Replication you can seed an initial copy of the virtual machine to your service provider using some sort of transportable solution. USB drives, Tapes or solutions of that nature – using “sneaker net”. The basic concept is to get a copy of the virtual machine to the service provider so they can import the VM to their environment and when you start replicating over the network you just send the changes made to the VM that has occurred since you made the copy of the VM. No need for a full transfer of the VM cross the network!

So the 3 basic steps that needs to be taken:

Backup VM to a transportable storage device and send it to VCSP

The VCSP imports the VM to the correct Org vDC in vCloud Director

Set up a replication job at the customer site using the imported VM at the VSCP site as mapping VM

If the service provider has a multi-tenant virtualization layer, meaning built on VMware vCloud Director, the process is simple but has to been broken down into a few distinct steps. If you as a service provider are using VMware vCloud Director 9.7, these are the steps you take if the customer has Veem Backup & Replication installed that can be used:

Step 1 – Customer environmentBackup source VM (normal backup job or VeeamZip) to a portable storage solution. Either backup to C:\Backup and move the backupfile manually to the USB device or select “VeeamZIP…” and specify the target USB devices directly.

Step 2 – Customer environment

Step 3 – Customer environment

Step 4 – Customer environmentWhen the backup is completed it should be visible in the “Backups”-section in “Disk (VeeamZIP)”

Step 22 – VCSP environmentLog on to vCloud Director using the flex UI (the HTML5 UI lacks the “import from vSphere” option.

If you as a service provider are using VMware vCloud Director 10 with the new HTML5 UI for providers, please note that “import from vSphere” is not available in the H5 UI. What’s even more annoying is that the flex UI has also been disable by default in vCD 10 so to be able to import the VM into the Org vDC of the customer you first need to enable the flex UI of vCD:

In version 10 of Veeam Backup & Replication a lot of Linux love has been put in to the product. To me, one of the most interesting things is the new functionality where you can assign a Linux VM the role of a backup proxy. Historically the proxy functionality has been restricted to Windows OS only. The linux proxy does not come as a prebuilt Veeam appliance, just as with Windows proxies you still need to secure and patch the operating system. The rational behind it is easy to understand, most organizations already have some sort of patch management system in place to leverage for their production workload and you would want to have the same level of patching and security on your proxies as you have for all other workloads. I thought it would interesting to see if you could automate the deployment of proxy servers a bit. Sure enough it is a fairly simple process since Veeam Backup & Replication has a great PowerShell extension which will let you automate almost all of the tasks you can do in the GUI. As far as automating proxy servers go, my colleague Anthony Spiteri has a comprehensive project called “Project Ōtosukēru” based on Terraform which may be of interest to you as well.

Mind you, the code below should serve as an indication of what you can do – as an example if you will. However, you use at at your own risk. I’ve put in an option to deploy to a test/lab environment (if you are lucky enough to have a lab environment) so you can start testing it out in a safe environment.

So why not combine this small project with the small Linux operating system VMware provides called PhotonOS? PhotonOS is a stripped down linux operating system we can use. Now you can certainly download an iso image and do a traditional install and set it up just the way you’d like and then convert it to a template in vSphere and make use of it that way. However I thought it would be more interesting to see how much you can automate. So instead I’m just downloading the prebuilt Linux appliance and using that as the source for my proxies.

The script performs 4 different tasks:

It starts by importing the settings you specified in the configuration file (config.json)

Let’s you choose where to deploy the Linux appliance, you can pick a single host, all hosts in a specific cluster or all hosts in a specific datacenter. It will also let you choose if you’d like to deploy to a test/lab environment or to a production environment (settings fetched from config.json). The script will try to ping the IP range configured in config.json to verify that they are not being used. It then deploys the appliance to the selected target(s). Once deployed the appliance will be configured (Connecting to the specified network portgroup in vSphere, Set vCPU and vRAM, set Static IP address, firewall ports opened, configuring timezone).

The Linux server will then be added to Veeam Backup & Replication as a managed server. The managed server will then have the role Backup Proxy assigned to it, concurrent tasks will be set to whatever amount of vCPU’s you’ve assigned to the VM (from the configuration file).

Config.json explained“location”: – Where files be downloaded and working directory“ovasource”: – URL to the OVA“ovaname”: – Name of the OVA“ProxyBaseName”: – Base name of Proxy VM to be deployed“ProxyvCPU”: – vCPUs to assign the Proxy VM“ProxyvRAM”: – vRAM to assign the Proxy VM“sshuser”: “root” – Logon account for the Proxy VM“ovainitialpassword”: – Default password of the OVA is “changeme”“newsshpassword”: – New password to apply for the root user on the Proxy VM

The Proxy VM will be named with ProxyBaseName + IP address of the target host to where the VM is deployed with all dots replaced by dashes, i.e “VeeamProxy_10-10-50-38”.

Save the two files to c:\temp and then you’re good to go!No more bits needed to be downloaded, the script will download what it’s required. The only thing you need to change is the settings in config.json to reflect your environment.

Sometimes when creating blog posts you just get excited to publish a post as soon as it’s finished, but then you realize you can do something better. So yesterday I published a post on how to use a function in PowerShell to create an interactive dynamic menu but in hindsight it could have been more “generic” – so today I’m back with a new post on how you can create that generic function by providing the query in a separate string instead as part of the function itself. This allows you to merely change the query (the input for creating the menu) without having to change anything inside the function. Now it’s a “real” function! 🙂

I’ve added two mandatory parameters to the function, the first is the query to retrieve data and the second parameter is the task that you’d like to perform on the selected object. I’m calling the parameters -ListItem and -GetItem but the actual query is set in the $MyQuery and $MyTask string and they are then passed on to the function to perform the task. So if I’d like to get a list of VMs I just change the $MyQuery to something like “(Get-VM | Sort-Object)” and if I’d like to get a list of Datastores I set $MyQuery = “(Get-Datastore | Where {$_.Type -eq ‘VMFS’} | Sort-Object -Descending FreeSpaceGB)”. Once the list is presented and you select an object you then pass on what’s going to happen with it with the $MyTask – so if I want to retrieve a specific VM I set it to “Get-VM” but it could be anything (like Remove-VM but there’s no warning so be careful!)

Get a list of VMsGet a list of VMFS datastores and sort them based on free space

Calling the function is then done using this syntax: Set-Menu -ListItem $MyQuery -GetItem $MyTask

If you are anything like me you’re setting up test or demo environments and then tearing them down a few hours later when you’re done with what ever testing you were doing. While setting up a VMware vSphere test environment is super easy using powershell/powercli (if you haven’t already visited William Lams web page, I highly recommend it and while you’re there grab the PowerShell scripts to deploy vSphere/vSAN/NSX environments. Kudos to William for everything you do for the vCommunity!!), I use his powershell scripts almost on a daily basis!

Now while setting up a single lab environment is usually not a big problem using the scripts provided by Willam but when you start setting up multiple labs (I typically have like 3 or 4 labs set up on any given time for different purposes) you might run out of some resources statically configured in the script, for instance your datastore configured doesn’t have enough capacity. So why not enhance the experience with dynamic selection of for instance datastore (or in my example: DatastoreCluster). Turns out it’s really easy to build an interactive dynamic menu of your datastoresclusters and use the menu to select where to install the lab environment.

I’m using a function to call the datastoreclusters I can use. I have a basic error handling included that you might need to extend. The code below includes 2 examples, the first function is calling available DatastoreClusters from a vCenter server and ordering them based on available free space and the second example gets a list of port groups available on my distributed switch. I’ve also assigned a default selection/value for faster deployments, just press enter to select the default value.

Veeam Backup & Replication 9.5 update 4 has now finally been released (to the VCSP community first and the general public on the 22:nd of January). There are loads of really interesting updates and new features.

Veeam Backup & Replication 9.5 update 4

To name a few of the enhancement/new features:

Capacity tier: Support for object based storage, gives you access to BLOB storage from Microsoft Azure, Amazon S3 and S3 compatible as well as IBM Cloud Object Storage. This is a new addition to Scale-Out backup repository users. You have your local “performance tier” as per usual but you can offload data based on age or space to object based storage.

Staged restore (GDPR compliance for instance, the right to be forgotten or other use cases where you’d need to run a script on the VM before restoring it)

Secure restore where you can do a virus scan on the VM before restoring

Direct restore to Amazon EC2 – restoring to Azure has been available for a while but now you can also choose to restore your on-premises infrastructure VMs to Amazon EC2 – combined with the functionality of the backup vendor Veeam acquired a year ago called N2WS for backing up EC2 instances we now have a whole other level of portability of our data: backup everything, restore where it makes the most sense.

But going back to the fact that update 4 now is available for VCSPs (or Veeam Cloud & Service Provider), there have been some updates for VMware environments as well (VMware calls their service provider program “VCPP”). Included in the VCPP program is a great product called vCloud Director that has been around for ages but is only available for service providers to use nowadays. VMware vCloud Director is an abstraction layer on top of vCenter so up until now there has been no support for vCloud Director for Veeam Cloud Connect usage when replicating VMs from a customer to the service provider environment. The solution previously was to replicate VMs to the service provider vCenter using Cloud Connect and then manually import VMs to the correct organization from vCloud Director. With update 4 that manual step has now been removed, and the process has in fact been improved since the customer can – using cloud connect and a single port mind you! (no VPN required) – replicate virtual machines from the onsite vSphere environment directly to their own Organization and Org vDC. The customer can also set up failover plans and run those if needed all using the same vCloud Director credentials they already received from the service provider.

It’s really easy to setup, below is a video where I show you how to configure the service provider bits such as adding vCloud Director, setting up tenants but also how the customer would configure their environment i.e. how to connect to a service provider using Cloud Connect and setting up replication jobs from a local environment and replicating VMs to the service provider vCloud Director and the customers org vDC within that environment.

(The video is in swedish but just turn off the sound if you don’t understand)

Hopefully you’ve already heard, Office 365 is a big hit for just about any vertical and customer type but have you had the much, much, needed conversation with your customers on the necessity of protecting the data that’s now landed in Office 365? I’ve said it before and I’ll say it again: Microsoft is fantastic in providing availability of the service they’re providing but however they also say that any data you store in Office 365 is yours – meaning you have the responsibility to actually think about how you’re going to protect that data and in the end also providing some sort of backup mechanism that executes the backups for you. This is described in a blog post from Veeam called the Office 365 shared responsibility model, which is an essential read if you haven’t already seen it.

A few months ago Veeam released the update version of Backup for Office 365, version 2.0, and we’re now able to not only backup the mail part of Office 365 but also Sharepoint and Onedrive.

As a Service Provider, Veeam has a program called VCSP (Veeam Cloud & Service Provider), you have the ability to provide Backup as a Service and Disaster Recovery as a Service based on a specific Veeam Backup & Replication function called Cloud Connect available only to Service Providers. Now in relation to Office 365 you have the ability to leverage Cloud Connect to provide backup for Office 365 as a service as well for your customers. So if you are a service provider today, already using Cloud Connect – Why are you not providing backup for Officec 365 as a service? If you have Cloud Connect already installed it takes less than 10 minutes to set up the new service.

So how difficult is it to set up? Not difficult at all – in fact I’ll show you in the video below (Swedish only, but it’s not rocket science so if you’re not swedish speaking it should be fairly easy to follow along anyway). But it basically boils down to these 5 steps:

Install Veeam Backup for Office 365

Install a certificate

Enable tenants authentication with organization credentials

Configure a repository for the customer

Add the customer account and set up a backup job

That’s it! In the video I will also show you how to set up a restore environment at the customer site that will let them restore items themselves using their administrative Office 365 credentials using a local installation of Backup & Replication Free edition and Veeam Explorers for Exchange and Sharepoint, but there are actually a few different ways of restoring – I’m just showing one of the options. You could also have the customers logging on to the Backup server itself for instance or provide a web portal to manage the retores. When restoring items, as always with Veeam, you have multiple destinations for your restore jobs; restore back to Office 365 (as shown in the video), restore to a .pst-file or restore an item and send it as an attachment to a mail to someone. But that’s not all, you can actually restore back to an on-premises installation of Microsoft Exchangeas well if you’d like. In fact you can use Backup for Office 365 to do backups of your on-premises Exchange server so you have not only a backup tool but a migration tool as well – working bi-directional anyway you want!

I was installing VMware vCloud Director 9.1 for Service Providers the other day and ran in to a problem that is “by design” if you will but if you are new to vCloud Director it still might be a show stopper for you.

In my case I was installing vCloud Director on a CentOS 7 VM. The problem itself manifests itself when the installation is done and you try to access the webpage but all you get is an empty webpage like this:

First of all before installing vCloud Director make sure you have all the required linux packages installed on the VM:

Since my environment is a demo/test environment I’m using self signed certificates but in a production environment you should use real signed certificates.

But going back to the problem, everything installed correctly during the install and I had no problem connecting to the database server (again since my environment is for demo, I’m using Microsoft SQL Server Express 2016 – not supported in a production environment).

I had no problem connecting to the vcd server (to both http and console interface) and database using either IP address or FQDN. But still a connection problem to the webpage, smells a bit like a firewall issue?

First a look into the logs using the command

tail -f /opt/vmware/vcloud-director/logs/vmware-vcd-watchdog.log

A warning “Server status returned HTTP/1.1 503”. Verifying the active firewall rules using the command

sudo firewall-cmd –zone=public –list-services

Only the ssh and dhcpv6-client services are enabled. It seems we’re missing a few services so enabling them using:

sudo firewall-cmd –zone=public –add-service=http

sudo firewall-cmd –zone=public –add-service=https

And verifying the new firewall rules:

Looks like it just might work now, probably good thing to restart the services just to be safe:

service vmware-vcd stop

service vmware-vcd start

And after a successful restart, reopening the browser will get you the good old web page once again:

Now that looks promising, clicking “Continue to this website (not recommended) brings us to this screen below:

Office 365 is getting a lot of well deserved attention, it’s an easy to use platform to provide your company with lots functionality without the need to heavily invest in on-premises infrastructure and hardware. Microsoft makes sure Office 365 is highly available and have all bits and pieces redundant. However, Microsoft does not own your data – You do! There are lots of different ways you might lose data: accidental deletion, ransomware and so on… A good read on the subject is a white paper from Veeam wich discusses 6 different areas:

Since it’s your data it is also your responsibility to protect your data. Now, how would you go about doing that?

Veeam Backup for Office 365 is currently in version 1.5 and supports backing up the mail environment of Office 365. Release 2.0 has been announced and will be released sometime later this year (at VeeamON maybe?), with version 2.0 you will be able to also backup OneDrive and SharePoint. And if you buy Veeam Backup for Office 365 today (version 1.5) you will get the added features down the line with no additional fees or purchases, just upgrade the installation with the latest bits. Great stuff!

Another cool feature of Office 365 / Veeam Backup for Office 365 is that since both Office 365 and an on-premises Exchange server uses the same APIs you can use Veeam Backup for Office 365 to back up both environments if you have a hybrid installation, or you can even use Veeam as a migration tool – unidirectional of course!

But what does it take to start protecting your Office 365 mail environment? As it turns out, not a lot! It is REALLY simple to start backing up. As the video will show you, it took me no more than 3 minutes to start the first backup, quite impressive and again so simple to install.

See for yourself, the video shows installation of both Veeam Backup for Office 365 and Veeam Explorer for Exchange and configuring a new backup job in under 3 minutes:

Who doesn’t love PowerShell and PoweCLI? I use it to automate as much as I can. Building demo environments, upgrading stuff or just playing around. The list is just a few examples of available modules from the Microsoft PowerShell Gallery, you can spend hours exploring interesting modules there. The list below is mostly a reminder for myself but feel free to explore!