天天看點

LXC部分重要配置檔案及檔案夾分析

本次分析使用的LXC版本為1.0.1,作業系統使用的為ubuntu 14.04 32bit。

1、  有兩個啟動工作(下面兩個腳本檔案在lxc啟動和關閉的時候執行):

          a./etc/init/lxc-net.conf: 當/etc/default/lxc中指定了USE_LXC_BRIDGE=”true”時就執行/etc/init/lxc-net.conf,但是/etc/default/lxc中的USE_LXC_BRIDGE又會被/etc/default/lxc-net中定義的USE_LXC_BRIDGE覆寫。/etc/default/lxc-net指定了虛拟機的網絡配置資訊,如果USE_LXC_BRIDGE=”true”,就會按照/etc/default/lxc-net中指定的方式建立虛拟網橋等。如果修改了/etc/default/lxc-net中的網絡配置資訊,則還要修改/etc/init/lxc-net.conf中相應的腳本參數,對于每一個已經建立了的容器,還要更新/etc/lxc/default.conf以及每一個容器對應的/var/lib/lxc/<container>/config配置檔案。當修改/etc/default/lxc中的USE_LXC_BRIDGE=”false”時,/etc/init/lxc-net.conf會立即停止。當/etc/init/lxc-net.conf停止的時候,将會關閉它運作時建立的網橋,除非有一個容器正在使用這個網橋。

          b./etc/init/lxc.conf,當/etc/default/lxc中指定了LXC_AUTO="true"時,執行/etc/init/lxc.conf,該腳本執行在/etc/lxc/auto/檔案夾中的容器在啟動的時候需要執行的配置檔案的符号連結。/etc/lxc/auto/中儲存的是需要自啟動的容器的配置檔案連結。LXC啟動時就是檢查這個檔案夾來決定自啟動哪個容器的。

2、  /etc/lxc/default.conf:這個配置檔案是在建立容器時執行的預設配置檔案。這個配置檔案引導容器使用由/etc/init/lxc-net.conf建立的LXC網橋。如果建立容器的時候沒有指定配置檔案,就會使用這個預設的配置檔案。

3、  /usr/share/doc/lxc/examples/中的配置檔案,是一些建立容器時使用的一些配置檔案範例,這些範例顯示了如何建立不同網絡的容器等。

4、  /usr/lib/i386-linux-gnu/lxc/lxc-init是由lxc-execute使用的一個很小的輕量級的init二進制檔案,當用lxc-execute在容器中執行應用程式時,不需要啟動整個虛拟機,而是隻挂載少量的檔案系統,特别是/proc,lxc-init運作之後将會等待指定的應用程式的程序以及相關的程序運作完畢,當應用程式的程序退出之後,lxc-init也會退出,在這個臨時容器中lxc-init的pid是1,應用的程序pid從2開始。

5、  /usr/lib/lxc/templates中儲存的是可以用來建立不同版本的容器(如ubuntu、fedora)的模闆,目前不是所有的容器版本都支援。

6、  /var/lib/lxc中儲存的是所有的容器rootfs,以及它們的配置檔案。

7、  /var/cache/lxc中儲存的是不同的容器版本,用來加快相應版本容器的建立過程,如果cache中沒有相應的資料,建立容器的時候會自動從官方網站下載下傳對用版本容器的資料,然後将下載下傳好後的資料儲存在/var/cache/lxc中,這樣,下次建立這個版本的容器是,直接複制容器資訊即可,加快了容器的建立過程。

LXC