FireJail и LXC
How to move/migrate LXD VM to another host on Linux
Rsync an LXC container
Commands required to integrate rsync'ed LXD container from another machine #2588
Migrate LXC container to LXD (with ZFS storage)
Перенос виртуальной машины qemu-kvm в lxc-контейнер
Настройка LXD
LXD Containers run in unprivileged-mode (default) with uid/gid 100000:100000
Перенос непривилегированного контейнера LXC между пользователями
1. Вариант переноса с примонтированием диска
На orel ce установленной в virtualbox
#$ sudo apt install acl
$ sudo -i
# cd /
# getfacl -R / > acl.save
# poweroff
Остановить.
Действия на хосте с lxd (на virtualbox)
Остановить orel ce (который хотим перенести)
средствами virtualbox клонировать диск,
средствами virtualbox переместить диск в папку с lxd,
средствами virtualbox подключить клонировонанный диск к системе с lxd
Запустить систему с lxd
Примонтировать диск
$ sudo mount /dev/sdb1 /mnt/
$ ls /mnt/
$ lxc launch images:debian/9 astra
$ lxc config set astra security.privileged true
$ lxc stop astra
Удалить файловую систему контейнера:
$ sudo rm -rf /var/lib/lxd/containers/astra/rootfs/*
$ sudo -i
Примонтировать файловую систему переносимого orel ce (уже сделано)
## sudo mount /dev/sdb1 /mnt/
# cd /mnt
Скопировать файловую систему в контейнер
# cp -R * /var/lib/lxd/containers/astra/rootfs/
# exit
$ lxc start astra
$ lxc list
$ lxc exec astra /bin/bash
Внутри контейнера восстановить права
# cd /
# setfacl --restore=acl.save
# systemctl restart xrdp
# exit
Перезапустить контейнер
$ lxc restart astra
В контейнере :
$ sudo systemctl restart xrdp
На хосте
$ lxc stop astra
$ lxc snapshot astra backup
$ lxc publish astra/backup --alias astra-backup
Контейнер публикуется с отпечатком: c2b5360fc86b134ae70c912300a4ce72831ae394aa411ded13f3475b5b0a3972
$ lxc image export astra-backup astra_2019_11_27
Восстановление на другом компьютере:
$ lxc image import astra_2019_11_27.tar.gz --alias astra-backup
Образ, импортирован с снимком: c2b5360fc86b134ae70c912300a4ce72831ae394aa411ded13f3475b5b0a3972
$ lxc launch astra-backup astra
$ lxc config set astra security.privileged true
$ lxc restart astra
2. Вариант переноса с rsync (можно на физической машине)
Создаем новый контейнер:
$ lxc launch images:debian/9 ast
$ lxc config set ast security.privileged true
$ lxc restart ast
$ lxc exec ast bash
# passwd
# apt install nano mc rsync ssh
# nano /etc/ssh/sshd_config
PermitRootLogin yes
# service ssh reload
# exit
$ lxc list
| ast | RUNNING | 192.168.0.244 (eth0) | | PERSISTENT | 0 |
На компе с орлом:
# rsync -ayz -e ssh --exclude=/proc --exclude=/sys --exclude=/dev / root@192.168.0.244:/ --progress --stats
$ lxc copy ast astra
$ lxc start astra
$ lxc exec astra bash
3. LXD Containers run in unprivileged-mode (default) with uid/gid 100000:100000
$ nano changeuid.sh
#!/bin/bash
####################################################
# This Skript changed all uids & gids in the path of
# '$1' to BASE_UID + uid & BASE_GID + gid
#
# License: GPLv3 or higher
####################################################
###
# You might need to change these:
BASE_UID=100000
BASE_GID=100000
###
# Params & Usage
DIR=$1
if [ -z "$DIR" ] ; then
echo "Usage: $0 <Directory>"
exit 1
fi
IFS=$'\n'
echo "Starting chown on $DIR... this might take a while..."
for line in $(find $DIR -exec stat -c '%n:%u:%g' {} \;) ; do
# Split line into variables
file=$(echo $line | cut -f1 -d:)
old_owner=$(echo $line | cut -f2 -d:)
old_group=$(echo $line | cut -f3 -d:)
# Skip if something went wrong
[ -z "$file" -o -z "$old_owner" -o -z "$old_group" ] && continue
# Calculate new uids/gids
new_owner=$old_owner
new_group=$old_group
if [ $old_owner -lt $BASE_UID ] ; then
new_owner=$(($BASE_UID + $old_owner))
fi
if [ $old_group -lt $BASE_GID ] ; then
new_group=$(($BASE_GID + $old_group))
fi
# Set new owner/group if it has to be changed
if [ $new_owner -ne $old_owner -o $new_group -ne $old_group ] ; then
echo "Changing: $file from $old_owner:$old_group to $new_owner:$new_group"
chown $new_owner:$new_group "$file"
fi
done
echo "DONE!"
exit 0
Сохранить.
На хосте lxd:
$ lxc stop astra
$ sudo sh changeuid.sh /var/lib/lxd/containers/astra/rootfs/
$ lxc config set astra security.privileged false
$ lxc start astra
$ sudo -i
root@u1804:~# cd /var/lib/lxd/containers/astra/rootfs/
root@u1804:/var/lib/lxd/containers/astra/rootfs# ls -n
итого 92
drwxr-xr-x 2 100000 100000 4096 мая 25 2019 bin
drwxr-xr-x 3 100000 100000 4096 мая 25 2019 boot
drwxr-xr-x 2 100000 100000 4096 ноя 28 08:30 dev
=========================================
Установка
$ sudo apt install fly-data fly-wm
How to move/migrate LXD VM to another host on Linux
Rsync an LXC container
Commands required to integrate rsync'ed LXD container from another machine #2588
Migrate LXC container to LXD (with ZFS storage)
Перенос виртуальной машины qemu-kvm в lxc-контейнер
Настройка LXD
LXD Containers run in unprivileged-mode (default) with uid/gid 100000:100000
Перенос непривилегированного контейнера LXC между пользователями
1. Вариант переноса с примонтированием диска
На orel ce установленной в virtualbox
#$ sudo apt install acl
$ sudo -i
# cd /
# getfacl -R / > acl.save
# poweroff
Остановить.
Действия на хосте с lxd (на virtualbox)
Остановить orel ce (который хотим перенести)
средствами virtualbox клонировать диск,
средствами virtualbox переместить диск в папку с lxd,
средствами virtualbox подключить клонировонанный диск к системе с lxd
Запустить систему с lxd
Примонтировать диск
$ sudo mount /dev/sdb1 /mnt/
$ ls /mnt/
$ lxc launch images:debian/9 astra
$ lxc config set astra security.privileged true
$ lxc stop astra
Удалить файловую систему контейнера:
$ sudo rm -rf /var/lib/lxd/containers/astra/rootfs/*
$ sudo -i
Примонтировать файловую систему переносимого orel ce (уже сделано)
## sudo mount /dev/sdb1 /mnt/
# cd /mnt
Скопировать файловую систему в контейнер
# cp -R * /var/lib/lxd/containers/astra/rootfs/
# exit
$ lxc start astra
$ lxc list
$ lxc exec astra /bin/bash
Внутри контейнера восстановить права
# cd /
# setfacl --restore=acl.save
# systemctl restart xrdp
# exit
Перезапустить контейнер
$ lxc restart astra
В контейнере :
$ sudo systemctl restart xrdp
На хосте
$ lxc stop astra
$ lxc snapshot astra backup
$ lxc publish astra/backup --alias astra-backup
Контейнер публикуется с отпечатком: c2b5360fc86b134ae70c912300a4ce72831ae394aa411ded13f3475b5b0a3972
$ lxc image export astra-backup astra_2019_11_27
Восстановление на другом компьютере:
$ lxc image import astra_2019_11_27.tar.gz --alias astra-backup
Образ, импортирован с снимком: c2b5360fc86b134ae70c912300a4ce72831ae394aa411ded13f3475b5b0a3972
$ lxc launch astra-backup astra
$ lxc config set astra security.privileged true
$ lxc restart astra
2. Вариант переноса с rsync (можно на физической машине)
Создаем новый контейнер:
$ lxc launch images:debian/9 ast
$ lxc config set ast security.privileged true
$ lxc restart ast
$ lxc exec ast bash
# passwd
# apt install nano mc rsync ssh
# nano /etc/ssh/sshd_config
PermitRootLogin yes
# service ssh reload
# exit
$ lxc list
| ast | RUNNING | 192.168.0.244 (eth0) | | PERSISTENT | 0 |
На компе с орлом:
# rsync -ayz -e ssh --exclude=/proc --exclude=/sys --exclude=/dev / root@192.168.0.244:/ --progress --stats
$ lxc copy ast astra
$ lxc start astra
$ lxc exec astra bash
3. LXD Containers run in unprivileged-mode (default) with uid/gid 100000:100000
$ nano changeuid.sh
#!/bin/bash
####################################################
# This Skript changed all uids & gids in the path of
# '$1' to BASE_UID + uid & BASE_GID + gid
#
# License: GPLv3 or higher
####################################################
###
# You might need to change these:
BASE_UID=100000
BASE_GID=100000
###
# Params & Usage
DIR=$1
if [ -z "$DIR" ] ; then
echo "Usage: $0 <Directory>"
exit 1
fi
IFS=$'\n'
echo "Starting chown on $DIR... this might take a while..."
for line in $(find $DIR -exec stat -c '%n:%u:%g' {} \;) ; do
# Split line into variables
file=$(echo $line | cut -f1 -d:)
old_owner=$(echo $line | cut -f2 -d:)
old_group=$(echo $line | cut -f3 -d:)
# Skip if something went wrong
[ -z "$file" -o -z "$old_owner" -o -z "$old_group" ] && continue
# Calculate new uids/gids
new_owner=$old_owner
new_group=$old_group
if [ $old_owner -lt $BASE_UID ] ; then
new_owner=$(($BASE_UID + $old_owner))
fi
if [ $old_group -lt $BASE_GID ] ; then
new_group=$(($BASE_GID + $old_group))
fi
# Set new owner/group if it has to be changed
if [ $new_owner -ne $old_owner -o $new_group -ne $old_group ] ; then
echo "Changing: $file from $old_owner:$old_group to $new_owner:$new_group"
chown $new_owner:$new_group "$file"
fi
done
echo "DONE!"
exit 0
Сохранить.
На хосте lxd:
$ lxc stop astra
$ sudo sh changeuid.sh /var/lib/lxd/containers/astra/rootfs/
$ lxc config set astra security.privileged false
$ lxc start astra
$ sudo -i
root@u1804:~# cd /var/lib/lxd/containers/astra/rootfs/
root@u1804:/var/lib/lxd/containers/astra/rootfs# ls -n
итого 92
drwxr-xr-x 2 100000 100000 4096 мая 25 2019 bin
drwxr-xr-x 3 100000 100000 4096 мая 25 2019 boot
drwxr-xr-x 2 100000 100000 4096 ноя 28 08:30 dev
=========================================
Установка
$ sudo apt install fly-data fly-wm
1С И Linux: Astra Linux Orel Ce Перенос Из Virtualbox В Lxd >>>>> Download Now
ОтветитьУдалить>>>>> Download Full
1С И Linux: Astra Linux Orel Ce Перенос Из Virtualbox В Lxd >>>>> Download LINK
>>>>> Download Now
1С И Linux: Astra Linux Orel Ce Перенос Из Virtualbox В Lxd >>>>> Download Full
>>>>> Download LINK v5