Help needed to virtualize an existing slackware server
Hi all, not sure if this si the right place to ask but here it goes!
So I have been happily running Slackware on my home server for about 4 years now and considering the decent hardware that I have in that machine, I would like to virtualize it and add other virtual machines to eliminate the physical footprint and reduce electricity usage/heat generation.
The server is currently running slackware64-14 and uses several hard drives for storage etc.. Basically (not in details for now if its OK):
-sda & sdb are 2X 2TB with 4 RAID1 arrays (/boot /home / & has SWAP)
-sdc & sdd are assembled as a RAID0 array for temp folder and peformance read-write (eventually to be phased out for a fast SSD)
-sde sdf sdg sdh sdi sdj are 6X 2TB drives assembled as RAID5 with ZFS for permanent storage.
-sdk sdl sdm are drives mounted on hotswap enclosures for monthly backups.
The server currently uses a IBM M1015 SAS controller with SAS-SATA because the motheboars has only 6 SATA ports.
Other than that, it has enough horsepower to virtualize (Dual Opteron 4334 = 12 Cores at 3.5GHz with 64GB DDR3 1800 RAM)
Like I said, my goal is to reduce my physical machines. In doing so, I hope to get rid of my pfsense router that is about/going to die.
For optimum performance and maintainability, I would prefer a bare metal hypervisor so each virtual machine is sitting on top of the hardware with their own allocated hardware resource (cores, RAM, etc). Also note that I have 0 experience or knowledge in virtualization (other than virtualbox)..
So my questions:
Which free platform would you suggest? I keep seeing ESXi (free version) as a recurrent choice. Would you agree?
Will a bare metal hypervisor like ESXi allow me to lets say, allocate 1 Core (out of the 12 available), 8GB RAM (out of the 64) and 2 NICs to the pfsense VM while everything else goes to the server VM?
Due to the nature of the pfsense VM, it has to start and be ready to function before all other VM's (otherwise, how my server VM will get an IP?..)
And for now the biggest question: How to transfer my existing slackware setup to a VM???? reinstalling everything would be easiest but I REALLY dont want to do that (took me weeks if not months to have a stable system the way I need it)
I'm hoping someone or many can shed light on this topic cause I am completely lost!
Thanks and have a great day!
There are many choices out there for a virtual platform. Not sure what is best for you. Any of the top choices are worth thinking about. Bare metal like esxi or proxmox. Some host OS running any of the vm's from KVM, qemu, virtualbox, vmware and even some might like xen. I'd play with a few to decide.
As to how to move a system, there are P2V apps that might be used. For most people they use some backup tool just like they'd image a physical machine. Some edits tend to be needed but if you make stuff generic first it may help. I might look at using a file by file backup with clonezilla. There is no perfect way. Tools like tar and cpio and dd are used too.
If so, then here you go!:
-Apache server with about 6 websites used only on LAN (intranet more or less)
-MySQL server (about 375 tables)
-Backup via NFS for LAN clients
-Shared NFS partitions for clients (temp. storage and file exchange)
-NFS exports for media files (I store a lot of my music, videos, etc on the server)
-DOcument management system (knowledge tree, Joomla, OpenkM)
-COuchpotato, Sickbeard, newznab SAbnzbd+ (All accessed only on LAN)
-Surveillance system (Zoneminder)
-Groupware (Horde webmail)
-Boinc (distributed grid computing) when not too busy
-and lots of other smaller stuff
I was initially leaning toward ESXi with vSphere for the management console, but AFAIK, they're not opensource and they are costly. I have little to no money to spend on this since it is for home usage more or less (non profit oriented).
Then looking on wikipedia, I found Xen which seems to be the foundation of all good modern hypervisors... Thats fully free and opensource if I am not wrong.
virtualbox will not cut it as it is a type 2 hypervisor. I want type 1 to eliminate the need of a host OS. I just watched a youtube video about ESXi and I was impressed. With vSphere, its pretty much what I want to do in the end. I didnt like their price list however......
I think when I clearly understand the concept of a type 1 (bare metal) HV it will be much easier for me to imagine the transition from the physical machine to a VM..
When I meant what is best for you, I meant that I couldn't presume to suggest. You have been here a while and are smart.
I can't say moving to one platform is easier. Bare metal or any other VM will have equal tasks. If you have a P2V app that is well documented then it may be worth a choice. You don't need it however. A live migrate is good but may not be possible. From a practical view, any real hardware to hardware move is almost identical to a physical to virtual. The system doesn't really know the difference.
I haven't played with esxi for a while. When I did the hardware was limited. It may be much easier to use any server for it. It is a good choice.
The problems you may run into are some legacy installer issues. It is still best to do a clean install to a vm and configure it that way. In some weird moves, you run into goofy nic problems or have to edit a bunch of files. This generally is where a P2V app shines if it gets it right.
I don't use xen but there are plenty on this forum that love it.
If you have tested esxi on your server and you like it then consider it. It is a well respected product. If you don't have time to test then be sure to check that it will install and support your nic's.
If you plan to run "only" Linux applications then why not avoid virtualization entirely?
How about a different approach. Do you have experience with chroot and have you looked at LXC?
I started with VMWare Server then migrated to KVM-QEMU. Both technologies worked for me for many years. Recently I migrated to LXC on my Linux only servers and I'm pleased with the performance, resource usage and ongoing maintenance efforts.
Just a thought while you are are evaluating alternatives.
Just me 50cents.
Dont go with ESXi. You have linux running so use the tools that make it grow. Either KVM+qemu, XEN or LXC. There are several managment tools for all of them. Also I never used LXC I have experience with XEN and KVM+qemu. I prefer KVM for it beeing nearer to the hardware. Seeing some benchmarks and thoughts the devs put into it its amazing getting nearly 98% of bare metal performance from a virtual machine. XEN is about a bit longer so it got some more feature also this might not hold up true anymore. Talking hardware passthrough to the virtual guest. LXC has the advantage of not really beeing a virtual thing but more of a jail things. Dunno if your familary with this. The advantage of this is that libraries can be shared and the processing consumption beeing a bit lower. But for sure all of those three are linux native ones. So explore and enjoy. Just see which one has a nice managment tool you like and gives you all you need.
As for transfering a machine from bare metal to virtual I don't have much experience but most of the time its kernel modules. And I can only tell of kvm with virtio here. Which gives great performance when using the right driver. Regarding the transfer process its like mounting the original partition and the virtual one, then copy stuff and boot and see what happens. If you used uuids you should most of the time be fine. Maybe use a nother nic driver or update your initrd to resemble the new hardware. I'd say minor issues if you messed around with *nix. Also I can only second jefro to do a clean isntall inside the virtual enviroment. You can always copy your configurations later.
Hmmm thanks for the replies!
I will have to test a few platforms before setting into one..
I was not familiar with the concept of LXC.. Interesting, but not for my server. I am too paranoid with security to have OS'es share libraries and resources. Plus, my goal here is to virtualize a pfsense (FreeBSD) machine so unless I am wrong, I couldn't really sit it in a container to share resources with my main OS.
In regards to the visualization platform, I am leaning toward either ESXi (seems to be very popular and well built) or XenServer. pfSense are maintaining a ESXi virtual appliance image, so that's a minor plus (not much though, I could always install fresh from the install ISO).
As to how to move the existing environment to the VM, I'll look into that later. I think it wont be so complicated after all.
I am more concerned with the network topology. You see, my existing setup is more or less very simple:
WAN goes to pfsense router (separate physical device), then LAN goes to a gigabit switch, finally to the LAN machines (which my home ser is one of).
I want to virtualize the pfsnse router IN my home server. If my understanding of virtualization is right, then how will the hypervisor running on the server will get a LAN IP if the router is one of the VM's?
There are plenty of pre made vm's and I suppose pfsense too.
In most situations, a vm is to be considered a real computer. All tasks that you perform to use a real hardware system will be similar. In the case of a vm you have two ways to connect to the host. This is the part that may need to be learned. One way, a VM uses a virtual router and the other way you can connect to the hosts nic in what they call bridged. Many of the tips suggest nat where you point your traffic to the virtual nic's ip address and maybe ports.
Many of that type of distro offers some guides for how to. I'd look at any of them for how to set up this.
|All times are GMT -5. The time now is 01:15 AM.|