「Projects/CentOS7 から 8 へのアップグレード」の版間の差分
(同じ利用者による、間の4版が非表示) | |||
47行目: | 47行目: | ||
GRUBがカーネルを見つけられなくなった模様。まずい。 | GRUBがカーネルを見つけられなくなった模様。まずい。 | ||
− | ... | + | ...と思って最初からやり直してみたところ、この手順に問題があるわけではなく、なぜか GRUB (bootloader) が更新されていないことがわかった。 |
− | + | CentOS7 の途中から、GRUB が GRUB2 に変更になっていて、HDD (Cloudなのでvirtual) もそれが反映されているはず。しかし、相変わらず古い GRUB が起動される。 | |
+ | |||
+ | なぜかと思って調べたところ、GMO Cloud VPS では floppy disk から立ち上がる様になっていて、bootloader が更新できていない。というか更新する手段がない。 | ||
+ | |||
+ | 仕方がないので、reboot する時 console をつなげておき、 | ||
<pre> | <pre> | ||
− | Press F12 | + | Press F12 for boot menu. |
</pre> | </pre> | ||
− | と出たところで、すかさず F12 キーを押してメニューを表示させ、2. | + | と出たところで、すかさず F12 キーを押してメニューを表示させ、2. Hard Disk を選べばブートした。 |
+ | 今後、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 を忘れずに。