How to setup CentOS to facilitate a future upgrade?

General support questions
Post Reply
lfsp
Posts: 7
Joined: 2017/04/12 12:44:38
Location: UK

How to setup CentOS to facilitate a future upgrade?

Post by lfsp » 2017/05/19 10:05:53

I'm replacing an old Qnap NAS for a server running CentOS and I know that a OS upgrade will require much more work than simply downloading and installing a firmware from Qnap.

I'm also aware that I won't be able to do an in-place upgrade and I'll need to do a full reinstall.

To try and keep things more manageable I thought it would be simpler to break things up in small manageable pieces.

Firstly, I'm planning to install CentOS in 2 separate disks running RAID1. The plan is to keep this installation as simple as possible to facilitate future OS upgrades.

Secondly, I'm planning to install virtualisation and run the services (NextCloud, Windows RDP, development environment, Bacula server, etc) on separate VMs. The goal here is to simplify the updates on the individual VMs and also to avoid interrupting their usage for too long. So if I need to upgrade CentOS on the NextCloud VM I just need to worry about the changes NextCloud have done in the system. Making it easier to isolate, backup and restore the system. At the same time that wouldn't affect the usage of the services running on the other VMs.

Thirdly​, data and the VMs will be running on 4 separate disks on RAID5. I'll probably share the data via NFS to the individual VMs, but I still need to look into it in more detail.

Regarding virtualisation, creating and managing the VMs via QEMU or virsh would probably be the solution requiring the least additional packages and probably most easily upgradeable but I would appreciate a solution where I could manage the VMs via WebGUI. I looked at OpenNebula, CloudStack, Kimchi and WebVirtMgr, but I'm not sure how easy would be to re-install those in an OS upgrade.

Data and VMs will be backed up to the NAS and I'm still looking what do I need to backup on system disks. I think it will probably depend on the virtualisation solution.

The downside of this whole solution will be multiplying the work to maintaining the OS in the individual VMs, but it would be a trade off of having smaller and simpler blocks to deal with.

Although I would have back ups I would rather find a solutions where I wouldn't need to move all the data back and forth from the NAS and mostly reinstall the system disks. (i.e. shutdown the machine, remove RAID 5 disks, re-install OS on RAID1, plug the RAID5 disks back in and re-install the virtualisation environment).

I would appreciate your constructive critics on this solution and what virtualisation management solution would be the best fit.

Thanks,
Luiz

User avatar
TrevorH
Site Admin
Posts: 33216
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: How to setup CentOS to facilitate a future upgrade?

Post by TrevorH » 2017/05/19 10:57:33

I'm also aware that I won't be able to do an in-place upgrade and I'll need to do a full reinstall.
While this is true, it applies only to major version updates - i.e going from CentOS 7 to 8 not from 7.1 to 7.2. Minor version updates are done using yum update and each major version is supported for 10 years so if you installed CentOS 7 now, it's supported until 2024.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

lfsp
Posts: 7
Joined: 2017/04/12 12:44:38
Location: UK

Re: How to setup CentOS to facilitate a future upgrade?

Post by lfsp » 2017/05/19 11:47:27

Thank you Trevor.

I do appreciate the 10 years support. That's one of the reasons I've decided for CentOS instead of other distros. In addition, I'm looking for a solid environment and not the latest software versions. That's another reason for picking up CentOS for the base system and possibly using other distros in the VMs for development or when another distro seems more appropriate for the application.

My NAS has been running strong for 8 years now and I hope the server would last at least as long. So, I'm just trying and planning ahead as it is much easier to try and make changes now than when everything is setup and running.

There are many professionals much more experienced than I am here, so any tips on the setup would be greatly appreciated.

User avatar
jlehtone
Posts: 4531
Joined: 2007/12/11 08:17:33
Location: Finland

Re: How to setup CentOS to facilitate a future upgrade?

Post by jlehtone » 2017/05/22 06:19:56

Isolating services into separate VM's is good. That decreases artificial couplings.

The OS installation is rather small and mostly in the '/' filesystem. I leave unused space on the disk for creating similar sized filesystem(s) later.

WebGUI? The 'virt-manager' is GUI, but not web. If you have a machine with X11, you could use that.

Note1: RAID5 has become a victim of statistics. Current large disks have so many sectors that the chance of none of them encountering unrecoverable error becomes small. If/when you replace a disk from array, you have to read all of the old disks to build the replacement. A lot of transactions and RAID5 array is not redundant as long as it is in degraded state. RAID10 has partially better odds and RAID6 is more redundant than 5 or 10.

Note2: ZFS and Ceph offer redundancy too, without RAID5/6-capable hardware.

Note3: If one had two VM hosts and suitably accessible storage and networking, then one could migrate the "services" (i.e. VMs) from one host to another in order to reboot the host (for kernel updates, etc) without shutting down the services.

lfsp
Posts: 7
Joined: 2017/04/12 12:44:38
Location: UK

Re: How to setup CentOS to facilitate a future upgrade?

Post by lfsp » 2017/05/23 19:52:57

Thank you jlehtone.

I was planning to leave space on the RAID1 for snapshots, but I didn't consider leaving space for a new install.

I'm trying to keep the host install as light as possible, so I'm not looking to install X11. That's why I'm looking for a WebGUI.

I've read about ZFS, Ceph, Brtfs, etc and they all look great with plenty going for them but I'm not expert, so I'm trying to stay with a proven and tested production filesystem: ext4. Plenty of documentation, and support tools. Also, I bit more versatile regarding increasing and shrinking the volumes (of course with all the usual caveats).

Any other suggestions regarding VM management tools?

Post Reply