仮想化CentOS7上でLXC/LXDのコンテナ環境を構築しました。LXC/LXDはUbuntuメインですが、CentOSにおいてもsnapを使用することにより遜色なく使えたため、記事として残しておきます。Windows版VMWareWorkstation12上でCentOS7.5を稼働させて構築しましたが、同様の手順でベアメタルサーバ上にも構築できます。InstallWinおよびVMWare環境は以下の画像で確認してもらった方が良いかもしれません。Win環境VMWare環境50GBのOS用とは別に100GBのHDDを追加しています。これを母体(KVMで言うホストOS)として、LXC/LXD環境を構築していきます。1-3.全体の流れ事前準備Kernelのアップグレードsnapd&LXDのインストールコンテナのインストール2.事前準備2-1.セキュリティ設定の無効化firewalldとSELinuxを無効化します。firewalldまた、ここでは触れませんが、chronyなどで時刻同期を行ってください。Containers上記公式サイトのRequirementを読む限り、Kernel3.13以降でないとダメなようです。実際、CentOS7のKernel3.10系のままで進めると、LXDのインストール時に確実に止まってしまいます。このため、少々しんどいですが、Kernelのアップグレードを実施します。http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpmGPG-KeyとELRepoの登録を実施。/etc/sysctl.d/99-userns.conf'reboot詳細は省きますが、上記はいずれもnamespaceに関連したカーネルに渡す引数を設定しています。platform上記コマンドにより、snap上でlxdが参照できています。0.0nssnapのシンボリックリンクを張るlxdのインストールlxdをインストールすると上記画面のように出力されます。最初はsnapdの”core”がインストールされた後、lxdのインストールが開始されます。以下のエラーが出力され、lxdサービススタートに失敗してインストールが中断する場合があります。details.)その際は、気にせず以下のコマンドを2~3回、少し時間をおきながら繰り返してみてください。lxd以下のコマンドによりlxdがインストールされていればOKです。追加の100GBストレージをfdiskしておきます。これにより、/dev/sdb1が作成されます。このパーティションはlxd初期設定時に設定します。以下のコマンドにより、初期設定が開始されます。基本的にはEnterで進めてOKですが、前項で作成したパーティションをコンテナ格納用ストレージとして使用する場合は、上記赤文字のように指定してください。Containersにアップロードされているコンテナイメージを参照することができます。膨大な数がありますので、ここではgrepしてcentosに絞って参照してみます。lxc751上記コマンドによりcentos7のコンテナインストールが完了します。公開サーバの「images:centos/7/amd64」からイメージをDLします。初回はDLするのに2~3分程度かかりますが、2回目以降はローカルに保存されたコンテナイメージから展開されるため早いです。上記の例ではコンテナに「lxc751」という名前付与しています。起動したコンテナは以下のように確認できます。forever上記コマンドにより、ホストOS上からコンテナのbashへ移動できます。listで起動中のコンテナと同様であることが確認できます。6.最後に以下のサイトを参考にさせて頂きました。技術評論社gihyo.jpの記事は大変よくまとまっており、LXC/LXDのアーキテクチャもさることながら、コンテナ技術そのものやNamespace機能に関する理解が深まりますので、ぜひご一読ください。先にも書きましたが、LXC/LXDはcanonicalが推し進めていることもありUbuntuがメインとなります。CentOS7に触れる記事がとても少なかったので、残しておきたいなと思いました。今回はLXC/LXDのインストールとコンテナのインストールまででしたが、次回はコンテナのネットワーク周りについて書きたいと思います。私は本職がNWエンジニアなので、ここが一番の肝になってくるため、Linuxのネットワーク周りについても触れたいと思っています。networkコマンドで作成したブリッジの場合、私の使い方にはあまりマッチしなかったため、nmcliコマンドでブリッジを作成した場合についても併せて書きたいと思います。*1:2018/10/21現在、リポジトリの参照先サーバによって、Kernel4.18.12やKernel4.18.14、Kernel4.18.15などがインストールされますが、いずれも支障はありません。kernel-toolsなどもアップグレードしましたが、LXC/LXDではビルドが不要なため、このまま再起動してしまいます。月別アーカイブはてなブログをはじめよう!metonymicalさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。