Failed to start PerlSoap protocol

Availability for the Always-On Enterprise

Re: Failed to start PerlSoap protocol

Veeam Logoby jens-slfonden » Sun Jul 23, 2017 7:08 am

Anyone know if it is possible now to get reunning on Freenas11?
jens-slfonden
Lurker
 
Posts: 1
Liked: never
Joined: Wed May 01, 2013 8:46 am
Full Name: Jens Andersson

Re: Failed to start PerlSoap protocol

Veeam Logoby jgould » Sat Jul 29, 2017 5:21 am 1 person likes this post

You would think it would work, considering all the listed requirements are met within FreeNAS.
But to date I've been unable to make it work direction on FreeNAS or even in a FreeNAS jail.
A bhyve VM seems to be the next alternative. Not sure how that would perform compared to iSCSI.


Seems like Veeam doesn't quite know what the "requirements" are. The use of Perl has caused quite a bit of problems even on Linux boxes that "meet the requirements". I remember learning Perl years ago and universally everyone hated it. Even today I look at Perl and wonder why anyone would use it. And every time I do see it used it ends up causing problems.
jgould
Novice
 
Posts: 5
Liked: 4 times
Joined: Sat Jul 29, 2017 5:11 am

Re: Failed to start PerlSoap protocol

Veeam Logoby jgould » Sat Jul 29, 2017 6:55 am 1 person likes this post

I managed to get it working on native FreeNAS 11 after 2 days of trying!
No jail/VM/iscsi/NFS/CIFS...just pure FreeNAS.

The part I was missing, and I didn't find mentioned in requirements, is that the user account that will run the perl scripts needs to be set to BASH shell.
You can do that in the freenas GUI under users. I change it for both veeam and root user accounts.

The rest of the steps I used this thread [url="https://forums.veeam.com/veeam-backup-replication-f2/adding-freebsd-server-as-backup-repository-t11869.html"]HERE[/url]. Lots of the buttons didn't function for me. Populate buttons returns "unable to retrieve drive info". Populate returns <unknown> for my capacity and free space. But the Browse button worked so I could select my folder which is all I really needed.

The biggest issue now is that there is no persistent way I know to edit the /usr/local/etc/sudoers file in FreeNAS. Default it doesn't have the #includedir that would include files in /sudoers.d. If you add directly to the sudoers file it will just be overwritten when you edit users/groups and probably on upgrades. You aren't supposed to edit this on FreeNAS and I can't find another method of allowing passwordless sudo. You could enable root password login which is an option in the freenas GUI. Or perhaps you could use private/public keys (going to try that next).
jgould
Novice
 
Posts: 5
Liked: 4 times
Joined: Sat Jul 29, 2017 5:11 am

Re: Failed to start PerlSoap protocol

Veeam Logoby jgould » Sat Jul 29, 2017 9:56 am 1 person likes this post

Well, turns out even though I've made progress it still doesn't work. While I could add freenas 11 as a backup repository, it didn't actually run the backup jobs. They just failed.

I realized that the VeeamAgent linux binary was being written to /tmp/ but wasn't able to run. I tried to run it from the cmd but it failed. I then realized that freenas doesn't load the linux binary compatibility (linux64.ko). So I ran the following to enable and verify;
Code: Select all
kldload linux64
kldstat

The job then began to run and even wrote out ~3GB of a 6GB backup (have to say, it did this REALLY FAST). But for whatever reason it just "failed". I was watching the processes in htop and I could see the VeeamAgent running using the RAM/CPU and then disappear. I'll keep testing but I suspect it hit something it wasn't compatible with in the binary.
jgould
Novice
 
Posts: 5
Liked: 4 times
Joined: Sat Jul 29, 2017 5:11 am

Re: Failed to start PerlSoap protocol

Veeam Logoby jgould » Sat Jul 29, 2017 8:55 pm 1 person likes this post

I know have FreeNAS 11 working as a linux backup repository. Backup jobs are working!
All settings are possible directly from the GUI so no issues messing with FreeNAS config files in the CLI that don't persist reboots.

To enable the Linux Binary Compatibility so the the VeeamAgent binary can run from the /tmp/ directory we will create a tunable. This replaces manually loading he kernel modules using kldload linux64.
Code: Select all
System->Tunables -> Add Tunable(s)
variable: linux_enable
value: YES
Type: rc.conf


Veeam requires an extra KexAlgorithm that has been removed from OpenSSH (used on FreeNAS/FreeBSD). I do NOT recommend you try to fully replace the KexAlgorithm string as if you forget any that FreeNAS requires you will mess up other SSH functionality (replication over SSH, trying to SSH with a previous private key, rsync over ssh, etc). Note that I use a "+" to denote I am APPENDING to the list.
Code: Select all
Services -> SSH -> Extra Options
KexAlgorithms +diffie-hellman-group1-sha1

I also added "ClientAliveInterval 30" and "TCPKeepAlive yes" but I haven't tested if they are necessary or not.

I then ran
Code: Select all
ssh-keygen -A
to regenerate existing keys. I'm actually not sure this was necessary. Reboot server or restart sshd (service sshd restart).

Now you need an account for veeam to run the VeeamAgent binary and perl scripts under.
That user will need to have their shell set to bash or the scripts will fail to run.
The whole creating a veeam user that has passwordless sudo wasn't feasible for FreeNAS as you can't alter the sudoers file without it being overwritten. So we either use the root user account or another service account (call it veeam) with enough permission to run the binary executables and set file/folder permissions (chmod). The login can be either password based login or public/private key login. I just used the root user with public/private keys.

I used PuTTYgen to generate the keys, but you can just do it on any Mac/Linux CLI. Plenty of tutorials on that.
Code: Select all
Account -> Users -> root
Primary group: wheel
Shell: bash
SSH Public Key: [Past your public key]


If you use a veeam service account, you could probably set the primary group to something more restrictive then wheel. That would probably be the most secure, but I didn't bother. Of course you could always just use passwords, but I wasn't willing to use password for an account with full permissions.

And that is it.
jgould
Novice
 
Posts: 5
Liked: 4 times
Joined: Sat Jul 29, 2017 5:11 am

Re: Failed to start PerlSoap protocol

Veeam Logoby matt1237 » Fri Aug 18, 2017 1:22 am

Add my name to the FreeBSD list too. Running FreeNAS... a very common installation.
matt1237
Lurker
 
Posts: 1
Liked: never
Joined: Tue Aug 10, 2010 10:08 pm
Full Name: Charles Coleman

Previous

Return to Veeam Backup & Replication



Who is online

Users browsing this forum: Bing [Bot] and 33 guests