タグ

ブックマーク / enakai00.hatenablog.com (11)

  • RHEL7のDockerとsystemdとcgroups - めもめも

    Dockerでコンテナを起動する際に、次のようにcpu-sharesとmemory-limitを指定することができます。 # docker run -c 256 -m 512m hogehogeこれは内部的にはcgroupsを使っていますが、RHEL7のDockerでは、systemdと連携してcgroupsの制御を行っています。この辺りの解説です。cgroupsそのもの説明は下記を参照下さい。 ・Control Groups (cgroups) コンテナから生成されるUnit まず、テスト用にContOS6のコンテナを起動して、中でtopコマンドでも実行しておきます。 # docker run -it -c 256 -m 512m centos /bin/bash bash-4.1# top別の端末からログインして、コンテナIDを確認します。 # docker ps CONTAINER

    RHEL7のDockerとsystemdとcgroups - めもめも
  • Dockerのネットワーク管理とnetnsの関係 - めもめも

    RHEL7RC+EPEL版Dockerの前提で解説します。RHEL7RCを最小構成で入れて、次の手順でDockerを導入します。 # yum -y install bridge-utils net-tools # yum -y install http://download.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.1.noarch.rpm # yum -y install docker-io # systemctl enable docker.serviceDockerが設定するiptablesの内容を見るために(見やすくするために)、firewalldを停止した上でdockerサービスを起動します。 # systemctl stop firewalld.service # systemctl mask firew

    Dockerのネットワーク管理とnetnsの関係 - めもめも
  • 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のディスクイメージ管理方式 - めもめも
  • OpenStack Nova Tuning Guide的な何か - めもめも

    変更履歴 2014/03/19 ver1.0 作成 このドキュメントの目的 Compute Nodeが数百台の規模でNovaを利用する場合、実用的な性能を実現するには、OS/QPID/Novaなどのさまざまなパラメータを調整する必要が出てきます。このドキュメントでは、調整するべきパラメータの候補をざっくりとリストアップすることを目指します。RHEL6 + RDO(Grizzly/Havana)あたりを前提にしています。 まだまだ歴史の浅いOpenStackですので、いきなりすべての情報を網羅するのは難しい部分もありますが、みなさまからの情報を元に随時アップデートしていければいいなー、と思ってます。設定するべき具体的な値については、環境依存の要素も多く、実環境での経験を元に「Best Practice」を見出す必要があります。具体的な設定値についても、今後、できるだけ情報を追加していきたいと

    OpenStack Nova Tuning Guide的な何か - めもめも
  • OpenStackクラウド基盤構築・ハンズオンセミナー講義資料 - めもめも

    2014年3月3日〜4日にかけて、NPO法人トップエスイー教育センターによる表題のセミナーで使用する資料です。セミナーの詳細と申し込みについては、下記を参照ください。 ・【トップエスイー特別講義】OpenStackクラウド基盤構築・ハンズオンセミナー それぞれの資料は、二段組両面で印刷するときれいな冊子になるように空白ページが入っています。 第1日 講義No.1 OpenStackの概要と基機能 ハンズオンNo.1 All-in-one構成での環境構築 講義No.2 仮想マシン構築自動化技術 ハンズオンNo.2 仮想マシン構築自動化演習 第2日 講義No.1 OpenStackの内部構造 ハンズオンNo.1 複数ノード構成での環境構築 講義No.2 Neutronの内部構造とSDN

    OpenStackクラウド基盤構築・ハンズオンセミナー講義資料 - めもめも
  • Systemd入門(3) - cgroupsと動的生成Unitに関する小ネタ - めもめも

    この連載では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明します。今後出てくる予定のRHEL7での実装とは異なる部分があるかも知れませんが、その点はご了承ください。 今回は、表題の小ネタを2つお届けします。 cgroups systemdの管理下では、すべてのプロセスについて、cgroupsによる分類が行われます。cgroupsでは、グループに階層構造を持たせることができますが、systemdは「systemグループ」と「userグループ」を用意した上で、その下にサブグループを作成していきます。 グループ 説明 system systemdから起動するserviceについて、この下に該当service用のサブグループを作成します。 user この下にユーザアカウントごとのサブグループを作成します。その下には、さらに、ログイン端末ごとのサブグループ

    Systemd入門(3) - cgroupsと動的生成Unitに関する小ネタ - めもめも
  • Systemd入門(2) - Serviceの操作方法 - めもめも

    この連載では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明します。今後出てくる予定のRHEL7での実装とは異なる部分があるかも知れませんが、その点はご了承ください。 前回は、systemdの基概念となるUnitの説明をしました。今回は、日々のオペレーションで必要となる、serviceの操作方法をまとめます。旧来のchkconfigコマンド、serviceコマンドに相当する部分ですね。 サービスの確認 現在稼働中のサービス一覧 # systemctl list-units --type=service UNIT LOAD ACTIVE SUB JOB DESCRIPTION auditd.service loaded active running Security Auditing Service crond.service loaded act

    Systemd入門(2) - Serviceの操作方法 - めもめも
  • Systemd入門(1) - Unitの概念を理解する - めもめも

    Linuxの起動処理は、これまでinit/upstartと呼ばれる仕組みで行われていました。Red Hat Enterprise Linux 7 (RHEL7)では、これが、systemdと呼ばれるまったく新しい仕組みに置き換わります。Fedoraでは、すでに先行してsystemdが採用されていますが、この連載(?)では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明していきます。今回は、systemdの動作の基礎となる「Unit」の概念を理解します。 systemdを採用したFedoraでLinuxの基礎を学びなそう!という方には、「「独習Linux専科」サーバ構築/運用/管理――あなたに伝えたい技と知恵と鉄則」がお勧めです。(^^/ systemdの考え方 参考資料 ・Rethinking PID 1:systemdの開発者であるLennart

    Systemd入門(1) - Unitの概念を理解する - めもめも
  • /proc/meminfoを考える - めもめも

    通りすがりの貴方・・・・ /proc/meminfoのあっちの値とこっちの値を足したら、なんでそっちの値と同じにならないの・・・・ と悩んだことありますよね? /proc/meminfoは、カーネルが内部的に管理している枠組みでのメモリ情報をそのまま出しているので、残念ながらユーザ視点で知りたいメモリ情報とは一致しません。 とはいえ、変な解釈をして無意味に悩まないために、それぞれの値の意味合いと項目間の関係を知っておくのは有意義です。私の理解の範囲で、それらの関係をまとめていきます。 #私の理解も完璧ではないので、間違いあればやさしくご指摘お願いします。 参考資料 http://mkosaki.blog46.fc2.com/blog-entry-1007.html 2011/09/07 追記: tmpfsがSwapCachedに含まれるのは幻想でした。tmpfs=Shmemに修正しました。

    /proc/meminfoを考える - めもめも
  • Control Groups (cgroups) - めもめも

    LXC の解説に必要なので、ちょいと cgroups についてまとめておきます。RHEL6.0 前提です。 参考資料: RHEL6 リソース管理ガイド Control Groups(cgroups) の概要 cgroups とは 最近の Linux は、あるプロセスの実行を許可する CPU コアの指定など、プロセスごとにさまざまなリソース制御ができるようになっています。このような制御を複数のプロセスをグループ化したグループ単位でできると便利な場合があります。cgroups は、グループ単位でリソース制御を行うためのユーザ・インターフェースを特殊ファイルシステムの形式で提供します。 cgroups 自体がリソース制御の機能を提供するわけではありません。既存のリソース制御機能(cgroups の用語で『コントローラ』もしくは『サブシステム』と言います)を cgroups のインターフェースを利

    Control Groups (cgroups) - めもめも
  • RHEL6.0 で LXC (Linux コンテナ) - めもめも

    2011/05/29 執筆中。。。 2011/05/31 コンテナの起動まで書きました! 2011/06/06 cgroups の設定例を追加。これでひとまず完成(?) 2011/06/14 cgroups 設定例に /dev/tty* のアクセス権追加 どうも時代はコンテナらしい・・・ということで、RHEL6.0 + LXC でのコンテナ型の仮想化の方法をまとめていきます。 Linux Study Tokyo #2の発表資料「LXCで始めるケチケチ仮想化生活?!」も参考にしてください。 コンテナとは? 概念的というか実装的には、chroot jail の延長と考えると理解しやすいと思います。 chroot jail の場合は、ファイルシステムの見える範囲をプロセスごとに制限することでプロセス間の擬似的な独立性を実現します。ただし、ネットワークソケットなど、ファイルシステム以外のリソースは

    RHEL6.0 で LXC (Linux コンテナ) - めもめも
  • 1