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 サーバーが動作しています。

a0056607_22591061.jpg


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

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

a0056607_22595506.jpg

- お約束として -

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

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

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


- はじまりはじまり -

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

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

起動

a0056607_23003502.jpg

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

a0056607_23005331.jpg

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

a0056607_23012389.jpg

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

License に Agree

a0056607_23014408.jpg


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

a0056607_23020879.jpg

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

a0056607_23022610.jpg

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

a0056607_23025661.jpg


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

a0056607_23031384.jpg


サマリ画面 update 内容の確認

a0056607_23033353.jpg


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

a0056607_23035830.jpg

自動的に再起動します。

a0056607_23043446.jpg

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

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 で、マウントポイントを再設定して、再起動します。

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)



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

a0056607_23060687.jpg

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

a0056607_23062146.jpg
- アクティベーションとアップデート -

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

- やってみて -

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

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

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











[PR]
トラックバックURL : http://islandcnt.exblog.jp/tb/237948810
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by islandcenter | 2017-11-03 23:10 | SUSE | Trackback | Comments(0)