ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

[Cloud] VirtualBox VMのOracle Cloud Infrastructureへのインポート/Importing VirtualBox Virtual Machines into Oracle Cloud Infrastructure

原文はこちら。
https://blogs.oracle.com/cloud-infrastructure/importing-virtualbox-virtual-machines-into-oracle-cloud-infrastructure



大きな企業では多くの種類のOSを使っているものです。Oracle Cloud Infrastructureは新しいもの古いもの両方の様々なOSをサポートしています。また、お客様がオンプレミス環境のOracle VM、VMware、KVM、そして今日ではさらにVirtualBoxなどのさまざまなソースから、rootボリュームをインポートすることをサポートしています。

VirtualBoxはエンタープライズ向けのパワフルなx86およびAMD64/Intel64の仮想化プロダクトです。このブログポストと関連するビデオであるImporting VirtualBox Virtual Machines to Oracle Cloud Infrastructureでは、VirtualBoxでSUSE Linux 15仮想マシン(VM)を作成し、それをインポートするのに必要なステップを解説していきます。この手順は既存のVMにも適用可能なもので、Oracle Cloud Infrastructureへの"move and improve"移行が簡単に行うことができます。

VirtualBox VMの作成

まずシンプルなVirtualBox VMを作りましょう。詳細はビデオをご覧くださいね。繰り返しますが、この手順は既存のVMにも適用可能ですよ。

VirtualBox VMのインポートの準備

クラウドで起動できるよう、VMのイメージがインポートできるようになっているか確認しましょう。イメージは以下の要件を満たしている必要があります:
  • 300 GiB未満
  • マスターブートレコード(MBR)を含んでいる
  • (UEFIではなく)BIOSを使うよう設定されている
  • 単一ディスク
  • VMDKまたはQCOW2ファイルである
このポストで扱っている例は、openSUSE Leapをデフォルトセッティングでインストールしたものです。
また、インスタンスのセキュリティ設定がクラウド環境として適切であるかも確認してください。たとえばファイアウォールが有効であり、秘密鍵認証を利用するSSHログインのみが許可されている、などです。カスタムイメージの条件についてもっと詳細が知りたい場合は、Bring Your Own Custom Image for Paravirtualized Mode Virtual Machinesの"Custom Image Requirements"の章をチェックしてください。
必要に応じて、以下のタスクも実施してください:
  • のちのトラブルシュートのために、インスタンスにシリアルコンソールインターフェースを追加しておく
  • KVM paravirtualizedドライバの追加
  • プライマリNICにDHCPの設定をする

シリアルコンソールの有効化

イメージの設定の確認後に、必要に応じて、のちのVMのトラブルシューティング用にシリアルコンソールを有効化します。
  1. /etc/default/grubファイルを開き、以下のように更新します:
    • resume= は起動時間をかなり長くするので、カーネルパラメータから削除します
    • GRUB_TERMINAL="gfxterm" を GRUB_TERMINAL="console serial" に書き換え、シリアルコンソールを使うようにします
    • GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200" を追加し、grubのシリアル設定を行います
    • GRUB_CMDLINE_LINUX="" を GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200" に書き換え、シリアルコンソールをLinuxカーネル起動パラメータに追加します
  2. initramfs を以下のコマンドで再作成します:
    grub2-mkconfig -o /boot/grub2/grub.cfg
  3. 念のためマシンを再起動し、dmesg を実行して更新したカーネルパラメータをチェックしましょう:
    dmesg | grep console=ttyS0
これらの準備についての詳細は、Preparing a Custom Linux Image for Importの"Enabling Serial Console Access"の章をご覧ください。

Paravirtualizedの有効化

次に、VMのinitrd にvirtioドライバを構成することで、paravirtualizedデバイスサポートを追加しましょう
  1. この操作はLinuxカーネルバージョン3.4以降でしか有効でないため、システムのカーネルバージョンが新しいことをチェックしましょう:
    uname -a
  2. initrd を dracut ツールでリビルドし、qemu モジュールを追加させましょう:
    dracut --logfile /var/log/dracut.log --force --add qemu
  3. lsinitrd tをチェックし、virtioドライバが存在することを確認しましょう
    lsinitrd | grep virtio
詳細はdracut(8)lsinitrd(1)のマニュアルをご覧ください。

ダイナミックネットワーク接続の有効化

次に、VirtualBox内では利用できていたインターフェースをVMが使い続けようとすることがないように、永続化されたネットワーク接続設定をクリアしておきましょう。
以下のコマンドで 70-persistent-net.rules ファイルの中身を空にします(ファイル自体は消去しません):
> /etc/udev/rules.d/70-persistent-net.rules
注意:この変更はVMが再起動されるとリセットされます。インポートする前にVirtualBox内でVMを再起動した場合は、このステップをもう一度実施する必要があります。
詳しくはudev(7)のマニュアルとPredictable Network Interface Namesを参照くださいませ。

VMの電源停止

準備ができたら以下のようにインスタンスを停止しましょう:
halt –p
これでVMは準備完了です。

イメージのアップロード

VMの電源をオフにしたら、あなたのPC上からObject StorageへとVMディスクをコピーしましょう。あなたのPCにはOracle Cloud Infrastructure CLIをインストール、設定しておく必要があります。初めて行う場合にはCLI Quickstartをご覧ください。
ファイルをアップロードするにはOCI CLIを使いましょう。Object StorageのWebコンソールは2GiB以内のファイルしかサポートしておらず、これはちょっとイメージのアップロードには使えそうにありません。イメージが十分に小さかったとしても、CLIでアップロードするほうがぜんぜん速いです。
  1. Oracle VM VirtualBoxマネージャのウィンドウで、VM indexを開きます。
  2. 目的のVMを右クリックし、Show in Finderを選択します。VMディスクのディレクトリパスとファイル名を控えておきます。
  3. ターミナルを開き、VMのディレクトリパスとファイル名、およびOracle Cloud Infrastructureのテナンシーネームスペース、Object Storageバケット名を指定してアップロードします:
    VM_DIR="/Users/j/VirtualBox VMs/openSUSE-Leap-15.0/"
    VM_FILE="opensuse-leap-15.0.vmdk"
    NAMESPACE="intjosephholsten"
    BUCKET_NAME="images"
    
    cd "${VM_DIR}"
    oci os object put -ns "${NAMESPACE}" -bn "${BUCKET_NAME}" --file "${VM_FILE}"
アップロードにはイメージのサイズとネットワーク帯域によってはいくらか時間がかかります。
アップロードに関してさらに詳しく知りたい場合、Managing ObjectsでObjectバケットへのアップロードに関するCLIの使い方を見てください。

イメージのインポート

アップロードが完了したら、Oracle Cloud Infrastructureコンソールにログインしてイメージをインポートしましょう。
  1. イメージをアップロードしたバケットの詳細ページに行き、イメージの詳細を開いてURLを調べましょう。このURLは後で使います。
    VM Image URL in the Object Details console
  2. ナビゲーションメニューからCompute、そしてCustom Imagesを選択します。
  3. Import Imageをクリックします。
    paravirtualizedドライバを使えるようにしておいた場合は、paravirtualizedモードを選んでおくことで最高のパフォーマンスが得られます。
    Select Launch Mode: Paravirtualized in the Instance Create dialog
インポートプロセスがスタートし、しばらくすると完了します。
詳細な情報はImporting Custom Linux-Based Imagesをご覧ください。

インスタンスへのアクセス

イメージのインポートを終えたら、image detailsのページから直接インスタンスを起動できるようになります。
Create Instance button on Image Details page
インスタンスが起動したら、そのパブリックIPアドレス、およびVirtualBoxでの稼働時に使っていたものと同じ認証情報を用いてSSH接続しましょう。
Successful ssh connection, with Public IP field on Instance Detail page in background
VirtualBox VMをOracle Cloud Infrastructureへのインポートを完了できました!
あなたもやってみてください。 Oracle Cloudアカウントをまだお持ちでない場合は、http://cloud.oracle.com/tryitでフリートライアルに登録しましょう!

[Linux] Announcing Software Collection Library 3.2 for Oracle Linux

原文はこちら。
https://blogs.oracle.com/linux/announcing-software-collection-library-32-for-oracle-linux

We are pleased to announce the release of the Software Collection Library 3.2のリリースを発表できうれしく思っております。Software Collection Library 3.2はUnbreakable Linux NetworkおよびOracle LinuxのYumサーバからご利用いただけます。
Unbreakable Linux Network
https://linux.oracle.com/
Oracle Linux yum server
https://yum.oracle.com/
ソフトウェア・コレクションはPerlやPHP、Pythonといったソフトウェアコンポーネントの最新機能にアクセスする必要のある開発環境で使ってもらうことを想定しています。こうした環境では、これらのコンポーネントのバージョンに依存するシステムプロセスの中断を最小限にする必要がありますが、Software Collectionsライブラリを使用すると、同じソフトウェアの複数のバージョンをシステムに同時に、中断することなく、インストールして使用できます。

Software Collectionsライブラリユーティリティ(scl)を使用して、インストール済みのSoftware Collectionsから開発ツールを実行します。sclユーティリティはインストールされている同一ソフトウェア・ユーティリティの別のバージョンが、これらのツールの実行に影響を与えないようにします。

Additions and Updates for Oracle Linux 7

以下のコレクションをSoftware Collection Library 3.2で追加しました。
  • devtoolset-8
  • rh-git218
  • rh-haproxy18
  • rh-nginx114
  • rh-nodejs10
  • rh-perl526
  • rh-php72
  • rh-ruby25
  • rh-varnish5
  • rh-varnish6
以下のコレクションをSoftware Collection Library 3.2でアップデートしました。
  • devtoolset-7
  • httpd24
  • rh-git29
  • rh-nodejs6
  • rh-nodejs8
  • rh-php70

Software Collections Libraries Available for Oracle Linux 7 (aarch64)

ARM (aarch64) プラットフォーム用のSoftware Collections Librariesに最新バージョンや新規追加するのは、Oracleだけです。これらはOracle Linux 7の最新のアップデートでのみサポートされます。x86_64プラットフォームでご利用いただけるように、完全なSoftware Collections Librariesのサブセットがaarch64でご利用いただけます。

以下のコレクションが現在Oracle Linux 7(aarch64)でご利用いただけます。
  • devtoolset-6
  • devtoolset-7
  • devtoolset-8
  • httpd24
  • oracle-armtoolset-1
  • python27
  • rh-git218
  • rh-git29
  • rh-maven35
  • rh-nginx112
  • rh-nginx114
  • rh-nodejs10
  • rh-nodejs6
  • rh-nodejs8
  • rh-perl526
  • rh-php70
  • rh-php71
  • rh-php72
  • rh-python36
  • rh-ruby25
  • rh-varnish5
  • rh-varnish6
Oracle Linux 7(aarch64)用Software Collections Librariesには、64ビットARMプラットフォーム用のコードをビルドし、提供されたカーネルに対してモジュールをコンパイルするための堅実な開発者向けツールセットを提供するoracle-armtoolset-1も追加されています。これにはaarch64版UEK R5をビルドする際に利用するgccコンパイラ ver 7.3が含まれています。

Oracle Linux 7をご利用のお客様は、以下のURLで詳細情報をご覧ください。
Software Collection Library 3.2 for Oracle® Linux - Release Notes
https://docs.oracle.com/cd/E52668_01/E59096/html/index.htmlOracle Linux 7 Documentation Library
https://docs.oracle.com/cd/E52668_01/index.html

Additions and Updates for Oracle Linux 6

Oracle Linux 6向けの以下のコレクションがSoftware Collection Library 3.2に追加されています。
  • devtoolset-8
以下のコレクションがSoftware Collection Library 3.2でアップデートされています。
  • devtoolset-7
  • httpd24
  • rh-git29
  • rh-nodejs6
  • rh-php70
Oracle Linux 6をご利用のお客様は、以下のURLで詳細情報をご覧ください。
Software Collection Library 3.2 for Oracle® Linux - Release Notes
https://docs.oracle.com/cd/E37670_01/E59096/html/index.html
Oracle Linux 6 Documentation Library
https://docs.oracle.com/cd/E37670_01/index.html

Support

Oracle Linux Premier Supportをご契約であれば、Software Collection Libraryのサポートを無料でご利用いただけます。

有償サポートをご契約でない場合は、Oracle Communityフォーラムでのピアサポート(peer support)をご利用ください。
Oracle Community
https://community.oracle.com

Resources – Oracle Linux

Documentation

Software Download

Blogs

Community Pages

Social Media

Data Sheets, White Papers, Videos, Training, Support & more

Product Training and Education (Oracle Linux)

[Linux] Announcing the general availability of the Unbreakable Enterprise Kernel Release 5 Update 1

原文はこちら。
https://blogs.oracle.com/linux/announcing-the-general-availability-of-the-unbreakable-enterprise-kernel-release-5-update-1

Oracle Linuxオペレーティングシステムはオープンなクラウドインフラストラクチャのために設計され、エンタープライズ向けSaaS、PaaSワークロードだけでなく、これまでのエンタープライズアプリケーションに対しても優れたパフォーマンス、拡張性ならびに信頼性を提供します。Oracle Linux Supportをご契約いただくと、受賞歴のあるOracleサポートリソースおよびLinuxサポートスペシャリスト、Kspliceを使ったゼロダウンタイム・アップデート、そのたOracle Enterprise ManagerとSpacewalkといった管理ツール、そしてライフタイムサポートに、全て低コストでアクセスできます。他の商用Linuxディストリビューションとは異なり、Oracle Linuxはダウンロードが簡単で利用、配布、アップデートは全て無料です。

What's New?

Unbreakable Enterprise Kernel Release (UEK) 5 Update 1はメインラインカーネルバージョン 4.14.35 をベースにしています。UEK5 Update 1には新機能、追加機能、サブシステム全体にわたるバグ修正が含まれています。

Notable changes

  • 64-bit ARM(aarch64)アーキテクチャのサポート改善
    • Oracleは、64-bit ARM (aarch64) アーキテクチャのサポートを改善するために、カーネルの修正を引き続き提供しています。これらの変更は、既存のARMハードウェアで構築およびテストされており、Oracle Linux for ARMでサポートを提供します。
  • kABIサポートのため、cgroup v2 CPUコントローラをバックポート
    • このアップデートには、cgroupリソース使用状況の統計を処理するコードに対する変更が含まれており、アクティブでない多数のcgroupが存在する場所で頻繁な読み取りを処理する際のパフォーマンスが向上します。
  • fast pathに対するスケジューラの拡張性が向上
    • このリリースには、fast pathの拡張性向上が含まれています。また、Oracle Database OLTPなどの特定のワークロードのパフォーマンスを向上させるために、新しいスケジューラ機能SIS_COREが導入されています。
  • DTraceを拡張し、 x86_64 およびArmアーキテクチャに実行時の追加オプションを追加
    • 上記に加え、ARMアーキテクチャでSDTプローブ、FBTエントリプローブ、FBTリターンプローブの実装とともにustack()の実装を含むようにDTraceを拡張しました。
  • PMEM と DAXのためにlibnvdimmサブシステムを更新
    • libnvdimm カーネルサブシステムは、非揮発性デュアルインラインメモリモジュール(NVDIMM、Non-Volatile Dual Inline Memory Modules)の検知、構成、管理を司ります。大量のアップストリーム・パッチ、バグ修正、バックポートを活用してlibnvdimm カーネルサブシステムをUEK R5U1でアップデートしました。特に、これらには実際のPMEMページサイズを反映するための/proc/smapsへの修正と、Address Range Scrub (ARS) を改善するための成果が含まれています。その他、ext4またはXFSファイルシステムを使用するNVDIMMでのダイレクトアクセス(DAX)ページ操作のサポートも含まれています。
上記で紹介した新機能やその他の新機能や変更点の詳細については、リリースノートを参照してください。
Oracle® Linux
Release Notes for Unbreakable Enterprise Kernel Release 5 Update 1
https://docs.oracle.com/cd/E93554_01/F10511/html/index.html

Security (CVE) Fixes

このリリースで修正されたCVEの全リストはリリースノートでご覧いただけます。
Oracle® Linux
Release Notes for Unbreakable Enterprise Kernel Release 5 Update 1
Security Fixes for CVEs
https://docs.oracle.com/cd/E93554_01/F10511/html/uek-cve-fixes.html

Supported upgrade path

既存のOracle Linux 7 Update 5以後をお使いのお客様は、Unbreakable Linux NetworkやOracle Linuxのyumサーバーを使ってアップデートできます。
Unbreakable Linux Network
https://linux.oracle.com/
Oracle Linux yum server
https://yum.oracle.com/

Software Download

Oracle Linuxはダウンロード、利用、配布は全て無料で、全てのアップデート、エラータも無料でご利用いただけます。
Oracle Linux
https://www.oracle.com/linux/
Free Updates and Errata for Oracle Linux
https://blogs.oracle.com/linux/free-updates-and-errata-for-oracle-linux
https://orablogs-jp.blogspot.com/2012/03/free-updates-and-errata-for-oracle.html
それゆえ、お客様はどのシステムでサポートサブスクリプションが必要かを決定できます。これが、お客様の開発、テスト、本番システムにとってOracle Linuxが理想的な選択肢たらしめる理由です。全てのシステムを最新かつ安全に保ちながら、各システムでどのサポート範囲が最適かを個別に決定してください。Oracle Linux Premier Supportをご契約のお客様であれば、無停止でカーネルをアップデートできるOracle Ksplice、Oracle OpenStackのサポートもご利用いただけます。
Oracle Ksplice
https://www.oracle.com/linux/security/
Oracle OpenStack
https://www.oracle.com/linux/openstack/

Compatibility

UEK R5 Update 1はUEK R5のGA版と完全な互換性があります。UEK R5のカーネルABIは、初期リリースに対する後続のアップデート全てで同じです。このリリースでは、UEK R4と比較すると変更が入っているため、システムで3rdパーティー製カーネルモジュールは再コンパイルが必要です。 UEK R5をインストールする前に、アプリケーションベンダーにサポート状況を確認してください。

Resources – Oracle Linux

Documentation

Software Download

Blogs

Community Pages

Social Media

Data Sheets, White Papers, Videos, Training, Support & more

Product Training and Education (Oracle Linux)

[Network, Linux, Security] Encrypting NFS data on the Wire

原文はこちら。
https://blogs.oracle.com/linux/encrypting-nfs-data-on-the-wire

Oracle Linuxの開発者であるChuck Leverは、NFS(実際にはすべてのRPCベースのプロトコル)に対する透過的なエンドツーエンドの暗号化を実現するためのインターネットドラフト標準(draft-cel-nfsv4-rpc-tls-01)の協同作業に参画しています。
Remote Procedure Call Encryption By Default (draft-cel-nfsv4-rpc-tls-01)
https://tools.ietf.org/html/draft-cel-nfsv4-rpc-tls-01
より多くのLinuxワークロードが共有ネットワークインフラストラクチャを横断するにつれて、ネットワークトラフィックの暗号化に対するリクエストが増加してきました。ポイントツーポイントのトラフィック暗号化を行う方法は数多くありますが、Linux NFSコミュニティのリード・メンバーは、NFSトラフィックのover-the-wire(ネットワーク越し)暗号化を実現するための、(これまでとは)異なる、より単純な戦略を提案しています。

Linux NFSのメンテナであるTrond MyklebustとOracle Linuxの開発者であるChuck Leverは、NFSなどのRPCベースのプロトコルのための、透過的で構成が簡単なエンドツーエンドの暗号化標準であるNFS-over-TLSを提案しています。このソリューションでは、自己署名証明書を使用して、NFSのネットワーク・トラフィックの標準暗号化を設定します。この方法ではKerberosやActive Directoryの重いオーバーヘッドはかかりません。

IPsecやKerberosのように、ネットワーク上でNFSトラフィックを暗号化する方法はたくさんありますが、現時点では、大きな欠点があるためにほとんどのユーザーがそれらを使用していません。RPC-over-TLSを有効にするこの提案は、HTTPSと同様に、自己署名証明書を選択して、暗号化を「簡単な」オプションにします。

この標準は最もシンプルで使い勝手の良いソリューションとして押し出されているものではありますが、代替暗号化ソリューションが適切なソリューションになり得ない場合にも、ユニークなメリットを提供します。具体的には、接続毎の暗号化(例えばIPSec)に対するフロー毎の暗号化であったり、(クラウド環境ではよくあることですが)顧客のユーザー認証ドメインがホストのID管理とは別の場合であったりする場合にメリットを提供します。

クライアントとサーバーがすでに信頼関係がある場合ようなデプロイメントのケースは多々あります。そのような場合、必要なのは信頼されていないネットワーク上を流れるNFSトラフィックの保護だけです。ほとんどのNFSはすでにこのように動作しており、テナントはDNSサービスが提供するIPアドレスを信頼しますが、トラフィックを見張らない他のテナントは信頼しません。

このソリューションは、Webトラフィックの暗号化のためのhttpsソリューションからヒントを得ています。具体的には、認可/認証とは別に暗号化に焦点を当てます。このソリューションはユーザー認証ソリューションほどの機能はありませんが、これは管理者が必要とする最小限の構成で使用できるソリューションです。この標準は以下の前提でロールアウトされるでしょう。

  • use-if-availableモデル(使用可能な場合には使用)にデフォルトで設定されている
  • つまり、接続の両端でこの標準をサポートし、証明書の信頼性が十分にある場合には、NFSトラフィックは暗号化される

この機能がNFSクライアントやNFSサーバーにロールアウトされる際には、全てのNFSトラフィックが透過的に暗号化されることになるでしょう。

これはまだ標準のドラフトですので、すぐにOracle Linuxサーバーで利用できるようになるわけではありません。しかし、業界メディアではすでに話題になっています。
Oi! Not encrypting RPC traffic? IETF bods would like to change that
RPC over TLS: You know it makes sense
https://www.theregister.co.uk/2018/11/14/internet_draft_rpc_over_tls/

[Linux] Announcing the release of Oracle Linux 7 Update 6

原文はこちら。
https://blogs.oracle.com/linux/announcing-the-release-of-oracle-linux-7-update-6

x86_64とArmアーキテクチャ向けのOracle Linux 7 Update 6の一般提供をお知らせできることをうれしく思っています。個々のRPMパッケージはULN(Unbreakable Linux Network)とOracle LinuxのYumサーバからダウンロードいただけます。
Unbreakable Linux Network
https://linux.oracle.com/
Oracle Linux Yum Server
https://yum.oracle.com/
ISOイメージはOracle Software Delivery Cloudから、DockerイメージはOracle Container RegistryとDocker Hubから、いずれもまもなくご利用いただけるようになります。
Oracle Software Delivery Cloud
http://edelivery.oracle.com/new
Oracle Container Registry
https://container-registry.oracle.com/
Oracle Linux Official Repository (Docker Hub)
https://hub.docker.com/_/oraclelinux/
Oracle Linux 7 Update 6には以下のカーネルパッケージが同梱されています。
  • x86-64
    • Unbreakable Enterprise Kernel (UEK) Release 5 (4.14.35-1818.3.3)
    • Red Hat Compatible Kernel (3.10.0-957)
  • Arm
    • Unbreakable Enterprise Kernel (UEK) Release 5 (4.14.35-1818.3.3)

Application Compatibility

OSの下のカーネルバージョンの違いはあれど、Oracle LinuxはRed Hat Enterprise Linux(RHEL)とユーザー空間の互換性を維持しています。ユーザー空間の既存のアプリケーションはOracle Linux 7 Update 6とUEK Release 5の組み合わせでも修正せずに引き続き動作するでしょう。Red Hat Enterprise Linux 7もしくはOracle Linux 7ですでに動作保証されているアプリケーションに対し、再度動作検証の上保証する必要はありません。

Notable new features in this release

  • Pacemakerがpathmounttimerのsystemd unitファイルをサポート
    以前のPacemakerでは、systemd unitファイルのうち、servicesocketというをサポートしていましたが、その他のunitファイルは管理できませんでした。今回のリリースでpathmounttimerも管理できるようになりました。
  • auditイベントを使ってrpmを使ったパッケージのインストールやアップグレードをトラッキング可能に
    RPMパッケージマネージャをアップデートし、auditイベントを出すようにしました。これにより、ソフトウェアパッケージのインストールやアップデートをLinux Auditシステムを使って追跡できるようになりました。yumを使ったソフトウェアインストールやアップグレードも追跡します。

Features specific to the x86_64 architecture

  • ClevisがTPM 2.0をサポート
    Clevisは、自動的にデータを暗号化、復号化したり、LUKSボリュームをアンロックしたりできる、暗号化自動化フレームワークフレームワークです。これをアップデートし、Trusted Platform Module 2,0(TPM2)チップにあるキーの暗号化をサポートするようになりました。(注意)この機能はx86_64プラットフォームでのみ利用可能です。

Features now available as a technology preview on the x86_64 architecture

  • Parallel NFS(pNFS)のブロックおよびオブジェクト記憶域のレイアウト
  • アプリケーションから直接永続メモリマッピングするためのDAX(Direct Access Mode)。これは、ext4およびXFSファイルシステムでテクニカルプレビュー中です。
  • Multi-queue I/O scheduling for SCSI (scsi-mq)
    (注意)この機能はデフォルトで無効化されています。

Features specific to the Arm architecture

  • DTraceがARMプラットフォームでも利用できるようになり、DTraceの移植コードがOracle LinuxのYumサーバのUnbreakable Enterprise Kernel Release 5チャネルでご利用いただけるようになりました。dtrace-utilsパッケージのDTraceのユーザー空間のコードを64ビットArmプラットフォームで動作するよう移植し、Oracle Linux 7 Update 6(aarch64)でDTraceを完全に有効化しました。
上記内容の詳細やその他の新機能や変更点は、リリースノートをご覧ください。
Release Notes for Oracle Linux 7 Update 6
https://docs.oracle.com/cd/E52668_01/F10004/html/index.html
Release Notes for Oracle Linux 7 Update 6 (aarch64)
https://docs.oracle.com/cd/E52668_01/F10134/html/index.html
Operating Systems Documentation
https://docs.oracle.com/en/operating-systems/linux.html
Btrfsは引き続きOracle Linux 7 Update 6とUEK R5でサポートされます。Red Hat Compatible KernelでのBtrfsのサポートは廃止予定です。

Oracle Linux Support Options

Oracle Linuxはダウンロード、利用、配布が無料で、全てのアップえーとおよびエラータも無料でご利用いただけます。お客様は御社システムのどれでサポート契約が必要かを決定してください。
Oracle Linux Support
https://www.oracle.com/linux/#support
このしくみのため、Oracle Linuxは開発、テスト、本番システムのための理想的な選択たり得るのです。お客様はどのサポート範囲が個々のシステムに最適化を決定してください。全てのシステムを最新にしてセキュアにすることもできます。

Oracle Linux Premier Supportを契約されているお客様は追加のLinuxプログラムのサポートも受けることができます。具体的には、Ceph Storage、Oracle Linuxソフトウェア・コレクション、Oracle OpenStack、Oracle Kspliceを使った無停止でのカーネルアップデートなどです。

Oracle Linuxの詳細は、以下のURLをごらんください。
Oracle Linux
http://www.oracle.com/linux

[Linux] Announcing Oracle Linux 7 Update 6 Developer Preview

原文はこちら。
https://blogs.oracle.com/linux/announcing-oracle-linux-7-update-6-developer-preview

Oracle Linuxを開発用のディストリビューションを作成するという実行中の目的の一環で、Oracle Linux 7 Update 6の開発者プレビューの提供を発表でき、うれしく思っています。

Oracle Linux 7 Update 6 Developer Previewには以下のカーネルパッケージが含まれています。
Unbreakable Enterprise Kernel Release 5(デフォルトのカーネル)
kernel-uek-4.14.35-1818.2.1.el7uek.x86_64
最新のRed Hat Compatible Kernel (RHCK、Red Hat互換カーネル)
kernel-3.10.0-933.el7.x86_64
To get started with Oracle Linux 7 Update 6開発者プレビューを試すには、Oracle Technology Networkからダウンロード可能なISOイメージを使ってフレッシュインストールすればOKです。
Developer Preview for Oracle Linux 7
https://www.oracle.com/technetwork/server-storage/linux/downloads/linux-beta-4409163.html
もしくは、既存のOracle Linux 7のインストール環境をアップデートすることでも可能です。この場合、Oracle Linux yumサーバもしくはUnbreakable Linux Network(ULN)のOracle Linux 7 Update 6用開発者プレビューチャネルを使ってください。
Oracle Linux Yum Server
https://yum.oracle.com/
Unbreakable Linux Network
https://linux.oracle.com/
# vi /etc/yum.repos.d/public-yum-ol7.repo

[ol7_u6_developer]
name=Oracle Linux $releasever Update 6 installation media copy ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/6/developer/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

[ol7_u6_developer_optional]
name=Oracle Linux $releasever Update 6 optional packages ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/optional/developer/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
Oracle LinuxのyumサーバはOracle Cloud Infrastructure内でミラーリングされており、高速にダウンロードできるようになっています。手順に従ってOracle Cloud InfrastructureのOracle Linux Yumサーバのミラーを構成できます。
Oracle Cloud Infrastructure - IaaS
https://cloud.oracle.com/en_US/iaas
Connecting to Oracle Linux yum server mirrors in Oracle Cloud Infrastructure (OCI)
http://yum.oracle.com/getting-started.html#OCIYumMirrors
yumチャネルの設定を変更し、Oracle Linux 7 Update 6開発者プレビューチャネルを有効化し、アップグレードを実行します。
# yum update
アップグレード完了後、システムを再起動すれば、Oracle Linux 7 Update 6開発者プレビューが動作するでしょう。
# cat /etc/oracle-release
Oracle Linux Server release 7.6
このリリースは開発およびテスト目的で提供されるものであり、Oracle Linuxサポートの範囲外です。Oracleはこのプレビューリリースを本番環境に利用することを推奨しません。

ご質問がある方は、Oracle LinuxCommunityのOracle Linux and UEK Preview spaceをチェックしてください。
Oracle Linux and UEK Preview
https://community.oracle.com/community/server_&_storage_systems/linux/oracle_linux_and_uek_preview
Oracle Community - Linux
https://community.oracle.com/community/server_&_storage_systems/linux
もしOracle OpenWorldにお越しになって、Oracle Linuxや仮想化について詳しく知りたい、製品エキスパートと会話したい方は、Moscone SouthのOracle Infrastructure Technologiesショーケースの#120ブースにお立ち寄りください。会場右側のAutonomous Databaseショーケースの目の前にあります。

[Docker, Linux] Announcing Oracle Container Runtime for Docker Release 18.03

原文はこちら。
https://blogs.oracle.com/linux/announcing-oracle-container-runtime-for-docker-release-1803

Oracle Container Runtime for Docker version 18.03のリリースを発表できうれしく思っています。Oracle Container Runtimeを使うと、DockerをサポートするOracle Linuxやその他のOS間で、アプリケーションを作成し配布できます。Oracle Container Runtime for Dockerは、アプリケーションをパッケージ化して実行するDocker Engineで構成されており、Docker Hub、Docker StoreおよびOracle Container Registryと統合して、Software-as-a-Service(SaaS)クラウドでアプリケーションを共有します。
Oracle Container Registry
https://container-registry.oracle.com/

Notable Updates

  • Oracleはマルチ・レジストリ・サポートを実装しています。これにより、Pull操作時に問い合わせる追加のレジストリ・リストを含めるために、--add-registryフラグを指定してデーモンを実行できます。この機能は現在テクノロジー・プレビューとして利用でき、Oracle Container Runtime for DockerはデフォルトのレジストリとしてOracle Container Registryを使用してコンテナ・イメージを検索した後、ローカル・ミラーやDocker Hub、Docker Storeなどの代替レジストリにフォールバックできます。この機能で利用可能な別の機能に、特定のDockerレジストリへのアクセスを防ぐために使用できる--block-registryflagがあります。レジストリ・リストでは、すべてのイメージがソースレジストリに自動的にプレフィックスされるため、Dockerイメージのリストにはイメージが取得されたソースレジストリが常に表示されます。
  • Docker 18.03では、Docker Swarmの代わりにKubernetesオーケストレーションとの統合を強化する拡張機能が導入されており、この中には、さまざまなコンテナ化プロジェクトで使用される名前空間規則に準拠するための変更も含まれています。
  • Dockerfileはbuild-contextの外にも存在できるので、Dockerfilesを一緒に格納し、標準入力上のdocker buildコマンドでそのパスを参照できます。
  • ロギングとDockerのログへのアクセスに対する改良が追加されました。これには、指定されたタイムスタンプの前に発生したログを制限する--untilフラグが含まれます。
  • 実験的なDockerの信頼管理コマンドが追加され、Dockerイメージの信頼管理をより適切に処理できます。詳細は、docker trustコマンドのヘルプを参照してください。
    docker trust
    https://docs.docker.com/engine/reference/commandline/trust/

Upgrading

Oracle Container Runtime for Dockerの以前サポート対象だったバージョンからのアップグレード方法は、ドキュメントの以下の章をご覧ください。
Upgrading Oracle Container Runtime for Docker
https://docs.oracle.com/cd/E52668_01/E87205/html/docker_install_upgrade_upgrade.html 
開発者プレビューリリースからのアップグレードはOracleはサポートしないので、ご注意ください。

Support

Oracle Container Runtime for DockerのサポートはOracle Linux Premierサポートをご契約であればご利用いただけます。Oracle Linuxのサポートレベルについては、以下のドキュメントをご覧ください。
Oracle® Linux Licensing Information User Manual for Release 7
https://docs.oracle.com/cd/E52668_01/E63013/html/index.html

Resources – Oracle Linux

Documentation

Software Download

Blogs

Community Pages

Social Media

Data Sheets, White Papers, Videos, Training, Support & more

Product Training and Education

コミュニティベースのサポートについては、Oracle Technology Network CommunityのOracle Linuxスペースへどうぞ。
Oracle Linux
https://community.oracle.com/community/server_&_storage_systems/linux/oracle_linux
Oracle Technology Network Community
https://community.oracle.com/welcome

[Linux] Resilient RDMA IP Addresses

原文はこちら。
https://blogs.oracle.com/linux/resilient-rdma-ip-addresses

RDSのResilient RDMA IP機能をアップストリームへ導入するために実施している作業に関する記事を、Oracle Linuxカーネルの開発者Sudhakar Dindukurtiが寄稿しました。このコードは現在、OracleのオープンソースのUEKカーネルで管理されており、これを上流のLinuxソースコードに統合する作業を進めています。

1.0 Introduction to Resilient RDMA IP

Resilient RDMAIPモジュールは、InfiniBandおよびRoCEアダプタのフェールオーバー、フェールバック、および負荷分散を行うために、ULP(RDMA上位レベルプロトコル)を支援します。

RDMAIPは、Oracle LinuxのRDMA接続の機能です。active-active bondingとも呼ばれるこの機能を有効にすると、Resilient RDMAIPモジュールはアダプタのポート間にアクティブなbondingグループを作成します。正常時には利用可能な全帯域幅を使用しながら、ネットワークアダプターが失われた場合、そのポート上のIPは、アプリケーション用にHAを自動的に提供しながら、別のポートに移動されます。

Reliable Datagram Sockets (RDS) は、データグラム伝送のための高パフォーマンスで低レイテンシな信頼できるコネクションレスソケットです。RDSは、2ノード間で信頼性の高い単一のトランスポートを使用して、信頼性の高い順序付けされたデータグラム配信を提供します。RDSプロトコルの詳細については、RDSのドキュメントを参照してください。
RDS Wire Specification 3.1
http://oss.oracle.com/projects/rds/dist/documentation/rds-3.1-spec.html
RDS RDMAは、Resilient RDMAIPモジュールを使用してHAサポートを提供します。RDS RDMAモジュールは、Resilient RDMAIPモジュールが提供するRDMA CMアドレス変更イベントを待ち受けます。RDSは、アドレス変更イベントを受信した場合、接続に失敗したポートに関連付けられているすべてのRC接続を削除し、次回データを送信する前に新しいRC接続を再確立します。

透過的な高可用性は、標準のNIC(ネットワーク・インタフェース・カード)と比較して、RDMA対応NICアダプタにとって重要な問題です。標準的なNICの場合、IP層は、パケット送信のためにどの経路またはどのnetdevインタフェースを使用するかを決定できます。これは、ハードウェアを特定のポートとパスに結び付けるという、セキュリティとパフォーマンス上の理由から、RDMA対応アダプターでは不可能です。RDMAを使用してリモートノードにデータパケットを送信するには、いくつかの手順があります。
  1. クライアントアプリケーションはメモリをRDMAアダプタに登録し、RDMAアダプタは登録されたメモリ領域のR_Keyをクライアントに返す。
    (注意)登録情報はRDMAアダプタに保存される。
  2. クライアントはこの "R_key"をリモートサーバーに送信する。
  3. クライアントへのRDMA_READ/RDMA_WRITEを要求時には、サーバにはこのR_keyが含まれる
  4. クライアント側のRDMAアダプタは、"R_key"を使用してメモリ領域を見つけ出し、トランザクションを進める。"R_key"は特定のRDMAアダプタにバインドされているため、同じR_KEYを使用して別のRDMAアダプタでデータを送信することはできない。また、RDMAアプリケーションはカーネルをバイパスして直接ハードウェアと通信できるため、 (カーネルに備わる)これまでのbondingがHAを提供できない。
Resilient RDMAIPは、カーネルULPまたはOSバイパスアプリケーションに対して透過的なフェールオーバーを提供しませんが、RDMA対応アダプターでのULPのフェールオーバー、フェイルバック、およびロードバランスを可能にします。RDS(Reliable Datagram Sockets)プロトコルは、Resilient RDMAIPモジュールサポートを使用してHAを提供している最初のクライアントです。以下のセクションでは、さまざまな機能に対するResilient RDMAIPの役割について説明します。

1.1 Load balancing

Active-Active bondingグループに含まれる全てのインターフェースには個別のIPアドレスがあります。RDMAコンシューマは1個以上のインターフェースを利用して、同時にデータを送信することができ、全てのアクティブなインターフェース間で負荷を分散させる責任があります。

1.2 Failover

Active-Active Bondingグループに属する任意のインターフェースがダウンした場合、Resilient RDMAIPモジュールはインターフェイスのIPアドレスを同じグループ内の他のインターフェイスに移動し、また、RDMA CM(Communication Manager)アドレス変更イベントをRDMAカーネルULPに送信します。HA対応のRDMAカーネルULPは、ダウンしたインターフェイスの使用を停止し、他のアクティブなインターフェイスの使用を開始します。例えば、ダウンしたインターフェースでReliable Connection(RC)が確立されている場合、ULPはこれらの接続をすべて閉じて、フェールオーバーインターフェイスで再確立できます。

1.3 Failback

ダウンしたインターフェイスが(フェールオーバする前に)先に復旧した場合、Resilient RDMAIPモジュールはIPアドレスを元のインターフェイスに戻し、RDMA CMアドレス変更イベントをカーネルコンシューマに再度送信します。RDMAカーネルのコンシューマは、アドレス変更イベントを受信するとアクションを実行します。例えば、RDMAコンシューマは、フェールオーバーの一環で移動された接続を移動します。

2.0 Resilient RDMAIP module provides the below module parameters

  • rdmaip_active_bonding_enabled

    • Active-Active bondingを有効化する場合は1を設定
    • Active-Active bondingを無効化する場合は0を設定
デフォルトでは、Active-Active bondingは無効化されていますが、有効化すると、Resilient RDMAIPモジュールは、同じRDMAアダプタのポート間でアクティブなbondingグループを作成します。例えば、Infiniband(ib0とib1)とRoCE(eth5とeth5)のそれぞれに2つのポートを有する、2つのRDMAアダプタがあるシステムを考えてみましょう。この設定では、2つのアクティブなbondingグループが作成されます。
1)ib0とib1(Bond 1)
2)eth4とeth5(Bond 2)
  • rdmaip_ipv4_exclude_ips_list

    • このパラメータに記載のあるIPの場合、アクティブbonding機能は無効
デフォルトでは、リンクローカルアドレスはResilient RDMAIPによって除外されます。

3.0 How it works ?

Active-Active Bonding

上図で、1個の2ポートInfiniband HCAを備えた2つのノードがあり、HCAの各ポートは図のように異なるスイッチに接続されています。図に示すように、ポートごとに1つずつ、2つのIPoIBインターフェイス(ib0およびib1)が作成されます。Active-Active bondingを有効化すると、Resilient RDMAIPモジュールは自動的にInfiniband HCAの2つのポート間にbondingを作成します。

1) 全てのIBインターフェースが起動していて構成済み

#ip a
---
ib0: <broadcast,multicast,up,lower_up> mtu 2044 qdisc pfifo_fast state UP qlen 256
    link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:10:e0:00:01:29:65:01 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
    inet 10.10.10.92/24 brd 10.10.10.255 scope global ib0
       valid_lft forever preferred_lft forever
  
  
ib1: <broadcast,multicast,up,lower_up> mtu 2044 qdisc pfifo_fast state UP qlen 256
    link/infiniband 80:00:02:09:fe:80:00:00:00:00:00:00:00:10:e0:00:01:29:65:02 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
    inet 10.10.10.102/24 brd 10.10.10.255 scope global secondary ib0:P06
       valid_lft forever preferred_lft forever </broadcast,multicast,up,lower_up></broadcast,multicast,up,lower_up>

2) Node 1のPort 2がダウンすると、ib1のIP '10.10.10.102'がPort 1(ib0)に移動する(フェールオーバ)

#ip a
--------------
 ib0: <broadcast,multicast,up,lower_up> mtu 2044 qdisc pfifo_fast state UP qlen 256
    link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:10:e0:00:01:29:65:01 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
    inet 10.10.10.92/24 brd 10.10.10.255 scope global ib0
       valid_lft forever preferred_lft forever
    inet 10.10.10.102/24 brd 10.10.10.255 scope global secondary ib0:P06
       valid_lft forever preferred_lft forever
    inet6 fe80::210:e000:129:6501/64 scope link
       valid_lft forever preferred_lft forever
ib1: <no-carrier,broadcast,multicast,up> mtu 2044 qdisc pfifo_fast state DOWN qlen 256
    link/infiniband 80:00:02:09:fe:80:00:00:00:00:00:00:00:10:e0:00:01:29:65:02 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
----------------
</no-carrier,broadcast,multicast,up></broadcast,multicast,up,lower_up>

3) Node 1のPort 2が復旧すると、Port 2 (ib1)にIP '10.10.10.102'が戻る(フェールバック)

#ip a
---
ib0: <broadcast,multicast,up,lower_up> mtu 2044 qdisc pfifo_fast state UP qlen 256
    link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:10:e0:00:01:29:65:01 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
    inet 10.10.10.92/24 brd 10.10.10.255 scope global ib0
       valid_lft forever preferred_lft forever
  
  
 ib1: <broadcast,multicast,up,lower_up> mtu 2044 qdisc pfifo_fast state UP qlen 256
    link/infiniband 80:00:02:09:fe:80:00:00:00:00:00:00:00:10:e0:00:01:29:65:02 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
      inet 10.10.10.102/24 brd 10.10.10.255 scope global secondary ib0:P06
       valid_lft forever preferred_lft forever
</broadcast,multicast,up,lower_up></broadcast,multicast,up,lower_up>

Example: RDS Implementation

フェイルオーバーおよびフェールバック中に発生するシーケンスを次に示します。ノード1のPort 1のIP1とノード2のIP3との間にRDSソケットを確立するRDSアプリケーションを考えます。この場合、RDSカーネルレベルでは、IP1とIP3の間に1つのRC接続が存在します。

Case 1: Node 1のPort 1がダウン

  • Resilient RDMAIPモジュールがIPアドレスIP1をポート1からポート2に移動
  • ポート2は2つのIP(IP1とIP2)を持つ
  • Resilient RDMAIPモジュールは、RDMA CMアドレス変更イベントをRDSに送信
  • RDS RDMAドライバは、アドレス変更イベントの処理の一環で、IP1(Port 1)とIP3の間のIB接続を切断
  • RDS RDMAドライバは、IP1からIP3への新たな送信リクエストを受信すると、IP1(Port 2)とIP3との間で新しいRC接続を作成
  • フェイルオーバー後、RDSがIP1を解決すると、IP1がPort 2にバインドされるため、RDSはPort 2のパスレコードを取得

Case 2: Node 1のPort 1が復旧

  • Resilient RDMAIPモジュールは、IPアドレスIP1をPort 2からPort 1に移動
  • Resilient RDMAIPモジュールは、RDMA CMアドレス変更イベントをRDSに送信
  • RDS RDMAドライバは、アドレス変更イベントの処理の一環で、IP1(Port 2)とIP3の間のIB接続を切断
  • RDS RDMAドライバは、IP1からIP3への新しい送信要求を受信すると、IP1(Port 1)からIP3への新しいRC接続を作成
  • フェールバック後、RDSがIP1を解決すると、IP1がPort 1にバインドされるため、RDSはPort 1のパスレコードを取得

4.0 Future work

Resilient RDMAIPモジュールの現在の実装は、ネットワークスタック実装と密接に結びついていません。例えば、RDMAカーネルコンシューマは、アクティブなBondingグループを作成する方法を有しておらず、また、アクティブなBondingグループやどのインターフェースがアクティブなBondingグループで構成されているのかをRDMAコンシューマに通知できるAPIはありません。結果として、現在の設計や実装はアップストリームに導入するには適していません。そのため、このモジュールのアップストリームのLinuxに提出可能なバージョンの開発に現在取り組んでいます。しかしながら、それまでの間はRDASIPのコードはoss.oracle.comとgithub上にあります。
Oracle Linux UEK: Unbreakable Enterprise Kernel
http://github.com/oracle/linux-uek

[Linux] Announcing Release 3 of Ceph Storage for Oracle Linux

原文はこちら。
https://blogs.oracle.com/linux/announcing-release-3-of-ceph-storage-for-oracle-linux

Ceph Storage for Oracle Linux Release 3を発表できうれしく思っています。このリリースでは、複数の物理的および論理的な汎用ハードウェアストレージデバイスのクラスタから、オブジェクトストレージおよびブロックストレージの統一されたビューが提供されます。Cephは、Ceph Storage Cluster内のストレージデバイス間でデータを複製およびストライピングすることにより、フォールトトレランスを提供し、I/Oパフォーマンスを向上させます。Cephの監視機能と自己修復機能により、管理オーバーヘッドを最小限に抑えられます。

Ceph Storage for Oracle Linux Release 3は、Ceph Community Luminousリリース(v12.2.5)に基づいています。 Oracleバージョンのソフトウェアとアップストリーム・リリースの違いは、特定のバグに対するOracle固有の修正およびパッチに限られます。

サポートされる機能には、Object Store、Block Device、Ceph Storage Cluster、Ceph File System(Ceph FS)、Simple Ceph Object Gateway、およびMultisite Ceph Object Gatewayコンポーネントがあります。

Notable new features:

  • クラスタ監視のためのCeph Managerデーモン(ceph-mgr)
  • WebベースのCeph Managerダッシュボード
  • HDDやSSDを管理するためにBlueStoreバックエンドを使うOSD(Object Storage Daemon)
  • OSD置換プロセスの簡略化 

Release 3 of Ceph Storage for Oracle Linux adds support for:

  • Ceph iSCSI gateway
  • Ceph FS
  • Ceph FSファイルシステムやblock storage over NFSのエクスポート
  • Ceph block devices with QEMU

Supported Upgrade Path

アップグレード手順は、製品ドキュメントのUpgradeに関する章を参照してください。

Product Support

Ceph Storage for Oracle Linux Release 3は、以前のリリースの2.0を置き換えるものです。Ceph Storage for Oracle Linux Release 3.0は、Unbreakable Enterprise Kernel Release 5を実行するOracle Linux 7(x86_64)で使用できます。Oracle Linux 7 Update 5が最小要件です。Release 3.0のceph-deploymentパッケージは、ULNまたはOracle Linux yumサーバーから入手できます。

Resources – Oracle Linux

Documentation

Software Download

Blogs

Community Pages

Social Media

Data Sheets, White Papers, Videos, Training, Support & more

[Linux] Latest Oracle Linux 7.5 and 6.10 Vagrant Boxes Now Available

原文はこちら。
https://blogs.oracle.com/linux/latest-oracle-linux-75-and-610-vagrant-boxes-now-available

Oracle VM VirtualBox用のOracle Linux Vagrant Boxが、Oracle Linux 7.5 + Unbreakable Enterprise Kernel release 5とOracle Linux 6.10にアップデートされました。
Oracle Linux Vagrant Boxes
https://yum.oracle.com/boxes
これらのVagrant Boxには以下のものが含まれています。
  • 最新のカーネル
    • Oracle Linux 7: UEK5 (4.14.35-1818.0.9.el7uek.x86_64)
    • Oracle Linux 6: UEK4 (4.1.12-124.16.4.el6uek.x86_64)
  • VirtualBox guest additions RPMインストール済み
  • Minimal package setインストール済み
  • rootボリューム:32 GB(XFS)
  • Swap:4 GB
  • VirtualBoxディスクイメージ16GB(動的割り当て)をアタッチ済み
完全な最新の詳細情報は以下から確認してください。
Oracle Linux Vagrant Boxes
https://yum.oracle.com/boxes

VirtualBox Guest Addition RPMs

昨年、VirtualBox Guest AdditionのRPM版を導入しました。これにより、必須のドライバやゲストOS最適化機能のインストールやアップグレードが簡単になりました。今回のVagrant BoxではGuest AdditionのRPMは事前インストール済みです。

Get Up and Running Quickly with Pre-configured Software Stacks: Vagrantfiles on GitHub

Oracle Database、Docker、Kubernetesを試してみたいけれど、インストールの詳細に悩まされたくない、さくっと始めたいと思っているなら、GitHubのVagrantfilesにUpしたVagrantファイルをお使いください。
Official source for Vagrant configuration files and examples for Oracle products and projects
https://github.com/oracle/vagrant-boxes
例えば、以下のようなVagrantfilesと手順書がありますので、インストールや構成が簡単です。

References

[Linux] Translating Process ID between Namespaces

原文はこちら。
https://blogs.oracle.com/linux/translating-process-id-between-namespaces

pid(プロセスID)を異なる名前空間の間で変換する課題に関する、Oracle Linuxのカーネル開発者であるNagarathnam Muthusamyによる寄稿です。これはLinuxカーネルの名前空間サポートには現在ない機能ですが、CDBを使ってOracle Databaseのマルチテナント利用を実現するために重要な機能です。
Oracle Database 12c Feature: Multitenant Database
http://www.oracle.com/technetwork/articles/database/multitenant-part1-pdbs-2193987.html
LinuxカーネルのプロセスID(PID)名前空間機能は、プロセス・グループ間で分離を提供する効果的な方法で、さまざまなコンテナの実装で利用されてきました。プロセス間の強力な分離が求められていますが、システム内の他のプロセスの活動やリソースの利用状況を監視したいプロセスが常に存在します。PID名前空間の各々には独自のPIDシーケンスがあり、プロセスIDと独自のPID名前空間との間で相互変換するために、階層の先頭からプロセスを監視するためのプロセスが必要です。Linuxカーネルには、結果PIDを返すさまざまなAPIセットがありますが、これらのAPIはいずれもPID変換に使用できます。以下でその方法をご紹介します。

SCM_CREDENTIALS:

送信側は、SCM_CREDENTIALSメッセージを送受信して、自身の名前空間のPIDをターゲットの名前空間のPIDに変換できます。この方法の欠点は、PID変換に対するソケット通信チャネルが必要で、その管理オーバーヘッドが増える点です。このメソッドは、ルートでない、もしくはCAP_SYS_ADMINを持たない限り、送信側が他のプロセスのPIDを変換できません。
unix - sockets for local interprocess communication
http://man7.org/linux/man-pages/man7/unix.7.html

/proc/<pid>/status file

/proc/<pid>/statusファイルは、異なる名前空間のプロセスに関連付けられたPIDを見つける方法を提供します。親名前空間からの、親名前空間から子名前空間へのPID変換は、所望のレベルで所望のPIDを見つけるために、親名前空間内のすべてのstatusファイルを検索する必要があります。
proc - process information pseudo-filesystem
http://man7.org/linux/man-pages/man5/proc.5.html
Patchwork [resend,v10,1/2] /proc/PID/status: show all sets of pid according to nslogin
https://patchwork.kernel.org/patch/5861791/

shmctl(..,IPC_STAT,..), msgctl(..,IPC_STAT,..)

共有メモリのIPC_STATが提供する構造体shmid_dsには、以下の2要素が含まれています。
pid_t           shm_cpid;    /* PID of creator */
pid_t           shm_lpid;    /* PID of last shmat(2)/shmdt(2) */
メッセージキューのIPC_STATが提供する構造体struct msqid_dsには、 以下の2要素が含まれています。
pid_t           msg_lspid;    /* PID of last msgsnd(2) */
pid_t           msg_lrpid;    /* PID of last msgrcv(2) */
これらの要素のPIDは、呼び出し元のPID名前空間に変換されます。名前空間にかかわらず、プロセス共有リソースの利用状況を監視するために監視側がこれらのPIDを利用できますが、共有メモリやメッセージキューを作成せずに、これらのAPIを汎用的なPID変換のために利用することはできません。
shmctl - System V shared memory control
http://man7.org/linux/man-pages/man2/shmctl.2.html
msgctl - System V message control operations
http://man7.org/linux/man-pages/man2/msgctl.2.html

semctl(..,GETPID,..)

semctlのGETPIDコマンドは、セマフォに対して最後の操作を実行したプロセスのPIDを提供します。shmctlおよびmsgctlと同様に、これはセマフォのユーザを監視する優れた方法ですが、セマフォを作成しないで汎用PID変換に使用することはできません。shmctlとsemctlはアップストリームのLinuxカーネル4.17で修正されました。この機能は、旧リリースでは使用できない可能性がありますが、Oracle UEKに取り込まれる予定です。
semctl - System V semaphore control operations
http://man7.org/linux/man-pages/man2/semctl.2.html

fcntl(..,F_GETLK,..)

fcntlのF_GETLKコマンドは、ファイルロック保持中のプロセスに関する情報を提供します。この情報は、呼び出し元の名前空間に変換されます。異なるPID名前空間を通じた変換を必要とするプロセスは、ロック可能な共通の場所にダミーファイルを作成できます。fcntlを使ったファイルロック所有者に関する問い合わせは、呼び出し元の名前空間の下で観測されるプロセスの変換後のPIDを返します。確かにファイルはどのIPCメカニズムよりも軽量ですが、PID変換のためだけにシステム内のすべてのプロセスのファイル作成とクリーンアップという、追加のオーバーヘッドが必要です。

Is there any cleaner way?

通常、監視プロセスやシステム内の他のプロセスでPID変換が必要な場合、前述の方法のいずれかを使用してこの問題を回避できます。上記のオプションのいずれもあなたのユースケースを満足しない場合ですが、その状況はあなただけではありません。

私はKonstantinと協力して、translate_pidという新しいシステムコールを使いPID変換機能を提供する古いパッチを復活させました。この議論は以下のURLで追いかけることができます。このリンクには、APIの以前のバージョンへのポインタもあります。
[PATCH RFC v5] pidns: introduce syscall translate_pid
https://lkml.org/lkml/2018/4/4/677
このAPIは以下の関数シグネチャを伴って動き始めました。
pid_t getvpid(pid_t pid, pid_t source, pid_t target)
ここで強調されている大きな問題は、名前空間を識別するためのPIDの使用でした。PIDを使うすべてのAPIは、PIDの再利用に関わる競合状態の影響を受けやすいのですが、Linuxカーネルには、それらのインタフェースが設計されたときにリソースを識別する優れた方法がなかったために、多くの既存のPIDベースのインタフェースしか持っていませんでした。この提案は次のAPIにつながります。
pid_t translate_pid(pid_t pid, int source, int target);
ここで、sourceとtargetは、ソースとターゲットの名前空間の/proc/<pid>/ns/pidファイルを指すファイル記述子です。このAPIの大きな問題は、すべてのPID変換のためにファイルの開閉に関する追加ステップです。このAPIは、PID変換を必要とするが、/proc/<pid>/ns/pidファイルを開く権限を持たないユースケースでも利用できません。

このブログを書いている時点で議論中のAPIは、以下のように両方の世界の最善を取り込もうとしています。
pid_t translate_pid(pid_t pid, int source_type, int source, int target_type, int target);
ここで、以下のように *type 引数を使って、ソースとターゲットを解釈する方法を変更します。
TRANSLATE_PID_CURRENT_PIDNS //現在のPID名前空間、引数を使わない
TRANSLATE_PID_TASK_PIDNS //task pid-ns、引数はtask pid
TRANSLATE_PID_FD_PIDNS //pidns fd、引数はファイル記述子
APIが完成すると、他の既存のメソッドの問題を回避しない、PIDを変換するためのよりクリーンなメソッドが用意されることでしょう。

[Linux, Cloud] New Oracle Linux KVM Image for Oracle Cloud Infrastructure

原文はこちら。
https://blogs.oracle.com/cloud-infrastructure/new-oracle-linux-kvm-image-for-oracle-cloud-infrastructure

仮想マシンの簡単な展開がほとんどのクラウドデプロイメントにとって重要なわけですが、Oracle Linux KVMイメージを使うと、oci-utilsを含むスクリプティングツールを使って、ブロックストレージや仮想ネットワークインターフェースなどのサービスと統合することにより、VMの展開が簡単になります。
oci-utils (oracle cloud infrastructure) for Oracle Linux package
https://blogs.oracle.com/wim/oci-utils-oracle-cloud-infrastructure-for-oracle-linux-package
これらのツールによって、VMゲストドメインを定義し、特定のブロックボリュームやVNICを割り当て、Oracle Cloud InfrastructureでのVMの起動や削除が簡単になります。先頃Oracle Linux KVM Image for Oracle Cloud Infrastructureをアップデートしました。以下のような機能強化がなされています。
  • oci-utilsスクリプトを使ったVNIC作成のサポート: oci-network-config --create-vnic
    VNIC作成の例:この例では、VNICを作成し、パブリックIPアドレスを割り当てています。
    $ sudo oci-network-config --create-vnic --vnic-name vnic-guest3 --assign-public-ip
  • oci-utilsスクリプトを使ったブロックボリューム作成のサポート: oci-iscsi-config --create-volume
    ブロックデバイス作成の例:この例では、100GBのボリュームを作成し、iSCSIデバイスをアタッチしています。
    $ sudo oci-iscsi-config --create-volume 100 --volume-name vol-guest3
  • Oracle Linuxネイティブのsystemd LSBネットワーキングを使ったVirtual Functionネットワークインターフェースの完全な構成(ifcfg ネットワーク構成ファイル)
  • oci-utils ver. 0.6へのアップデート
    oci-utils-0.6-34.el7
    https://blogs.oracle.com/wim/oci-utils-06-34el7
  • Oracle Linux 2018-05-08ベースイメージへのアップデート
Oracle Cloud Infrastructureの新しいKVMイメージをデプロイするには、下記ページにあるURLを使ってインポートし、カスタムイメージを使ってインスタンスを作成してください。
Oracle Linux KVM Image for Oracle Cloud
http://www.oracle.com/technetwork/server-storage/linux/technologies/ol-kvm-image-4466272.html
詳細は、以下のURLをご覧ください。

[Linux] Announcing the release of Oracle Linux 6 Update 10

原文はこちら。
https://blogs.oracle.com/linux/announcing-the-release-of-oracle-linux-6-update-10

i386およびx86_64向けOracle Linux 6 Update 10の一般提供を発表できうれしく思っています。個別のRPMパッケージをULN(Unbreakable Linux Network)、Oracle Linux Yumサーバからダウンロードできます。
Unbreakable Linux Network (ULN)
https://linux.oracle.com/
Oracle Linux Yum Server
https://yum.oracle.com/
ISOインストールイメージはOracle Software Delivery Cloudからダウンロードできます。
Oracle Software Delivery Cloud
http://edelivery.oracle.com/new
DockerイメージはOracle Container RegistryもしくはDocker Hubから利用できます。
Oracle Container Registry
https://container-registry.oracle.com/
Docker Hub
https://hub.docker.com/_/oraclelinux/
Oracle Linux 6 Update 10は以下のカーネルパッケージを同梱しています。
  • x86-64向け
    • Unbreakable Enterprise Kernel (UEK) Release 4 (kernel-uek-4.1.12-124.16.4.el6uek) for x86-64
    • Red Hat Compatible Kernel (kernel-2.6.32-754.el6)
  • i386向け
    • Unbreakable Enterprise Kernel (UEK) Release 2 (kernel-uek-2.6.39-400.294.3.el6uek) for i386
    • Red Hat Compatible Kernel (kernel-2.6.32-754.el6)
デフォルトでは、特定のアーキテクチャ(i386もしくはx86_64)のUEKならびにRHCKがインストールされ、システムはUEKを使ってブートします。

Application Compatibility

Oracle LinuxはRed Hat Enterprise Linux (RHEL)とのユーザー空間の互換性を保っており、これはOS以下のカーネルバージョンに依存しません。既存のユーザー空間のアプリケーションは、Oracle Linux 6 Update 10とUEK Release 4の組み合わせの上で、変更せずに引き続き動作します。すでにアプリケーションがRed Hat Enterprise Linux 6やOracle Linux 6での動作保証が済んでいる場合、再認証は必要ありません。

Notable updates in this release:

  • Retpoline Support Added to GCC
    このアップデートで、retpolines へのサポートをGNU Compiler Collection (GCC)に追加しました。カーネルはこのテクニックを使って、CVE-2017-5715で説明されているSpectre Variant 2攻撃を軽減するオーバーヘッドを削減します。
新機能や変更点の詳細は以下のリリースノートをご覧ください。
Oracle Linux Release Notes for Release 6 Update 10
https://docs.oracle.com/cd/E37670_01/E96232/html/index.html
Operating Systems Documentation
https://docs.oracle.com/en/operating-systems/linux.html
Oracle Linuxは無料でダウンロード、利用、配布できるとともに、全てのアップデートやエラータを無料でご利用いただけます。お客様が、どのシステムでサポート契約が必要なのかを決めてください。この結果、Oracle Linuxが開発、検証、本番システム用途に理想的な選択肢になるのです。
Oracle Linux Support
http://www.oracle.com/us/technologies/linux/support/overview/index.html
お客様がどのサポート範囲が個々のシステムに対して最適かを決定することもできますし、全てのシステムをアップデートして安全に保つこともできます。
Oracle Linux Premier Supportを契約のお客様は、追加Linuxプログラムのサポートも受け取ることができます。これにはOracle Linuxソフトウェアコレクション、Oracle OpenStack、Oracle Kspliceを使ってダウンタイム無しのカーネルアップデートが含まれます。

Oracle Linuxに関する詳細は、以下のURLをご覧ください。
Oracle Linux
http://www.oracle.com/linux

[Linux] Announcing the general availability of the Unbreakable Enterprise Kernel Release 5

原文はこちら。
https://blogs.oracle.com/linux/announcing-the-general-availability-of-the-unbreakable-enterprise-kernel-release-5

Unbreakable Enterprise Kernel Release 5 (UEK R5)は入念にテストされた、Oracle Linux 7 Update 5およびそれ以後の64bit Intel(x86_64)ならびにARMアーキテクチャ(aarch64)に最適化されたOSカーネルです。メインラインLinuxカーネルバージョン4.14 LTSベースで、このリリースにはドライバのアップデート、バグ修正、セキュリティ修正が含まれています。

Introduction of 64-bit ARM (aarch64) architecture

Oracle LinuxをUEK R5と共に使うと、64ビットARM(aarch64)アーキテクチャをサポートします。この変更は、既存のARMハードウェアで構築、テストされ、ARM用Oracle Linuxをサポートするための最初の土台を提供します。UEK R5で使用可能なARM機能はテクニカル・プレビューとしてリリースされ、機能上の制限があります。

Oracle Linux 7 for ARMには、gccコンパイラのバージョン7.3を含むツールチェーンが含まれており、64ビットARMプラットフォーム用のコードを構築するためのしっかりした開発者ツールセットが用意されています。 ARMプラットフォーム用のUEK R5は、このツールチェーンを使用してビルドされています。

Notable Changes

  • セキュア・ブートの改善
    セキュア・ブートは、ブートプロセスの初期段階で悪質なコードがロードされて実行されるのを防ぐよう設計されています。保護されたプラットフォームは、オプションのROMドライバ、ブートローダ、OSローダなど、変更されずにプラットフォームが信頼しているソフトウェアバイナリのみをロードします。OSロード中、後続のブートで悪質なコードが注入されないよう、対策が追加されました。
  • NUMAバランシングの有効化
    NUMAバランシングの改善と修正の結果、この機能を有効化したときにI/O待機時間が長くなる可能性のある問題が解決されました。複数のNUMAノードを持つシステムでは、NUMAバランシングが自動的に有効になります。
  • RoCE (RDMA over Converged Ethernet) のサポート
    標準のInfiniBand Trade Association(IBTA)プロトコルであるRDMA over Converged Ethernet(RoCE)プロトコルは、レイヤ3ネットワークを越えるためにUDPカプセル化を使用してイーサネットネットワーク上でRDMAの効率的なデータ転送を可能にします。
  • TCP-BBRの有効化
    TCP-BBRは、インターネットトラフィックで高い帯域幅と低い待ち時間を達成するために利用可能な機能で、インターネットベースのアプリケーションのパフォーマンスが大幅に向上します。 BBR(Bottleneck Bandwidth and Round-Trip Time、ボトルネック帯域幅とラウンドトリップ時間)とは、スケジューリングアルゴリズムであり、これを使うと、TCP輻輳を低減するために帯域幅ボトルネックに対する往復時間を監視することにより、TCPプロトコルの送信レートを制御して、バッファリングを削減できます。

Notable Driver Updates

  • Hyper-Vドライバのアップデート
    Hyper-Vストレージドライバ(hv_storvsc)が更新されました。バウンスバッファが削除されたことで、特定のワークロードに対するI/O操作のパフォーマンスが向上しています。Hyper-Vネットワークドライバ(hv_netvsc)がアップデートされ、仮想機能デバイスでの透過的なSR-IOVをサポートするようになりました。これにより、構成の複雑さと、PCIデバイスのホットプラグを処理するための専用のボンディングドライバとスクリプトを利用する必要がなくなりました。
  • Intel iWARP RDMAドライバの追加
    Intel Ethernet Connection X722 iWARP RDMA Driver (i40iw)がこのカーネルリリースのドライバモジュールに追加されました。このRDMAハードウェアを直接ユーザー空間で使用するためのライブラリ(libi40iw)が追加されました。
  • Amazon Elastic Networkアダプタドライバのアップデート
    Elastic Network Adapter Driver(ena)がver 15.0kにアップデートされました。このバージョンには、多数のアップストリームのバグ修正や機能改善が含まれています。その他、追加の電源管理オペレーションやIPv6RSSの初期サポート、ドライバの堅牢性の向上などが含まれています。
これらの機能やその他の新機能、変更点の詳細(このリリースで修正されたCVEのリストを含みます)は、以下のリリースノートをご覧ください。
Oracle Linux Unbreakable Enterprise Kernel Release 5 Release Notes
https://docs.oracle.com/cd/E93554_01/index.html

Certification of Oracle products

Oracle LinuxシステムでUEK R5を使うようアップデートする前に、Oracleのアプリケーションを含む、ご利用中のアプリケーションがUEK R5をサポートしていることを確認してください。Oracle製品のOracle Linux + UEK R5上での動作保証は各Oracle製品グループが決定します。追加情報は以下のリンクからご覧ください。
My Oracle Support:動作保証のページ
https://support.oracle.com/epmos/faces/CertifyHome
Oracle Automatic Storage Management Cluster File System (Oracle ACFS) の種々のカーネルバージョンに対する動作保証は、My Oracle Supportのドキュメントに記載があります。
ACFS Support On OS Platforms (Certification Matrix). (ドキュメントID 1369107.1)
https://support.oracle.com/rs?type=doc&id=1369107.1

Compatibility

Oracle Linuxは、Red Hat Enterprise Linuxとのユーザー空間での互換性を維持しています。これは、OSの下で動作するカーネルのバージョンとは独立しています。ユーザー空間内の既存のアプリケーションは、引き続きUEK R5上で動作し、修正の必要はありません。RHEL認定アプリケーションの再認証は不要です。

リリース間の互換性の影響を最小限に抑えるために、Oracle Linuxチームは、ハードウェアおよびソフトウェアがカーネル・モジュールに依存するサード・パーティ・ベンダーと緊密に協力しています。UEK R5のカーネルABIは、最初のリリースから続くすべてのアップデートで変更はありませんが、今回のリリースでは、以前のリリースに対し、カーネルABIに変更が加えられています。そのため、サードパーティのカーネルモジュールをシステム上で再コンパイルする必要があります。UEK R5をインストールする前に、アプリケーションベンダーにサポート状況を確認してください。

Supported Upgrade Path

お客様はUnbreakable Linux NetworkもしくはOracle Linux yumサーバを使って、既存のOracle Linux 7サーバをアップグレードできます。
Unbreakable Linux Network
http://linux.oracle.com/
Oracle Linux Yum Server
http://yum.oracle.com/

Software Download

Oracle Linuxは無料でダウンロード、利用、配布でき、アップデートやエラータも無料でご利用いただけます。
Oracle Linux
https://www.oracle.com/linux
そのため、どのシステムでサポート・サブスクリプションが必要かを決定できますし、それゆえにOracle Linuxが開発、テスト、本番システム用に理想的な選択肢になる理由なのです。
Oracle Linux Support
http://www.oracle.com/us/technologies/linux/support/overview/index.html
各システムに対してどのサポート範囲が最適かを個別に決めることも、全システムを最新かつセキュアに保つことも可能です。Oracle Linux Premier Supportのお客様であれば、ダウンタイム無しでカーネルをアップデートする機能(Oracle Ksplice)も使えますし、Oracle OpenStackのサポートもご利用いただけます。
KSplice: Zero downtime updates for Oracle Linux
http://www.oracle.com/us/technologies/linux/ksplice-datasheet-487388.pdf
Oracle OpenStack
http://www.oracle.com/technetwork/server-storage/openstack/linux/documentation/datasheet-oracle-openstack-2296038.pdf

UEK R5 Availability in Oracle Cloud Infrastructure

Oracle Cloud Infrastructure (OCI) でご利用いただけるOracle Linuxイメージは、最新のソフトウェアにアクセスできるよう頻繁にアップデートされています。OCIでOracleが提供するイメージにまもなくOracle Linux 7 Update 5 + UEK Release 5が含まれる予定です。
Displaying: All Oracle Linux 7.x Images
https://docs.us-phoenix-1.oraclecloud.com/images/oel-7x/ 
Oracle Linux Premier SupportはOracle Cloud Infrastructureサブスクリプションに含まれており、追加費用は不要です。最新のパッケージやアップデートへのアクセス、24x7のサポート、豊富なLinuxナレッジベースを備えたMy Oracle Supportポータル、Oracle Ksplice zero-downtimeアップデート、Oracle Enterprise Managerを使ったOracle Linuxインスタンスの監視といった、Oracle Linux Supportが提供するあらゆる便益を活用できます。
My Oracle Support
https://support.oracle.com/ 
 Using Oracle Linux on Oracle Cloud InfrastructureでOracle Linuxを使うことで、クラウドインフラストラクチャ、OS、そしてOracleソフトウェア全体に対するサポートの一元化が可能です。

Resources – Oracle Linux

Documentation
Software Download
Blogs
Community Pages
Social Media
Data Sheets, White Papers, Videos, Training, Support & more
Product Training and Education