Oracle Linux 8.4 x86_64のインストール
目次
概要
VMware vSphere Hypervisor 7.0の仮想マシンにOracle Linux 8.4をインストールします。 データストアにアップロードしたISOイメージを仮想マシンにマウントして、ローカルメディアとしてインストールします。
構成
サーバ・ハードウェア構成
サーバ環境はVMware vSphere Hypervisor 7.0の仮想マシンを使用しました。 仮想マシンの主なスペックは以下のとおりです。
サーバ・ソフトウェア構成
OS
Oracle Linux Server release 8.4 x86_64
ソフトウェア・パッケージ
- OracleLinux-R8-U4-x86_64-dvd.iso
環境構築
Oracle Linuxのインストール
仮想マシンのCD/DVDドライブにインストールメディアをセット
vSphere Host ClientでOracle Linuxをインストールする「ESXi 7.0 仮想マシン」を選択し、「設定の編集」画面を開きます。 「CD/DVDドライブ1」に「データストアISOファイル」を選択すると、ISOファイルを選択する画面が表示されますので、 事前にデータストアにアップロードしておいたOracle Linux 8.4のDVD ISOファイル(OracleLinux-R8-U4-x86_64-dvd.iso)を選択します。 また、[データストアISOファイル]のプルダウンリストの右の[接続]にチェックを付けて[保存]ボタンをクリックします。 その後、仮想マシンをパワーオンします。
DVDからの起動
DVD ISOファイルから起動されます。 [Test this media & install Oracle Linux 8.4.0]が選択された状態になっていますので、そのまま何もせずに待ちます。
インストールメディアのチェック
インストールメディアに問題がないかチェックが行われるので100.0%になるまで少し待ちます。
インストーラの起動
インストーラの起動が始まるのでそのまま待ちます。
インストール時に使用する言語の選択
「ORACLE LINUX 8.4 へようこそ。」画面が表示されたら、インストール時に使用する言語として『日本語』を選択します。
時刻と日付の設定
「インストール概要」画面が表示されたら、[時刻と日付]をクリックします。
「日付と時刻」画面が表示されたら、[地域]に『アジア』を選択後、[都市]に『東京』を選択し、[完了]ボタンをクリックします。
もしくは地図上で日本の場所をクリックして選択し、[完了]ボタンをクリックしても良いです。
ソフトウェアの選択
「インストール概要」画面に戻ったら、[ソフトウェアの選択]をクリックします。
「ソフトウェアの選択」画面が表示されたら、[ベース環境]に『サーバー』を選択し、[完了]ボタンをクリックします。
デフォルトの『サーバー (GUI使用)』のままでも良いのですが、サーバ用途の場合はTeraTermでの操作がメインとなり、 GUIは使用しないし、使わないのに入れておくにはGUIのサービスは重いので『サーバー』の方を選択しています。 Oracle Databaseのインストールなど、GUIを使用する場合は『サーバー (GUI使用)』の方を選択します。
インストール先の設定
「インストール概要」画面に戻ったら、[インストール先]をクリックします。
「インストール先」画面が表示されたら、[ローカルの標準ディスク]の『VMware Virtual disk』にチェックがついていることを確認し、 [ストレージの設定]に『カスタム』を選択し、[完了]ボンタンをクリックします。
「手動パーティション設定」画面が表示されたら、パーティション設定スキームに『LVM』が選択されていることを確認し、 [+]ボタンをクリックします。
「新規マウントポイントの追加」画面が表示されたら、[マウントポイント]に『/boot/efi』を選択し、 [要求される容量]に『200 MiB』と入力して、[マウントポイントの追加]ボタンをクリックします。
「手動パーティション設定」画面に戻ったら、[+]ボタンをクリックします。
「新規マウントポイントの追加」画面が表示されたら、[マウントポイント]に『/boot』を選択し、 [要求される容量]に『1 GiB』と入力して、[マウントポイントの追加]ボタンをクリックします。
「手動パーティション設定」画面に戻ったら、[+]ボタンをクリックします。
「新規マウントポイントの追加」画面が表示されたら、[マウントポイント]に『/』を選択し、 [要求される容量]に『10 GiB』と入力して、[マウントポイントの追加]ボタンをクリックします。
「手動パーティション設定」画面に戻ったら、ボリュームグループの[変更]ボタンをクリックします。
「ボリュームグループの設定」画面が表示されたら、[名前]に任意のボリュームグループ名(今回は『vg00』)を入力し、 [サイズポリシー]に『できるだけ大きく』を選択して、[保存]ボタンをクリックします。
なお、ボリュームグループの名前はデフォルトでは『ol』となっており、特にこだわりなければ変更する必要はありません。
「手動パーティション設定」画面に戻ったら、[+]ボタンをクリックします。
「新規マウントポイントの追加」画面が表示されたら、[マウントポイント]に『swap』を選択し、 [要求される容量]に『2 GiB』と入力して、[マウントポイントの追加]ボタンをクリックします。
なお、swapはハイバネートを使用しない場合は明示的に使うことはないと思いますし、 サーバ用途ではハイバネートは使わないので、個人的にはswapなしでもいいとは思います。 ただ、メモリ不足になった場合にすぐにOut of Memoryとならないよう保険として固定の2GiBを設定することにしています。 以前はシステム内のRAMの容量に応じてswapのサイズを変えることが推奨されていましたが、 今となってはメモリのサイジングがシッカリしていれば原則不要と思います。
「手動パーティション設定」画面に戻ったら、[+]ボタンをクリックします。
「新規マウントポイントの追加」画面が表示されたら、[マウントポイント]に『/var』を選択し、 [要求される容量]に『10 GiB』と入力して、[マウントポイントの追加]ボタンをクリックします。
個人的には不必要にボリュームを細切れにするのは好みではないのですが、 /varはログの出力先として利用するため、ログが急激に増加して/(ルート)を圧迫しないよう分けています。 逆にサーバ用途では/homeはほぼ使用しないため、パーティションを分けていません。
「手動パーティション設定」画面に戻ったら、[完了]ボタンをクリックします。
「変更の概要」画面が表示されたら、[変更を許可する]ボタンをクリックします。
ネットワークとホスト名の設定
「インストール概要」画面に戻ったら、[ネットワークとホスト名]をクリックします。
「ネットワークとホスト名」画面が表示されたら、[設定]ボタンをクリックします。
「ens192の編集」画面が表示されたら、[IPv6設定]タブをクリックします。
ここでデバイスの ens192 の名前は構成によって変わるので別の名前だったとしても変更する必要はありません。
[IPv6設定]タブに切り替わったら、[メソッド]に『無視する』を選択し、[IPv4設定]タブをクリックします。
私はIPv6ネットワークを構築していないので『無視する』にしていますが、必要なら設定してください。
[IPv4設定]タブに切り替わったら、[メソッド]に『手動』を選択し、アドレス項目の[追加]ボタンをクリックします。
同じ画面で[アドレス]項目を入力できるようになりますので、[アドレス]と[ネットマスク]、[ゲートウェイ]を入力します。 また、[DNSサーバー]にDNSサーバのIPアドレスを入力し、[保存]ボタンをクリックします。
入力しているアドレス情報は一例なので、自身の環境に合わせて入力してください。
「ネットワークとホスト名」画面に戻ったら、[ホスト名]に任意のホスト名(今回は『oraclelinux84』)を入力し、[適用]ボタンをクリックします。
同じ画面で右下の[現在のホスト名]が設定したホスト名(今回は『oraclelinux84』)に変わったことを確認したら、 [Ethernet(ens192)]の右にあるスイッチをクリックして[オン]に切り替えます。
スイッチが[オン]に切り替わって、[IPv4設定]タブで入力したアドレス情報が表示されていることを確認したら、 [完了]ボタンをクリックします。
rootパスワードの設定
「インストール概要」画面に戻ったら、[rootパスワード]をクリックします。
「rootパスワード」画面が表示されたら、[rootパスワード]と[確認]に同一のパスワードを入力し、 [完了]ボタンをクリックします。
rootパスワードは英数字記号を組み合わせてできるだけ長い文字列とします。 目安として[rootパスワード]入力欄の下に[強力]と表示されていれば一旦問題ないかと思います。
インストールの開始
「インストール概要」画面に戻ったら、[インストールの開始]ボタンをクリックします。
「インストールの進捗状況」画面が表示され、これまでに入力した情報に沿ってインストールが開始されるのでそのまま待ちます。
インストールの完了とシステムの再起動
「インストールの進捗状況」画面で[完了しました!]と表示されたら、[システムの再起動]ボタンをクリックします。
インストーラが終了し、再起動が開始されます。
Oracle Linuxの起動
インストールしたOracle Linuxの起動が開始されるので、そのまま待ちます。
ここでよく見ると、複数のカーネルが表示されていることに気づきます。 Oracle LinuxをインストールするとUEK(Unbreakable Enterprise Kernel)とRed Hat互換カーネルの両方がインストールされます。 デフォルトでは一番上の[5.4.17-2102.201.3.el8uek.x86_64]で起動するようになっています。 ここがCentOSのインストールと最も大きな違いになっています。
Oracle Linuxの起動が完了するとログインコンソールが表示されます。ここまででインストールは完了です。 続いてrootユーザでログインして初期設定を行います。
Oracle Linuxの初期設定
この初期設定はセキュリティレベルを下げるものなので、設定を推奨するものではありません。 SELinuxやホストベースのファイアウォールは、評価段階や開発段階では正常動作の阻害要因となり得るのでオフにしています。 システムを本番運用する際には適切に設定してください。
SELinuxの無効化
Oracle Linuxインストール後の初期状態はSELinuxが有効化されているので、無効化します。
# cd /etc/selinux/ # vi config
※以下、該当箇所のみ変更※ SELINUX=enforcing ↓変更 SELINUX=disabled
firewalldの停止
Oracle Linuxインストール後の初期状態はFirewalldが自動起動が有効になっており、サービスが起動しているので、 自動起動を無効化してサービスを停止します。
# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) ←自動起動有効 Active: active (running) since Mon 2021-07-19 10:16:15 JST; 18min ago ←起動状態 Docs: man:firewalld(1) Main PID: 934 (firewalld) Tasks: 2 (limit: 10612) Memory: 29.0M CGroup: /system.slice/firewalld.service mq934 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid 7月 19 10:16:14 oraclelinux84 systemd[1]: Starting firewalld - dynamic firewall daemon... 7月 19 10:16:15 oraclelinux84 systemd[1]: Started firewalld - dynamic firewall daemon. 7月 19 10:16:15 oraclelinux84 firewalld[934]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure co> # systemctl disable firewalld.service Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. # systemctl stop firewalld.service # systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) ←自動起動無効 Active: inactive (dead) ←停止状態 Docs: man:firewalld(1) 7月 19 10:16:14 oraclelinux84 systemd[1]: Starting firewalld - dynamic firewall daemon... 7月 19 10:16:15 oraclelinux84 systemd[1]: Started firewalld - dynamic firewall daemon. 7月 19 10:16:15 oraclelinux84 firewalld[934]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure co> 7月 19 10:35:11 oraclelinux84 systemd[1]: Stopping firewalld - dynamic firewall daemon... 7月 19 10:35:11 oraclelinux84 systemd[1]: firewalld.service: Succeeded. 7月 19 10:35:11 oraclelinux84 systemd[1]: Stopped firewalld - dynamic firewall daemon.
デフォルトカーネルの変更
デフォルトカーネルをUEKからRed Hat互換カーネルに変更します。 UEKのままでもおそらく一般的な利用に問題はないと思いますし、Oracle DatabaseなどOracle製品を稼働させるには むしろUEKの方がパフォーマンス等で優れているのだとは思います。 ただ、今回はこれまで利用してきたCentOSの代替として利用することを考えてインストールしていますので、 よりRed Hat Enterprise Linux(CentOS)に近い環境を維持しておく意味も兼ねてカーネルの変更を行います。 変更するメリットとしては、Red Hat互換カーネルの方がこなれていて安定している(気がする)ことでしょうか。
カーネルバージョンの確認
よく使うunameコマンドでカーネルバージョンを表示させると、 バージョン自体もRHELより新しくなっていますし、el8uekという見慣れない文字が含まれています。
# uname -a Linux oraclelinux84 5.4.17-2102.201.3.el8uek.x86_64 #2 SMP Fri Apr 23 09:05:57 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux
変更前のデフォルトカーネルの確認
デフォルトカーネルの変更はgrubbyコマンドを使用します。 変更前にデフォルトカーネルを表示させると、unameで表示されたのと同じバージョンが表示されます(当たり前ですが)。 また、Oracle Linuxインストール直後は3つのカーネルがインストールされており、 インデックス0がUEK、インデックス1がRed Hat互換カーネルとなっています。 デフォルトはインデックス0が指定されています。
# grubby --default-kernel /boot/vmlinuz-5.4.17-2102.201.3.el8uek.x86_64 # grubby --default-index 0 # grubby --info=ALL index=0 ←インストール直後はこのUEKが設定されている kernel="/boot/vmlinuz-5.4.17-2102.201.3.el8uek.x86_64" args="ro crashkernel=auto resume=/dev/mapper/vg00-swap rd.lvm.lv=vg00/root rd.lvm.lv=vg00/swap rhgb quiet $tuned_params" root="/dev/mapper/vg00-root" initrd="/boot/initramfs-5.4.17-2102.201.3.el8uek.x86_64.img $tuned_initrd" title="Oracle Linux Server 8 (5.4.17-2102.201.3.el8uek.x86_64) " id="c16440ae263a43cf9b930622bc3cc151-5.4.17-2102.201.3.el8uek.x86_64" index=1 ←Red Hat互換カーネル kernel="/boot/vmlinuz-4.18.0-305.el8.x86_64" args="ro crashkernel=auto resume=/dev/mapper/vg00-swap rd.lvm.lv=vg00/root rd.lvm.lv=vg00/swap rhgb quiet $tuned_params" root="/dev/mapper/vg00-root" initrd="/boot/initramfs-4.18.0-305.el8.x86_64.img $tuned_initrd" title="Oracle Linux Server (4.18.0-305.el8.x86_64) 8.4" id="c16440ae263a43cf9b930622bc3cc151-4.18.0-305.el8.x86_64" index=2 kernel="/boot/vmlinuz-0-rescue-c16440ae263a43cf9b930622bc3cc151" args="ro crashkernel=auto resume=/dev/mapper/vg00-swap rd.lvm.lv=vg00/root rd.lvm.lv=vg00/swap rhgb quiet" root="/dev/mapper/vg00-root" initrd="/boot/initramfs-0-rescue-c16440ae263a43cf9b930622bc3cc151.img" title="Oracle Linux Server (0-rescue-c16440ae263a43cf9b930622bc3cc151) 8.4" id="c16440ae263a43cf9b930622bc3cc151-0-rescue"
デフォルトカーネルの変更
上の手順で確認したRed Hat互換カーネルであるインデックス1をデフォルトカーネルに設定します。
# grubby --set-default-index=1 The default is /boot/loader/entries/c16440ae263a43cf9b930622bc3cc151-4.18.0-305.el8.x86_64.conf with index 1 and kernel /boot/vmlinuz-4.18.0-305.el8.x86_64
変更後のデフォルトカーネルの確認
変更前と同様にgrubbyコマンドでデフォルトカーネルとインデックス番号を表示して、 UEKが付いていないRed Hat互換カーネルに変更されていることを確認します。
# grubby --default-kernel /boot/vmlinuz-4.18.0-305.el8.x86_64 # grubby --default-index 1
yumでアップデートするデフォルトカーネルの設定
あまり細かく調べていないですが、 yum(dnf)でカーネルをアップデートする時に読み込まれるデフォルトカーネルパッケージタイプの設定があり、 これを変更しておかないと、yum(dnf)でアップデートした際に、せっかく変更したデフォルトカーネルが 元のUEKに戻ってしまうようです。そうならないように設定を変更しておきます。
# cd /etc/sysconfig/ # vi kernel
※以下、該当箇所のみ変更※ DEFAULTKERNEL=kernel-uek ↓変更 DEFAULTKERNEL=kernel
Oracle Linuxの再起動
一通り設定画完了したので、SELinuxの無効化や起動するカーネルの変更を反映するためにLinuxを再起動します。
# shutdown -r 0
Oracle Linuxの起動
Oracle Linuxの起動が開始されるので、そのまま待ちます。
ここで起動対象のカーネル(反転している行)が先程と変わって、 Red Hat互換カーネルが起動対象となっていることが分かります。
Oracle Linuxの起動が完了するとログインコンソールが表示されます。 ここでも起動されたカーネルが 4.18.0-305.el8.x86_64 と表示されています。 rootユーザでログインします。
カーネルバージョンの確認
念の為unameコマンドでカーネルバージョンを表示させると、 UEKではないRed Hat互換カーネルとなっていることが分かります。
# uname -a Linux oraclelinux84 4.18.0-305.el8.x86_64 #1 SMP Wed May 19 15:30:27 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux
以上でデフォルトカーネルの変更は終了です。
以上でOracle Linuxのインストールは完了です。 以降、Linuxの用途に応じて必要な個別設定を行ってください。