lxc
This commit is contained in:
parent
efcaaaa25a
commit
250cb9eab4
3 changed files with 261 additions and 0 deletions
|
@ -1,3 +1,170 @@
|
||||||
*********
|
*********
|
||||||
Container
|
Container
|
||||||
*********
|
*********
|
||||||
|
|
||||||
|
TODO
|
||||||
|
====
|
||||||
|
|
||||||
|
* look for creation through debootstrap
|
||||||
|
|
||||||
|
Create
|
||||||
|
======
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-create \
|
||||||
|
--name="container_name" \
|
||||||
|
--template="debian" \
|
||||||
|
-- \
|
||||||
|
--release="stretch" \
|
||||||
|
--mirror="file:/mirrors/debian/debian-stretch" \
|
||||||
|
--security-mirror="file:/mirrors/debian/debian-stretch-security" \
|
||||||
|
|
||||||
|
Configure
|
||||||
|
=========
|
||||||
|
|
||||||
|
In containers/directory/container_name :
|
||||||
|
|
||||||
|
* config
|
||||||
|
|
||||||
|
.. code:: ini
|
||||||
|
|
||||||
|
lxc.include = /usr/share/lxc/config/debian.common.conf
|
||||||
|
|
||||||
|
lxc.arch = amd64
|
||||||
|
lxc.autodev = 1
|
||||||
|
lxc.kmsg = 0
|
||||||
|
lxc.mount = /var/lib/lxc/container_name/fstab
|
||||||
|
lxc.rootfs = /var/lib/lxc/container_name/rootfs
|
||||||
|
lxc.rootfs.backend = dir
|
||||||
|
lxc.start.auto = 1
|
||||||
|
lxc.utsname = hostname
|
||||||
|
|
||||||
|
lxc.network.type = veth
|
||||||
|
|
||||||
|
lxc.network.flags = up
|
||||||
|
lxc.network.link = br0
|
||||||
|
lxc.network.name = eth0
|
||||||
|
lxc.network.veth.pair = container_name
|
||||||
|
lxc.network.hwaddr = virtual_mac_address
|
||||||
|
|
||||||
|
Static addresses variant:
|
||||||
|
|
||||||
|
.. code:: ini
|
||||||
|
|
||||||
|
lxc.network.ipv4 = container_ip4/network_mask_bits
|
||||||
|
lxc.network.ipv6 = container_ip6
|
||||||
|
|
||||||
|
* fstab
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
| Do not forget to create the data directories
|
||||||
|
| otherwise the container start process will fail!
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
data/directory/container_name data none bind,create=dir
|
||||||
|
/mirrors mirrors none bind,create=dir
|
||||||
|
|
||||||
|
* rootfs/
|
||||||
|
|
||||||
|
* TODO Debian configuration
|
||||||
|
|
||||||
|
* rootfs/etc/network/interfaces.d/eth0
|
||||||
|
|
||||||
|
if the container uses DHCP:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
auto eth0
|
||||||
|
iface eth0 inet dhcp
|
||||||
|
|
||||||
|
Start
|
||||||
|
=====
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
| Be patient, for it can take a container
|
||||||
|
| up to 1 minute to get its network stack up!
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-start -n "container_name"
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-start --name="container_name"
|
||||||
|
|
||||||
|
Run command
|
||||||
|
===========
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-attach -n "container_name" -- command
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-attach --name="container_name" -- command
|
||||||
|
|
||||||
|
Stop
|
||||||
|
====
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-stop -n "container_name"
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-stop --name="container_name"
|
||||||
|
|
||||||
|
Backup
|
||||||
|
======
|
||||||
|
|
||||||
|
system
|
||||||
|
------
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
cd containers/directory
|
||||||
|
tar --numeric-owner -cvaf container_name.backup_name.txz container_name
|
||||||
|
|
||||||
|
data
|
||||||
|
----
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
cd data/directory
|
||||||
|
tar --numeric-owner -cvaf container_name.backup_name.txz container_name
|
||||||
|
|
||||||
|
Destroy
|
||||||
|
=======
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-destroy -n "container_name"
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-destroy --name="container_name"
|
||||||
|
|
||||||
|
Restore
|
||||||
|
=======
|
||||||
|
|
||||||
|
system
|
||||||
|
------
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
cd containers/directory
|
||||||
|
rm --recursive container_name
|
||||||
|
tar --numeric-owner -xvf container_name.backup_name.txz
|
||||||
|
|
||||||
|
data
|
||||||
|
----
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
cd data/directory
|
||||||
|
rm --recursive container_name
|
||||||
|
tar --numeric-owner -xvf container_name.backup_name.txz
|
||||||
|
|
|
@ -1,3 +1,78 @@
|
||||||
****
|
****
|
||||||
Host
|
Host
|
||||||
****
|
****
|
||||||
|
|
||||||
|
Check
|
||||||
|
=====
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-checkconfig
|
||||||
|
|
||||||
|
List
|
||||||
|
====
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-ls -f
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
lxc-ls --fancy
|
||||||
|
|
||||||
|
Network bridge
|
||||||
|
==============
|
||||||
|
|
||||||
|
Create bridge br0 onto host's network interface eth0:
|
||||||
|
|
||||||
|
* /etc/network/interfaces.d/eth0
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
auto br0
|
||||||
|
iface br0 inet static
|
||||||
|
address host_ip/network_mask_bits
|
||||||
|
gateway gateway_ip
|
||||||
|
bridge_fd 0
|
||||||
|
bridge_maxwait 0
|
||||||
|
bridge_ports eth0
|
||||||
|
bridge_stp on
|
||||||
|
|
||||||
|
Service
|
||||||
|
=======
|
||||||
|
|
||||||
|
Default configuration for new containers:
|
||||||
|
|
||||||
|
* /etc/lxc/default.conf
|
||||||
|
|
||||||
|
.. code:: ini
|
||||||
|
|
||||||
|
lxc.include = /usr/share/lxc/config/debian.common.conf
|
||||||
|
|
||||||
|
lxc.arch = amd64
|
||||||
|
lxc.autodev = 1
|
||||||
|
lxc.kmsg = 0
|
||||||
|
lxc.rootfs.backend = dir
|
||||||
|
lxc.start.auto = 1
|
||||||
|
|
||||||
|
lxc.network.type = veth
|
||||||
|
|
||||||
|
lxc.network.flags = up
|
||||||
|
lxc.network.link = br0
|
||||||
|
lxc.network.name = eth0
|
||||||
|
|
||||||
|
Directories
|
||||||
|
===========
|
||||||
|
|
||||||
|
* 1 for the containers
|
||||||
|
* 1 for their data
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
mkdir --parents "containers/directory"
|
||||||
|
rmdir "/var/lib/lxc"
|
||||||
|
ln --symbolic "containers/directory" "/var/lib/lxc"
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
mkdir --parents "data/directory"
|
||||||
|
|
|
@ -6,3 +6,22 @@ LXC
|
||||||
|
|
||||||
host
|
host
|
||||||
container
|
container
|
||||||
|
|
||||||
|
***
|
||||||
|
ESX
|
||||||
|
***
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
| If the host is part of an ESX virtual network architecture,
|
||||||
|
| make sure to configure its virtual switch to avoid packet drops.
|
||||||
|
|
||||||
|
* Edit Settings / Policies / Security
|
||||||
|
|
||||||
|
=================== ======
|
||||||
|
Key Value
|
||||||
|
=================== ======
|
||||||
|
Promiscuous Mode Accept
|
||||||
|
MAC Address Changes Accept
|
||||||
|
Forged Transmits Accept
|
||||||
|
=================== ======
|
||||||
|
|
Loading…
Reference in a new issue