Lxd: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
Zeile 53: Zeile 53:
 
lxd init
 
lxd init
 
# /media/data/serverconf/lxd.yaml
 
# /media/data/serverconf/lxd.yaml
 +
 +
 +
config: {}
 +
networks: []
 +
storage_pools:
 +
- config:
 +
    source: /dev/md2
 +
  description: ""
 +
  name: default
 +
  driver: zfs
 +
profiles:
 +
- config: {}
 +
  description: ""
 +
  devices:
 +
    eth0:
 +
      name: eth0
 +
      nictype: bridged
 +
      parent: vmbr0
 +
      type: nic
 +
    root:
 +
      path: /
 +
      pool: default
 +
      type: disk
 +
  name: default
 +
cluster: null
  
  

Version vom 20. November 2020, 18:01 Uhr

Installation

/etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s31f6:
      addresses:
        - X.X.X.X/32 # IP vom SERVER
        - 0x00:0x0:0x:0000::0/64
      routes:
        - on-link: true
          to: 0.0.0.0/0
          via: 95.216.34.1
      gateway6: fe80::1
      nameservers:
        addresses:
          - 213.133.XX.XX
          - 213.133.XXX.XXX
          - 213.133.XXX.XXX
          - 2a01:4f8:X:X::add:XXXX
          - 2a01:4f8:X:X::add:XXXX
          - 2a01:4f8:X:X::add:XXXX
  bridges:
    vmbr0:
      addresses: [ X.X.X.X/28 ] #IP von der Bridge 
      parameters:
        stp: false
        forward-delay: 4


netplan apply 


apt install lxd


adduser nc
adduser lxd
adduser nc lxd

lxd init
# /media/data/serverconf/lxd.yaml


config: {}
networks: []
storage_pools:
- config:
    source: /dev/md2
  description: ""
  name: default
  driver: zfs
profiles:
- config: {}
  description: ""
  devices:
    eth0:
      name: eth0
      nictype: bridged
      parent: vmbr0
      type: nic
    root:
      path: /
      pool: default
      type: disk
  name: default
cluster: null


Befehle

lxc list
lxc profile list
lxc network list
lxc storage list
lxc image list images:
lxc image list images: | grep -i ubuntu
lxc image list images: | grep -i ubuntu |egrep focal| egrep 64
lxc image list images: | grep -i ubuntu |egrep focal| egrep amd64
lxc list --fast
lxc list
lxc image list

Begrenzungen

limits.cpu 0,3
lxc config set ancencrypt limits.memory 1GB

# Überprüfen
cat /proc/cpuinfo | grep processor
free -h

Migration lxc Container zu lxd Container

Migrations Skript

#!/bin/bash
if [ "$1" == "" ]; then
 echo Beispiel: $0 containername betriebsystem
 exit 1
fi

if ! [ -d "/var/lib/lxc/$1" ] ; then
        echo /var/lib/lxc/$1 existiert nicht!
        exit
fi

if [ "$2" == "" ]; then

 echo Beispiel: $0 containername betriebsystem
 echo lxc image list images:
 echo es wird ubuntu:20.04 genomme
        besys='ubuntu:20.04'
else
        besys=$2
fi

echo $0 $1 $besys

CONTAINER_NAME=$1
STORAGE_POOL=default
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/

lxc-stop -n ${CONTAINER_NAME}
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true
#lxc stop ${CONTAINER_NAME}
#lxc config set ${CONTAINER_NAME} boot.autostart true
###
# zfs list
## Benutze NAME z.B default/containers/ncsync
zfs mount default/containers/${CONTAINER_NAME}
verschiebt den orginalen rootfs
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org
umount ${STORAGEPATH}${CONTAINER_NAME}
#sed -i 's|lxc.start.auto = .*|lxc.start.auto = 0|g' /var/lib/lxc/${CONTAINER_NAME}/config
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d"=" -f2)
lxc config show ${CONTAINER_NAME}
#lxc-ls -n ${CONTAINER_NAME} -f
lxc start ${CONTAINER_NAME}

lxc stop ${CONTAINER_NAME}
lxc config set ${CONTAINER_NAME}  security.privileged false
lxc start ${CONTAINER_NAME}

lxc stop ${CONTAINER_NAME}
lxc config set ${CONTAINER_NAME}  security.privileged true
lxc start ${CONTAINER_NAME}

lxc stop ${CONTAINER_NAME}
lxc config set ${CONTAINER_NAME}  security.privileged false
lxc start ${CONTAINER_NAME}

lxc list

Probleme

  • irgendwie mit symlinks

Quellen