SUSE Linux のアップデート SLES11 を SLES12 に

ここでは SUSE Linux Enterprise 11 (SLES11 SP4) を SLES12 SP3 にバージョンアップする手順を説明します。

SLES12 をクリーンインストールするには、こちらをご参考ください。

SUSE Linux Enterprise 12 SP3 (SLES12sp3) のインストール

このサーバーは SLES11 SP4 をインストールし、/home パーティションを分離し、/ と /home は SLES11 のデフォルトEXT3でフォーマット済です。試しに Apache2 HTTP サーバーを動作させています。

- SLES11と12の主な相違点 -

SLES11 は EXT3 をデフォルトファイルシステムとして、利用していましたが、SLES12 では BtrFS がデフォルトとなりました。またカーネルパッチなどの新機能が付け加えられています。それ以外はよくわからないので知識の足りない馬脚を表して、リリースノートをご参考ください、と逃げる。

SUSE Linux Enterprise Server 12 SP3 Release Notes


- HTTPサーバが動いています -

一応 Apache2 HTTP サーバーが動作しています。


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_22591061.jpg


- ブリッジ構成のネットワーク -

見ればわかってしまいますが仮想環境下で動いています。ネットワークはブリッジ構成です。

SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_22595506.jpg


- お約束として -

実際に運用しているサーバーは、消えると困るデータはちゃんとバックアップを取っておきます。
仮想環境で動いている場合、仮想イメージ全体のバックアップを取っておくことも重要です。

また、supportconfig スクリプトで設定ファイルのバックアップを取っておくと良いでしょう。

SUSE Linux の設定内容を一括して取得する supportconfig


- はじまりはじまり -

システムはシャットダウンしてDVDブートできる様、BIOS設定をします。

仮想化(特にXEN)の場合、フルバーチャル、パラバーチャルの状態、NICの MAC アドレスなどはメモして置き、できるだけ同じ状態から仮想マシンの Create をします。

起動


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23003502.jpg

"Booting from Hard Disk" を "Upgrade" に変えます。


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23005331.jpg

SLE 12 SP3 のインストーラが起動します。


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23012389.jpg

言語とキーボードは初期値に戻っているので Keyboard Layout > Japanese にチェックし、テストエリアで特殊キーやNUMロックキーの操作を確認します。

License に Agree

SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23014408.jpg


Show All Partition をチェックしてインストール済のパーティションを確認します。なぜか "Unknown Linux” が見えます。(敗因の予兆)

SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23020879.jpg


既にあるリポジトリは削除されます。


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23022610.jpg

アクティベーションは後で..... Skip Registration


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23025661.jpg


特に追加のプロダクトがなければそのまま


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23031384.jpg


サマリ画面 update 内容の確認

SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23033353.jpg



開始します。約30分ほどかかります。


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23035830.jpg

自動的に再起動します。


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23043446.jpg

あれ、立ち上がらない。(敗因)


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23045024.jpg

Give root password for maintenance
(or Press Control-D to continue):

このケースは /etc/fstab にごみが入っているか、fstab のマウント情報が壊れているケースです。例えば、外付けのディスクドライブを自動マウントするよう fstab に記述があるのに、外付けディスクの電源が入っていない、とか、単にディスクが壊れているとかの場合にあり得るケースです。特にUSB接続のディスクの場合、シャットダウンして、ケーブルを抜いて再起動すると、こんな状況に陥ります。そういうディスクは手動マウントがお勧めです。

ここで Ctrl+D を押すと、単に再起動して無限ループになってしまうので root のパスワードをセットして、修復します。

一旦、root で入って、fstab を書き換える(マウントできないパーティションをコメントアウト)して、もう一度 yast > system > partitioner からパーティションのマウント方法をチェックします。

やはり別パーティション化したパーティションのマウントポイントが空欄になっていました。yast > Partitioner で、マウントポイントを再設定して、再起動します。


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23051009.jpg

SLES:~ # mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=497264k,nr_inodes=124316,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)

:中略

cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
/dev/xvda2 on / type ext3 (rw,relatime,data=ordered)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)

:中略

tmpfs on /var/run type tmpfs (rw,nosuid,nodev,size=507248k,nr_inodes=126812,mode=755)
tmpfs on /var/lock type tmpfs (rw,nosuid,nodev,size=507248k,nr_inodes=126812,mode=755)
/dev/xvda3 on /home type ext3 (rw,relatime,data=ordered)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=101456k,mode=700)
tmpfs on /var/run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=101456k,mode=700)



ネットワーク構成は引き継がれていました。


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23060687.jpg

HTTPサーバーもそのまま引き継がれていました。


SUSE Linux のアップデート SLES11 を SLES12 に_a0056607_23062146.jpg
- アクティベーションとアップデート -

ここまでで問題がなければ、YaST の SUSE Customer Center (SCC) にアクティベーションキーを登録し、リポジトリをアップデートします。 YaST Online Update (YOU) でパッチを充てて運用に入ります。

サブスクリプション購入はこちら

- やってみて -

正直、メジャーなバージョンの違いはかなり大きな変更があり、アップデートに失敗すると痛い目に合います。今回は、パーティションが一つマウントできなかっただけなので大した問題ではなかったのですが、本番環境ではかなり焦ってしまい、ミスオペレーションにもつながります。よほどやむを得ない場合以外は、複雑で面倒なシステムであればメジャーアップデートは運用環境ではやりたくないな、と思いました。できるだけ、仮想環境で単機能に分割されたシステムを構築した方が、アップデートのリスクは低くなるでしょう。

やるとしたら、かなり本格的なバックアップ体制を取りたいものです。

また、他のオペレーティングシステムの様に、月に一度パッチを充てる必要があるわけではないので、脆弱性情報を参考にマメに問題のある部分だけパッチをして行けば、かなり長期に渡ってメジャーアップデートをする必要はないでしょうし、そのころには、ハードウェアの償却も終えていますから、そのタイミングでマイグレーションするのが、正しいライフサイクルのつなぎ方なのかな、とも思います。












by islandcenter | 2017-11-03 23:10 | SUSE | Comments(0)