タグ

LXCに関するy0sh1kawのブックマーク (30)

  • 第36回 コンテナのネスト[2] | gihyo.jp

    前回は、root権限で起動するコンテナを使って多段にネストさせたコンテナを起動させたり、LXCコンテナ内でDockerを起動したりしました。 今回は、一般ユーザで起動する非特権コンテナでネストを試してみます。同時に、Ubuntu 16.04で採用された、一般ユーザに書き込み権限のあるcgroupを作るためのpam_cgfsも紹介します。 pam_cgfs コンテナのネストを試す前に、一般ユーザ権限で起動する非特権コンテナで使用するpam_cgfsというPAMモジュールを紹介します。pam_cgfsはLXCFSに含まれています。 Ubuntuではこれまで、cgmanagerやパッチを適用したsystemd-logindを使って、ユーザ権限で操作できるcgroupを作成し、非特権コンテナを起動してきました。Ubuntu 16.04では、ログイン時にpam_cgfsというPAMモジュールを使って

    第36回 コンテナのネスト[2] | gihyo.jp
    y0sh1kaw
    y0sh1kaw 2017/10/16
  • 第35回 コンテナのネスト[1] | gihyo.jp

    前回は、名前空間ごとに仮想化したcgroupツリーが見える、Linuxカーネルのcgroup名前空間という機能を紹介しました。 今回はそのcgroup名前空間の応用例を紹介することを兼ねて、コンテナ内でコンテナを動作させてみます。つまりコンテナをネストさせて遊んでみようという企画です。 今回はroot権限で動作するコンテナを使ってネストを試してみます。試している環境はUbuntu 16.04です。コマンドの実行例は、実行している環境が、ホストなのかどのコンテナなのかがわかりやすいようにプロンプトまで引用しています。 親コンテナの作成と起動 まずはホスト上にコンテナを作成します。 ubuntu@host:~$ sudo lxc-create -n parent -t download -- -d ubuntu -r xenial -a amd64 ここではネストさせるコンテナの「親」という意

    第35回 コンテナのネスト[1] | gihyo.jp
    y0sh1kaw
    y0sh1kaw 2017/07/18
  • 第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp

    第458回ではUbuntuにおけるDockerのインストール方法を紹介しました。ところでDockerと同じコンテナ技術を利用したソフトウェアとして「LXD」が存在します。このLXDとDockerは排他的な存在ではなく、用途にあわせて組み合わせて使うと便利なツールです。そこで今回はLXDで作った仮想環境上でDockerコンテナを動かす方法を紹介します。 LXDの上でDockerを使う Dockerと同様にカーネルのコンテナ技術を利用したソフトウェアのひとつにLXDが存在します。Dockerがひとつのコンテナでひとつのアプリケーションを動かす「アプリケーションコンテナ」としての利用をメインに据えているのに対して、LXDは軽量な仮想マシンのように使える「システムコンテナ」としての使い方を提案していることがもっとも大きな違いです[1]⁠。 両者の具体的な違いを見ていきましょう。ちなみに個々の環境や

    第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp
  • Oracle RAC 6-node 12c GNS ASM Flex Cluster Ubuntu 15.04 Install - nandydandyoracle

  • aufs を使った一般ユーザ権限で起動するコンテナ - TenForward

    LXC ではコンテナのクローンを行う際に色々なストレージバックエンドの特徴を生かしたスナップショットクローンを行えます。この辺りは 連載の第 19 回〜 22 回 辺りで詳しく解説しています。 今まで、非特権LXCコンテナでストレージバックエンドの特徴を生かしたスナップショットクローンは、btrfs か overlayfs でしか行えませんでした。 先日、私の送ったパッチで aufs を使ったスナップショットクローンが一般ユーザ権限でもできるようになりました。 aufs: Support unprivileged clone, mount · lxc/lxc@31a882e · GitHub Support unprivileged ephemeral container using aufs · lxc/lxc@dc80aa9 · GitHub 前者は liblxc 側の変更で lxc-

    aufs を使った一般ユーザ権限で起動するコンテナ - TenForward
    y0sh1kaw
    y0sh1kaw 2016/01/16
  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

  • lxc-checkpoint で CRIU を使って LXC コンテナの checkpoint/restore 処理 - TenForward

    CRIUを最後に試したのは昨年11月でした。 CRIU (3) - TenForwardの日記 CRIU (2) - TenForwardの日記 CRIU (1) - TenForwardの日記 いつの間にやらバージョンも 1.3 とかで進化しています。でも LXC できちんと動かないよという話だったので動向だけ見守っていました。まあ、前回でもそれなりには動いていましたが。最近、Add support for checkpoint and restore via CRIU · lxc/lxc@735f2c6 · GitHubLXC が CRIU 対応し lxc-checkpoint というコマンドが新しく実装されました。 早速触ってみました。試したのは以下の環境です。プレーンな環境なのでコンテナに限らず新しいモノを触るのに最適ですよ! > Plamo Linux Plamo 5.2

    lxc-checkpoint で CRIU を使って LXC コンテナの checkpoint/restore 処理 - TenForward
    y0sh1kaw
    y0sh1kaw 2015/02/18
  • 第15回 LXCの構築・活用 [3] ― コンテナ内でサウンドを取り扱う | gihyo.jp

    この連載のLXCの構築・活用のシリーズが、今回で3回目を迎えました。目的に合わせたパッケージ構成で、システムコンテナを作成・構築することに、だいぶ慣れてきたかと思います。皆さまは、作成・構築したコンテナをどのように利用されているでしょうか。 LXCでコンテナを使うときは、たいていサーバ用途のアプリケーションを導入して運用することが多く、これまでコンテナ内でサウンドを使う手法は、あまり知られていませんでした。しかし、コンテナ上でサウンドを使うアプリケーションの利用や評価を行ったり、多数のコンテナを起動して、利用者向けにリモートコンソール環境やリモートデスクトップ環境を提供するなど、サウンドを必要とする場面も考えられ、このような使い方に興味をお持ちの方も多いのではないかと思います。今回は、コンテナ内でサウンドを取り扱うにはどうすれば良いのかを紹介していきます。 Linuxにおける主なサウンドシ

    第15回 LXCの構築・活用 [3] ― コンテナ内でサウンドを取り扱う | gihyo.jp
    y0sh1kaw
    y0sh1kaw 2014/12/03
  • 第13回 LXCの構築・活用 [1] ― テンプレートを紐解く | gihyo.jp

    これらのパッケージは、開発中のPlamo Linuxパッケージを格納しているミラーサーバから取得できます。ミラーサーバの内容は、日々更新されているので、ダウンロード時点の最新パッケージ構成で、コンテナを作成することができます。ミラーサーバの情報は、テンプレート内の以下の変数で表現しています。 DLSCHEME ダウンロードスキーム。httpまたはftpを指定します。デフォルトはhttpです。 MIRRORSRV ミラーサーバを指定します。デフォルトはwww.ring.or.jpです。 MIRRORPATH インストーラのパスを指定します。デフォルトは/pub/linux/Plamoです。 仮に、Plamo Linuxインストーラのplamoディレクトリ以下とcontribディレクトリ以下のカテゴリをすべてインストールする場合、インストールDVD1枚分相当のサイズをダウンロードすることになり

    第13回 LXCの構築・活用 [1] ― テンプレートを紐解く | gihyo.jp
    y0sh1kaw
    y0sh1kaw 2014/11/05
  • 第11回 LXCの設定[1] | gihyo.jp

    前回まででLXCに付属しているコマンドの説明が済みましたので、今回からはLXCの設定について説明していきたいと思います。 LXCの設定は2つに分かれます。システムの設定とコンテナの設定です。 システムの設定 LXCがシステム全体で共通して使用する値を設定します。コンテナの保存場所やストレージバックエンドの設定などです。 コンテナの設定 各コンテナの動作を決定する設定です。コンテナごとに設定ファイルが存在します。 Ubuntuにおけるシステム設定が書かれたファイルや、システム設定で設定される各種の値については第8回で紹介しました。 設定ファイルの書式 LXCの設定ファイルの書式はシンプルです。 設定は『設定項目名 = 設定値』という形式で1行につき1つ設定します("="の前後のスペースはなくても構いません) 行頭が "#" で始まる場合、その行はコメントとなります 各設定項目名の頭には "l

    第11回 LXCの設定[1] | gihyo.jp
    y0sh1kaw
    y0sh1kaw 2014/10/08
  • 第10回 LXCの基本操作 [3] | gihyo.jp

    今回は前回紹介できなかったコマンドの紹介を続けます。その後、Ubuntu 14.04 LTSでcgroupを管理するために導入されたcgmanagerについて少し紹介します。 アプリケーションコンテナ lxc-startを使ったアプリケーションコンテナの起動 第8回でlxc-startコマンドの使い方を紹介しました。その際に紹介したのはシステムコンテナを起動する方法でした。lxc-startは特に指定しなければコンテナイメージ内の/sbin/initを実行します。 ここでコマンドを指定するとlxc-startはアプリケーションコンテナとして指定したコマンドを実行します。 $ sudo lxc-start -n ct01 -- /bin/bash bash: cannot set terminal process group (-1): Inappropriate ioctl for dev

    第10回 LXCの基本操作 [3] | gihyo.jp
    y0sh1kaw
    y0sh1kaw 2014/09/24
  • Debian LXC on Fedora 20

    Debian wheezyをFedora 20上のContainerとして動かしてみました。 まずはrootファイルシステムとなるディレクトリを作成します。名前はdebian01としています。 [root@localhost ~]# mkdir -p /var/lib/libvirt/filesystems/debian01 debootstrapを入手して展開、実行します。 展開用にbinutilsに含まれるarコマンド、実行用にperlなどが必要になりますので、インストールします。 [root@localhost ~]# yum install binutils perl wget gnupg debootstrap自体のインストール手順はD.3. Unix/Linux システムからの Debian GNU/Linux のインストール」の「D.3.2. debootstrap のインス

    Debian LXC on Fedora 20
    y0sh1kaw
    y0sh1kaw 2014/09/02
  • 第7回 LXCの歴史と特徴 | gihyo.jp

    今回からはいよいよLXCの話題です。まずは開発の歴史と現在の開発体制を少し紹介したあと、LXC自身が持つ特徴を紹介したいと思います。 LXC歴史 LXCLinuxカーネルにコンテナ関連の機能が実装されはじめた2008年頃から、当時IBMフランスのDaniel Lezcano氏を中心にして、カーネルの機能を使用してコンテナの操作を行うためのツールとして開発がはじまっています。当時の文書を読むと、カーネルに実装されたコンテナ関連の機能をカーネル開発者が簡単に試せるようにすることを目的としていたようです。 その後、開発はかなり活発に行われ2009年にはバージョンは0.6に達しています。筆者が初めてLXCを使い始めたのは2009年の年末で0.6.4の頃です。この頃にはすでに簡単にコンテナの起動や管理ができていました。この後はAppArmorのサポートのようにセキュアにコンテナを使用するための機

    第7回 LXCの歴史と特徴 | gihyo.jp
  • 第6回 Linuxカーネルのコンテナ機能[5] ─ネットワーク | gihyo.jp

    コンテナに関係する主要な機能2つの説明が済んだので、今回はLXCで使われることが多いネットワーク関連の機能を紹介しましょう。 コンテナとネットワーク名前空間 コンテナでのネットワークの使用と密接に関係するのが第2回で紹介したネットワーク名前空間です。 コンテナでネットワークを使用する場合、一般的にはネットワーク名前空間を作成します。そして、ホスト上に存在するネットワークインターフェースを、作成したネットワーク名前空間に割り当てます。そうすると、ホストや他のコンテナからは見えない、コンテナからだけ見えるネットワークインターフェースとなります。 もちろん、ネットワーク名前空間を作らなくてもコンテナは作れます。しかし、システムコンテナを使う場合、最近はupstartやsystemdといったソケットを使用するinitが使われることが多いので、ネットワーク名前空間をホストと分けておくのが普通です。

    第6回 Linuxカーネルのコンテナ機能[5] ─ネットワーク | gihyo.jp
  • 第329回 VPSとLXCとOpenVPNで仮想プライベートネットワークを構築する | gihyo.jp

    今回はUbuntuの具体的な利用方法として、VPSLXC、OpenVPNなどを利用して、Android端末からローカルにあるUbuntuマシンのコンテンツをインターネット越しに閲覧する方法を紹介します。 まずは目的を決める 写真や動画のマルチメディアコンテンツの保存について頭を悩ませている人は多いでしょう。デジタルカメラやスマートフォンといった簡単に撮影できる機材が手元にあるおかげで、写真や動画が際限なく増えていくために整理が大変ですし、単体のファイルサイズも大きいのでクラウドストレージはすぐにあふれてしまいます。自分で撮影したデータは世界に1つだけなので、おいそれとは捨てられません。 家にあるマシンに保存する場合、今度は閲覧が問題になってきます。できれば家の外からでも閲覧したい、そうすると家のマシンを常時起動しながらサーバーをインターネットに公開する必要がある、など考えるべきことが増え

    第329回 VPSとLXCとOpenVPNで仮想プライベートネットワークを構築する | gihyo.jp
  • 第2回 コンテナの仕組みとLinuxカーネルのコンテナ機能[1]名前空間とは? | gihyo.jp

    前回は、Linuxで使えるコンテナの実装を説明したあと、LXCを使って簡単にコンテナの作成、起動、停止が行えるところを紹介しました。今回は、そのコンテナの仕組みを簡単に説明し、その仕組みからくるメリット・デメリットを紹介した後、コンテナはカーネルのどのような仕組みを使って動作しているのかを簡単に説明していきたいと思います。 コンテナの仕組み コンテナをまだ使ったことがない方でも、VMwareやVirtualBox、KVMといった仮想マシン(VM)を使ったことはあるという方は多いのではないでしょうか。まずはVMとの比較をしながら、コンテナの仕組みを説明してみましょう。 図1 VMとコンテナの仕組み(1)仮想マシン VMでは図1のように、コンピュータの上で動くOSやVMを実現するためのハイパーバイザの上で、実際のハードウェアをエミュレートするVMが動きます。つまり実際の物理的なコンピュータと同

    第2回 コンテナの仕組みとLinuxカーネルのコンテナ機能[1]名前空間とは? | gihyo.jp
  • 第1回 LXCとコンテナの基本 | gihyo.jp

    はじめに みなさま、はじめまして。加藤と申します。最近注目を集めている仮想化技術の『コンテナ』に関する連載を始めることになりました。よろしくお願いいたします。 コンピュータの性能が向上し、仮想化という言葉も一般的になりました。従来はVPS等のサービスやIaaS、クラウドといったキーワードと共に語られることが多かった仮想化ですが、最近では開発者自身のPC上で仮想化を使ってテスト環境を作成し、使い終わったら消去するという使われ方が増え、仮想化技術を扱うエンジニアも、インフラエンジニアからアプリ開発者まで広くなりました。 また、従来は仮想的なマシンをコンピュータ上で実現するVMware、Hyper-V、KVMといった技術が話題になることが多かったことに対し、最近ではImmutable Infrastructureといったキーワードと共に『コンテナ』が話題になることが増えました。『⁠コンテナ』とは

    第1回 LXCとコンテナの基本 | gihyo.jp
  • RHEL7におけるDockerのディスクイメージ管理方式 - めもめも

    変更履歴 2014/04/20 公開 2014/04/27 構成情報ファイルの説明追加 2014/06/15 dm-thinprovisiongのデバイスメタデータファイル変更 背景 先だって、「Linuxコンテナ(LXC)の基礎をまとめ直す」というコラムに、「来るべきDockerの波に向けて、まずは、コンテナの基礎を理解しましょう!」的な話を書きました。この中で、比較的に原始的なコンテナ利用法として、「RHEL6.2のlibvirtからLinuxコンテナを利用」という記事を紹介しています。 この記事では、busyboxを使った簡易httpサーバのコンテナを起動していますが、この手順に従うと(気づく人は)容易に気づくのが、コンテナに見せるファイルシステムの準備がいかに面倒か、という事実です。コンテナから見えるルートファイルシステムは、基的には、ホスト上の特定のディレクトリにchrootし

    RHEL7におけるDockerのディスクイメージ管理方式 - めもめも
  • コンテナ型技術の情報交換会 - 第3回 コンテナ型仮想化の情報交換会@大阪

    2014-04-12 に大阪で開催されました. 更新履歴 2014-04-15 公開しました 2014-04-16 全ての動画を公開しました イベントページ 第3回 コンテナ型仮想化の情報交換会@大阪 (コンテナ型VMや関連するカーネル等の技術が話題の勉強会) : atnd 各セッション Linuxコンテナ入門 (@ten_forward) 発表スライド 発表動画

  • 第318回 HackとPHPの実行環境HHVMをLXCで試す | gihyo.jp

    今回は、LXCで用意したコンテナにHHVMをインストールし、PHP(言語)とHack言語を体験するレシピです。 HHVMとは HHVM(HipHop Virtual Machine)とは、Facebook社によって開発されたOSSです。PHP(言語)のコードの実行を、現在標準的に使われているPHP(実行環境)よりも高速化することを目的としています。特徴は、PHPのコードを専用の中間表現のバイトコード(HHBC)に変換し、このバイトコードを専用の中間表現(HHIR)に変換して最適化を施した後、x86-64あるいはARM64のマシンコードにJust-In-Timeコンパイルする点です。 先日、このHHVMのバージョン3.0.0が公開され、合わせてHackという新しい言語も公開されました。HHVMはPHPに加え、このHackの実行環境にもなります。 Ubuntu用にHHVMのパッケージを提供する

    第318回 HackとPHPの実行環境HHVMをLXCで試す | gihyo.jp