Ubuntu Weekly Topics

2014年11月7日号 LXD(“Linux Container Daemon”)・UWN#340

この記事を読むのに必要な時間:およそ 3 分

LXD(“Linux Container Daemon”)

Canonical主導のソフトウェアのひとつとして,コンテナを実現するLXCと呼ばれるソフトウェアがあります。このLXCと連携して動作するLXDと呼ばれるソフトウェアの開発を行うことが,LXCの作者(かつCanonial社員)のStephane Graberによってアナウンスされました。

LXDは,⁠LXCをより使いやすく,そして『いまどきの』仮想化ハイパーバイザーにできる機能を実現するために,バックエンドで走るサーバープログラム」というものです。LXCはLXDのクライアントインターフェースとして機能する,という役割分担になる見込みです。

うまく実現すると,ライブマイグレーションのサポート(どのように実現するかはまだ決まっていません。注1や,静止点の作成注2)⁠スナップショットの取得といった,⁠いまどきの』仮想化ハイパーバイザーなら漏れなく備えている機能がLXCにもたらされることになります注3)⁠

また,単に「仮想化ハイパーバイザーと同じようにコンテナを扱えるようにする」だけでなく,⁠Dockerと同じイメージを利用できるようにする」こともアナウンスされています。完成すると,Docker Hubにある無数のDockerイメージをLXC/LXD環境で利用することができるようになります。LXCが抱えていた「rootfsを自分で作らないといけない」⁠アプリケーションをプリセットしたイメージがない」⁠むしろ,自分で新しく作るならどう考えてもDockerでやるほうが使い回しが効いて建設的」という問題を解決することができます。

現状では具体的なコードは存在せず,ユーザーがどのようにコマンドラインから操作できるのかということを示したドキュメントが存在するだけです。ここから実装上の諸問題との格闘やユーザーからのフィードバックを受けつつ,徐々に実装されていくことになりそうです。

注1
開発レベルの機能としては,checkpoint and restrore方式の実装は存在しています。この実装だとIPアドレスが引き継がれないのでそちらは別途手当する必要があること,停止時間が他のライブマイグレーション実装に比べると長いこと,といった制約はあるものの,⁠ホストが生きている状態で他のハイパーバイザインスタンスに移動する」機能を実現できています。
注2
「静止点」というのは「生きている」ファイルシステムや仮想マシンのバックアップやスナップショットを取るときに,⁠矛盾なくイメージを取得できる状態」のことです。普通のファイルシステムや仮想マシン上のOSは,ストレージとメモリ上にあるデータ,そしてCPUや周辺デバイスのレジスタなどに分散してひとつの状態を作っています。たとえばデータの書き込みを考えてみてください。あるデータをHDDに書き込む処理だけを考えても,まずデータをメモリ上に準備して,それをファイルシステムとしてアクセスできる形に変換(ないしタグ付け的な処理)をして,HDDへコピーする処理になります。これらが「動作している」環境をバックアップする場合,もしバックアップが一瞬で終わらなければ,⁠メモリは0.5秒前,各種デバイスは今この瞬間,ストレージは60秒前のデータがバックアップされている」というような状況を生み出してしまいます。
注3
現状のLXCではこれらはうまく機能していません。一部はプロトタイプ的な実装が用意されていたこともあるのですが,静止点が作れないのでバックアップやスナップショットはコンテナを止めないといけません。

UWN#340

Ubuntu Weekly Newsletter #340がリリースされています。

その他のニュース

  • Ubuntu 14.04 LTSでどこかで見たことのあるDockを再現する方法。
  • Linux-Dashを使ってWebベースのサーバーダッシュボードを表示させる方法。
  • Stackovrflowスタイルの掲示板サービス,Ubuntu Stack ExchangeのPublic Betaのおしらせ。
  • Ubuntuで利用しているLaunchpad.netのビルドファームを,OpenStack Novaを用いてリプレースした話。パッケージのビルドという「とにかくストレージI/Oが速ければよい」⁠どうせコンパイルなのでCPU性能は支配的ではない」⁠作業ごとにインスタンスを作成する必要がある」⁠作成するインスタンスは毎回ほぼ同じ」⁠作業が終わったらインスタンスは捨ててよい」といった特性を加味して,仮想マシンインスタンスのI/Oを積極的にメモリキャッシュに収容する設定にし,さらにハードウェアを最新のものにすることで平均ビルド時間を半減させつつ,さらにJuju/MAASを駆使して自動化も実現したものです。

今週のセキュリティアップデート

usn-2390-1:Pidginのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2014-October/002708.html
  • Ubuntu 14.10・14.04 LTS・12.04 LTS用のアップデータがリリースされています。CVE-2014-3694, CVE-2014-3695, CVE-2014-3696, CVE-2014-3698
  • Pidginに含まれる各種プロトコル利用時の脆弱性を修正します。
  • 対処方法:アップデータを適用の上,Pidginを再起動してください。
usn-2391-1:php5のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2014-October/002709.html
  • Ubuntu 14.10・14.04 LTS・12.04 LTS・10.04 LTS用のアップデータがリリースされています。CVE-2014-3668, CVE-2014-3669, CVE-2014-3670, CVE-2014-3710を修正します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-2392-1:systemd-shimのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2014-October/002710.html
  • Ubuntu 14.10用のアップデータがリリースされています。CVE-2014-8399
  • systemd-shimのデバッグ用機能が有効にされたままパッケージングされているため,ローカルユーザーによるDoSが可能です。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-2393-1:Wgetのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2014-October/002711.html
  • Ubuntu 14.10・14.04 LTS・12.04 LTS・10.04 LTS用のアップデータがリリースされています。CVE-2014-4877を修正します。
  • 再帰的なFTPダウンロードを行う際(=生成されるファイル名が予測可能なタイミングで)⁠ローカルファイルシステムにファイル(ディレクトリやシンボリックリンクも含む)を生成する際に古典的シンボリックリンク攻撃を仕掛ける余地がありました。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-2394-1:Linux kernel (Trusty HWE)のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2014-October/002712.html
  • Ubuntu 12.04 LTS用のアップデータがリリースされています。CVE-2014-3610, CVE-2014-3611, CVE-2014-3646, CVE-2014-3647, CVE-2014-7145を修正します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
  • 備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため,通常はそのままアップデートの適用を行えば対応できます。
usn-2395-1:Linux kernelのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2014-October/002713.html
  • Ubuntu 14.04 LTS用のアップデータがリリースされています。CVE-2014-3610, CVE-2014-3611, CVE-2014-3646, CVE-2014-3647, CVE-2014-7145を修正します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
  • 備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため,通常はそのままアップデートの適用を行えば対応できます。
usn-2396-1:Linux kernelのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2014-October/002714.html
  • Ubuntu 14.10用のアップデータがリリースされています。CVE-2014-3610, CVE-2014-3611, CVE-2014-3646, CVE-2014-3647を修正します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
  • 備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため,通常はそのままアップデートの適用を行えば対応できます。
usn-2397-1:Rubyのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2014-November/002715.html
  • Ubuntu 14.10・14.04 LTS・12.04 LTS用のアップデータがリリースされています。CVE-2014-4975, CVE-2014-8080を修正します。
  • Rubyのencodes()関数のメモリ破壊を伴うクラッシュと,XMLパーサが不正なエンティティを解釈した際にリソース過大消費を起こす問題を修正します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。

コメント

コメントの記入