I have a server running SuSE 13.1 and I need to upgrade it. But apparently Leap requires Btrfs, not ext4. Is it possible to do the upgrade without losing data? That is, does the upgrade process do the file system translation transparently?
Hi, welcome.
FYI Leap does not require btrfs, it’s the default, but you can use ext4, xfs, ext3.
But, I would definitely not upgrade 13.1 to Leap 15. Too much has changed since then, too many versions inbetween, I would backup /etc everithing data/config of the system, then let Leap 15 discover the partitions and perform a clean install, with the other partitions preserved.
You can try to upgrade, but it’d be a long process during which there would be plenty of things that might go wrong.
I’d also recommend that since an upgrade would be such a momentous effort that you also consider making substantial changes to your policies and perhaps even your deployment strategy… In particular, this might be an opportunity to migrate to a deployment based on virtualization which can greatly enhance your options regarding maintenance, future upgrades and other modifications, backup and restore, and portability(ie move from one physical machine to another). In fact, for practically any virtualization you might choose, if you did an immediate P2V and made copies, you could upgrade the virtualized version of your machine without too much risk as long as you continuously made copies at each significant step. And, you could consider upgrading in parallel to your network, reducing risk and downtime servicing your network (Your original machine continues to serve your network, you upgrade a copy in your laboratory and only at the right time “flip the switch” from your old machine to your new. You wouldn’t be under any time pressure to complete the upgrade to minimize disruption).
If you decide to convert to virtualization and upgrade as a virtual machine, you should probably start a new thread in the Virtualization Forum (You can include a link pointing to this thread).
As for the upgrade itself…
Probably first consideration are your applications… Do any of them use a Database Server like MySQL/MariaDB or PostgreSQL? Do you have any web servers like Apache installed? You would need to inventory what Server apps are running, and develop a plan for upgrading them separate from the system upgrade. In some cases, you might have a path that shortcuts incremental upgrades, eg. by exporting the data and re-import only after you’ve fully upgraded the system and have installed the latest versions of those Server apps. Research what applies to your machine, and ask questions in these Forums when you can’t find answers.
Since upgrades are fully supported only when upgrading from one version to the next without skipping,
You will need…
DVD (preferably) Install media for your 13.1, 13.2, LEAP 42.1 and <maybe> you can skip 42.2 and 42.3, plus the current LEAP 15.0. The reason why I say you might be able to skip those LEAP versions is because all the LEAP versions are very much the same. But, if you <really> want to be careful, then upgrade through those versions as well.
Why do I recommend using the DVD? Well, at least <make> the DVD so it’s available even if you do an online upgrade so that you can repair the system if the upgrade fails. As long as you made the DVD, IMO you might as well use it to do the upgrade but that’s just me…
The last upgrade repositories for every version.
You can obtain both the DVD install media <and> the online repos for each openSUSE version at
https://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/
Your 2 main guides for upgrading follow, read <both> carefully regardless if you use the DVD for offline upgrades or online upgrades
Offline Upgrading
https://en.opensuse.org/SDB:Offline_upgrade
Online Upgrading
Although this is <the> main guide most people follow, you should know that the first half applies <only> to openSUSE prior to LEAP (In your case, the upgrades 13.1>13.2 and 13.2>LEAP 42.1). The section starting with “Running the Upgrade” applies <only> to upgrades from a LEAP. Some day someone will fix this document…
https://en.opensuse.org/SDB:System_upgrade
Additional you should know that’s not in the above guides…
There was a well known grub issue upgrading from 13.1 > 13.2. If your upgraded 13.2 doesn’t boot due to a grub error, the following likely will fix your problem
https://github.com/putztzu/public_scripts/blob/master/grub_13.1_13.2.sh
Weigh what @Knurpht recommends against what I described above…
Only you can know which path is likely more appropriate for your situation.
HtH,
TSU
Thanks for your detailed help, I really appreciate it. I do need MySQL, PHP and Apache2. I have recent dumps of the databases into .sql files and copies of /etc/apache2/vhosts.d. All my non-basic files – and the aforementioned copies – as well as all website files are in a separate partition so, in principle I could do the upgrade on the primary partition without destroying the rest. I use BackupEDGE on an external drive. I also have a spare partition on the machine that could be used for installation of the upgraded SUSE, leaving the current 13.1 partition intact to copy files from where necessary. My main concern is that I’ve forgotten something I need to back up, plus the downtime it would impose to go through the process of multiple upgrades. My failover machine is a tad over the hill so I’m trying to do this on the one operational machine. I have made DVDs of 13.1, 13.2, LEAP 42.1, 42.2 and 42.3 and I suppose I should add 15.0 to the cache.
[QUOTE=tsu2;2869768]As for the upgrade itself…
Probably first consideration are your applications… Do any of them use a Database Server like MySQL/MariaDB or PostgreSQL? Do you have any web servers like Apache installed? You would need to inventory what Server apps are running, and develop a plan for upgrading them separate from the system upgrade. In some cases, you might have a path that shortcuts incremental upgrades, eg. by exporting the data and re-import only after you’ve fully upgraded the system and have installed the latest versions of those Server apps. Research what applies to your machine, and ask questions in these Forums when you can’t find answers.
Since upgrades are fully supported only when upgrading from one version to the next without skipping,
You will need…
DVD (preferably) Install media for your 13.1, 13.2, LEAP 42.1 and <maybe> you can skip 42.2 and 42.3, plus the current LEAP 15.0. The reason why I say you might be able to skip those LEAP versions is because all the LEAP versions are very much the same. But, if you <really> want to be careful, then upgrade through those versions as well.
Why do I recommend using the DVD? Well, at least <make> the DVD so it’s available even if you do an online upgrade so that you can repair the system if the upgrade fails. As long as you made the DVD, IMO you might as well use it to do the upgrade but that’s just me…
I am proceeding slooowly with the upgrade. I do have apache, PHP and MySQL running; both needed tweaking after the upgrade from 13.1 to 13.2 but no serious problems, about 1.5 hours of downtime. I do back up this server with both Microlite’s Edge and an outside service. I’m taking the precaution of letting the server run for a week or two after an upgrade before going to the next version: Leap 42.1.
I have upgraded from 13.2 to Leap 42.1 but now I have Apache server problems. I get 403 Access forbidden errors that probably result from some configuration problem. What is the most likely place to look? I suspect it’s an Allow/Deny problem somewhere but I seemed to have fixed those in SUSE 13.2.
This will IMO only create a next problem. The sofrware you’re using it too old. Apache’s configs have changed
So do I have to reinstall apache, or just reconfigure it? If the latter, what should I be looking out for? Apache is running now but gives those error messages.
This is the type of error message I get for each virtual host:
[Wed Sep 26 07:36:55.666104 2018] [autoindex:error] [pid 12345] [client 1.2.3.4:50430] AH01276: Cannot serve directory /webdir/htdocs/: No matching DirectoryIndex (index.html,index.html.var) found, and server-generated directory index forbidden by Options directive
All of these hosts are running php so the index files are: index.php. Is this the problem? If so, what specifically do I have to do to change it?
/webdir/htdocs ???
Did you enable php in de webserver?
Did you use YaST’s http-server module?
Please be aware that, somewhere in the time-line from 13.1 to Leap openSUSE moved to Apache 2 – the Apache configuration files are currently (Leap 15.0) located in “/etc/apache2/” – at each upgrade step you’ll have to check what happened during the Apache migration which should occur as part of the system upgrade.
- Please check in Apache’s /etc/ directory for configuration files with either “.rpmnew” or “.rpmsave” appended to the file name – open both the active and the “new/saved” file in adjacent editor windows and then by means of visual inspection sort out what’s going on.
I didn’t specifically enable php but, since it had been running in the previous version, I assumed that the upgrade would also run. Also I’m not sure how to enable php in the server; it’s been a long time (since 2006) that I’ve done that.
I did not use YaST’s http-server module after the upgrade, also because the previous version of the sites have been running well under apache2 2.4 and SuSE 13.2.
I upgraded my sertver from 42.3 to leap 15 and everything went ok, ssh, http, php, …
There are no .rpm files in /etc/apache2 although there are some in /etc from 2014 and 2015: hostname.rpmnew. I have been running Apache 2.4 since August when I upgraded to 13.2. No problems once I cleaned up the configuration files in vhosts.d
My upgrade to 42.1 worked well except for Apache. First I got a series of 403 errors that indicated that php wasn’t running. I tried using YaST to configure httpd. YaST quit in the final steps and the result was that now apache2.4 won’t even start. As noted above I had apache 2.4 running well under suSE 13.2. When I try to start apache I get the following error message:
jack@donner:/etc/apache2/vhosts.d> systemctl -l status apache2.service
apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled)
Active: failed (Result: exit-code) since Wed 2018-10-03 15:10:27 PDT; 38s ago
Process: 5147 ExecStop=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k graceful-stop (code=exited, status=0/SUCCESS)
Process: 5140 ExecStart=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k start (code=exited, status=1/FAILURE)
Main PID: 5140 (code=exited, status=1/FAILURE)
What is likely to be the source of this glitch?