воскресенье, 10 ноября 2019 г.

Перенос Ubuntu 18.04 desktop из VirtualBox в контейнер lxd

Расширение прав в Linux с помощью Posix ACL
На  Ubuntu 18.04 desktop:
 
$ sudo apt install acl
$ sudo -i
# cd /
# getfacl -R / > acl.save



Действия на хосте с lxd
Остановить Ubuntu 18.04 desktop  (который хотим перенести)
средствами virtualbox клонировать диск,
средствами virtualbox подключить клонировонанный диск к системе с lxd
Запустить систему с lxd
Примонтировать диск
$ sudo mount /dev/sdb1 /mnt/


Создаем контейнер ud1804



$ lxc launch ubuntu:18.04 ud1804
$ lxc config set ud1804 security.privileged true
$ lxc stop ud1804

Удалить файловую систему контейнера:
$ sudo rm -rf /var/lib/lxd/containers/ud1804/rootfs/*
$ sudo -i
Примонтировать файловую систему переносимого Ubuntu 18.04 desktop
# sudo mount /dev/sdb1 /mnt/
# cd /mnt
Скопировать файловую систему в контейнер
# cp -R * /var/lib/lxd/containers/ud1804/rootfs/
# exit
$ lxc start ud1804
$ lxc list

$ lxc exec ud1804 /bin/bash
Внутри контейнера восстановить права
# cd /
# setfacl --restore=acl.save
# exit
Перезапустить контейнер
$ lxc restart ud1804

Зайти по ssh:
Скачать nomachine
$ wget https://download.nomachine.com/download/6.8/Linux/nomachine_6.8.1_1_amd64.deb
$ sudo dpkg -i nomachine_6.8.1_1_amd64.deb

Зайти по nomachine.

Перенос на другой сервер с lxd
$ nano backup_lxd.sh

#!/usr/bin/env bash
set -ex

BACKUP_DIR=~/backup
HOSTS=$(lxc list -c n --format csv)
for HOST in ${HOSTS}

do
    BACKUP_NAME=${HOST}-$(date +"%Y-%m-%d")

    lxc snapshot ${HOST} auto-backup
    lxc publish ${HOST}/auto-backup --alias ${BACKUP_NAME}
    lxc image export ${BACKUP_NAME} ${BACKUP_DIR}/${BACKUP_NAME}.tar.gz
    lxc image delete ${BACKUP_NAME}
    lxc delete ${HOST}/auto-backup
done

Сохранить.

$ sh backup_lxd.sh

+ date +%Y-%m-%d
+ BACKUP_NAME=ud1804-2019-11-10
+ lxc snapshot ud1804 auto-backup
+ lxc publish ud1804/auto-backup --alias ud1804-2019-11-10
Контейнер публикуется с отпечатком: b900ce0db69f0a57afd52af682f8a47229b5ea8fcdfa2a566af2034a6f6766a2
+ lxc image export ud1804-2019-11-10 /home/user/backup/ud1804-2019-11-10.tar.gz
Image exported successfully!
+ lxc image delete ud1804-2019-11-10
+ lxc delete ud1804/auto-backup

Восстановление на другом компьютере:

$ lxc image import ud1804-2019-11-10.tar.gz.tar.gz --alias ud1804-backup
Образ, импортирован с снимком: b900ce0db69f0a57afd52af682f8a47229b5ea8fcdfa2a566af2034a6f6766a2
$ lxc launch ud1804-backup ud1804
#lxc image delete ud1804-backup


$ lxc snapshot test auto-backup
$ lxc publish test/auto-backup --alias test-2019-11-12
Контейнер публикуется с отпечатком: f442e1c60b9c1353f3d665a61e67bb7c13d383fe65af530fbe7f482699233d56
$ lxc image export test-2019-11-12 /home/user/backup/test-2019-11-12.tar.gz

Комментариев нет:

Отправить комментарий