目的

目的

私のrootfsスナップショットはにあります/mnt/mydisk/my_test_snapshot。これは現在のシステムの完全に書き込み可能なコピーです。

/mnt/mydisk/my_test_snapshotルート()フォルダとして使用する仮想マシン(LXCコンテナなど)を起動したいです/

最後に、仮想マシンを起動する必要があります。

  1. 通常のフォルダをルートファイルシステムとして使用します。
  2. 仮想環境で許可されているいくつかのフォルダをマウントできます。
  3. ブリッジネットワーキングが使用されます(ホスト設定は0ですiptables)。
  4. GUIアプリケーションを使用するためのXウィンドウが欲しいです。

この目的のためのLXC公式(またはその他)はありますか?

目的

Dockerのようなものを再作成できるかどうかはわかりませんが、次の利点が必要です。

  1. BTRFSをルートパーティションとして使用することで、現在のシステムのスナップショットを無料で撮影し、仮想マシンを起動して操作できます(新しいソフトウェアのインストール、アイテムの削除など)。

  2. 仮想マシンで行ったことが好きな場合は、そのスナップショット(仮想マシンによって変更されたもの)から物理OSを起動できます。

  3. すべての仮想マシンを無料で複製できます(時間、CPU、またはディスク容量)。

  4. たとえば、この仮想マシンをタイムマシンとして使用して、データベースサーバーにバックアップを提供できます。良いことは、1分以内にすべてのサービスをすぐにオンラインに切り替えることができることです。災害復旧を促進します。

  5. どのアップグレードやオペレーティングシステムの変更に関係なく、必要に応じて実行する必要がある特定のアプリケーション(ビジネスで使用)に使用できます。これにより、ディスクスペースのコストなしで各アプリケーションのサンドボックスが完全に作成され、BTRFSの利点(スナップショットなど)が提供されます。

ベストアンサー1

部分的な答えで、サブボリュームからLXCコンテナを作成するために、次のツールを作成しました。https://github.com/aktos-io/lxc-to-the-future

if [[ "$(grep br0 /etc/network/interfaces)" == "" ]]; then 
    cat <<ONETIME
ERROR: No br0 bridge device found in  /etc/network/interfaces file. 
Edit your /etc/network/interfaces file and add/replace the following section 
in place of "eth0" section 

    auto br0
    iface br0 inet dhcp
        bridge-ifaces eth0
        bridge-ports eth0
        up ifconfig eth0 up

    iface eth0 inet manual


Then run the following: 
    sudo ifup br0
ONETIME
    exit
fi

echo "creating the container directory: $NAME"
mkdir $DIR/$NAME

echo "creating a writable snapshot of given subvolume"
btrfs sub snap $SUBVOL $DIR/$NAME/rootfs

echo "emptying the /etc/fstab file"
echo > $DIR/$NAME/rootfs/etc/fstab

echo "creating the config file"
cat <<CONFIG > $DIR/$NAME/config
# Distribution configuration
lxc.include = /usr/share/lxc/config/debian.common.conf
lxc.arch = x86_64
# Container specific configuration
lxc.rootfs = /var/lib/lxc/$NAME/rootfs
lxc.rootfs.backend = dir
lxc.utsname = $NAME
# Network configuration
lxc.network.type = veth
lxc.network.link = br0
lxc.network.hwaddr = 00:16:3e:7e:11:ac
lxc.network.flags = up 
CONFIG

おすすめ記事