пятница, 15 ноября 2019 г.

Astra Linux orel ce перенос из virtualbox в lxd

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

1 комментарий:

  1. 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

    ОтветитьУдалить