「Projects/CentOS7 から 8 へのアップグレード」の版間の差分

提供: fukudat.net
ナビゲーションに移動検索に移動
 
(同じ利用者による、間の2版が非表示)
47行目: 47行目:
 
GRUBがカーネルを見つけられなくなった模様。まずい。
 
GRUBがカーネルを見つけられなくなった模様。まずい。
  
...と思って最初からやり直してみたところ、GMO Cloud VPS では floppy disk から立ち上がる様になっていて、bootloader が更新できていない。というか更新する手段がない。
+
...と思って最初からやり直してみたところ、この手順に問題があるわけではなく、なぜか GRUB (bootloader) が更新されていないことがわかった。
このため、reboot する時 console をつなげておき、
+
CentOS7 の途中から、GRUB が GRUB2 に変更になっていて、HDD (Cloudなのでvirtual) もそれが反映されているはず。しかし、相変わらず古い GRUB が起動される。
 +
 
 +
なぜかと思って調べたところ、GMO Cloud VPS では floppy disk から立ち上がる様になっていて、bootloader が更新できていない。というか更新する手段がない。
 +
 
 +
仕方がないので、reboot する時 console をつなげておき、
 
<pre>
 
<pre>
 
Press F12 for boot menu.
 
Press F12 for boot menu.
54行目: 58行目:
 
と出たところで、すかさず F12 キーを押してメニューを表示させ、2.  Hard Disk を選べばブートした。
 
と出たところで、すかさず F12 キーを押してメニューを表示させ、2.  Hard Disk を選べばブートした。
 
今後、reboot するたびにこれをやらねばならない。
 
今後、reboot するたびにこれをやらねばならない。
 +
 +
GRUBに戻すことを考えた方が良いのかもしれない。
 +
 +
== アップグレード後の設定 ==
 +
ネットワークデバイスの名前が、ethX から ensY (X, Y は数字) に変わっているので、通信ができなくなっている。
 +
これまで ethX で通信できていたので、ensY を ethX に戻すことにする。(ensY で使える様にするには設定箇所が多いので)。
 +
 +
grub2 の設定ファイル /etc/default/grub を編集して、<code>GRUB_CMDLINE_LINUX</code> のオプションに <code>net.ifnames=0 biosdevname=0</code> を追加する。
 +
<pre>
 +
GRUB_TIMEOUT=5
 +
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
 +
GRUB_DEFAULT=saved
 +
GRUB_DISABLE_SUBMENU=true
 +
GRUB_TERMINAL_OUTPUT="console"
 +
GRUB_CMDLINE_LINUX="rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 biosdevname=0"  # 変更点はこの行だけ
 +
GRUB_DISABLE_RECOVERY="true"
 +
</pre>
 +
 +
そしたらリブート。コンソールで F12 → 2 を忘れずに。
  
 
== 参考文献 ==
 
== 参考文献 ==
 
* [https://vpshikaku.com/centos7%E3%81%8B%E3%82%89centos8%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/ CentOS7からCentOS8にアップグレードする方法]
 
* [https://vpshikaku.com/centos7%E3%81%8B%E3%82%89centos8%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/ CentOS7からCentOS8にアップグレードする方法]
 
* [https://www.tecmint.com/upgrade-centos-7-to-centos-8/comment-page-3/ How to Upgrade CentOS 7 to CentOS 8]
 
* [https://www.tecmint.com/upgrade-centos-7-to-centos-8/comment-page-3/ How to Upgrade CentOS 7 to CentOS 8]

2020年6月12日 (金) 11:44時点における最新版

Projects/CentOS6 から 7 へのアップグレード に引き続き、最新版の CentOS8 へアップグレードを試みる。

 アップグレード

yum -y update;
yum -y install epel-release;
yum -y install yum-utils;
yum -y install rpmconf;
rpmconf -a;

リターンを叩きまくって、全部デフォルト設定でゴー。

続けて、以下のコマンドを実行する。すごく長い行があるので注意。

package-cleanup --leaves;
package-cleanup --orphans;
yum -y install dnf;
dnf -y remove yum yum-metadata-parser;
rm -Rf /etc/yum;
dnf upgrade -y;
dnf install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-repos-8.1-1.1911.0.9.el8.x86_64.rpm \
    http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.1-1.1911.0.9.el8.x86_64.rpm \
    http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8.1-1.1911.0.9.el8.noarch.rpm;
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf clean all;
rpm -e `rpm -q kernel`;
rpm -e --nodeps sysvinit-tools;
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync;
dnf -y install kernel-core;
dnf -y groupupdate "Core" "Minimal Install" --allowerasing;

うまくいったら、バージョン番号を確認。

cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core) 

成功かな。リブートしてみる。

reboot

あれ、立ち上がらない。コンソールに繋いでみると、変なエラーが出ている。

.... dracut-initqueue timeout ...

GRUBがカーネルを見つけられなくなった模様。まずい。

...と思って最初からやり直してみたところ、この手順に問題があるわけではなく、なぜか GRUB (bootloader) が更新されていないことがわかった。 CentOS7 の途中から、GRUB が GRUB2 に変更になっていて、HDD (Cloudなのでvirtual) もそれが反映されているはず。しかし、相変わらず古い GRUB が起動される。

なぜかと思って調べたところ、GMO Cloud VPS では floppy disk から立ち上がる様になっていて、bootloader が更新できていない。というか更新する手段がない。

仕方がないので、reboot する時 console をつなげておき、

Press F12 for boot menu.

と出たところで、すかさず F12 キーを押してメニューを表示させ、2. Hard Disk を選べばブートした。 今後、reboot するたびにこれをやらねばならない。

GRUBに戻すことを考えた方が良いのかもしれない。

アップグレード後の設定

ネットワークデバイスの名前が、ethX から ensY (X, Y は数字) に変わっているので、通信ができなくなっている。 これまで ethX で通信できていたので、ensY を ethX に戻すことにする。(ensY で使える様にするには設定箇所が多いので)。

grub2 の設定ファイル /etc/default/grub を編集して、GRUB_CMDLINE_LINUX のオプションに net.ifnames=0 biosdevname=0 を追加する。

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 biosdevname=0"  # 変更点はこの行だけ
GRUB_DISABLE_RECOVERY="true"

そしたらリブート。コンソールで F12 → 2 を忘れずに。

参考文献