среда, 27 ноября 2019 г.

Как перенести размещенный сервер за 5 простых шагов с помощью Rsync

Как перенести размещенный сервер за 5 простых шагов с помощью Rsync
Инструкция по переносу установленной системы на другой носитель

1. Установим орла на виртуальную машину без поддержки сети.
2. Подключим сеть:
$ sudo nano /etc/network/interfaces
Добавим:
auto eth0
iface eth0 inet dhcp
Сохранить.
$ sudo reboot
$ sudo apt update
$ sudo apt upgrade
$ sudo reboot
$ sudo apt install rsync xrdp
$ sudo reboot
$ Зайти через консоль виртуальной машины
$ ip a
192.168.1.220
выйти из консоли виртуальной машины.
Зайти по xrdp



Создаем новый контейнер lxd:
$ 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
#reboot
$ lxc list
 | ast     | RUNNING | 192.168.1.248 (eth0) |      | PERSISTENT | 0         |

На компе с орлом (сессия ssh выйти из xrdp):
# rsync -ayz -e  ssh --exclude=/proc --exclude=/sys --exclude=/dev / root@192.168.0.244:/ --progress --stats
# rsync -auHxv –numeric-ids –exclude=/etc/fstab –exclude=/etc/network/* –exclude=/proc/* –exclude=/tmp/* –exclude=/sys/* –exclude=/dev/* –exclude=/mnt/* –exclude=/boot/* –exclude=/root/*  /* root@192.168.1.248:/
$ lxc stop ast
$ lxc copy ast astra
$ lxc start astra
$ lxc list
$ lxc exec astra bash
$ systemctl restart xrdp
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


=========================================
Установка 
$ sudo apt install fly-data fly-wm

Загрузиться на виртуальной машине с live-cd
F12 c

$ sudo add-apt-repository universe
$ sudo apt update
$ sudo apt install mc
подключиться к системе загруженной с флешки по ssh

$ sudo apt install ssh
Зададим пароль для пользователя ubuntu
$ passwd
Смотрим ip для подключения
$ ip a

$ sudo -i
# fdisk -l
Device     Boot      Start        End    Sectors Size Id Type
/dev/sda1  *          2048 4278190079 4278188032   2T 83 Linux
/dev/sdb2       976896 240252927 239276032 114.1G  7 HPFS/NTFS/exFAT

# mount /dev/sda1 /mnt/disk
# mkdir /mnt/arh
# umount /dev/sdb2
# mount /dev/sdb2 /mnt/arh

# mkdir /mnt/disk
# mount /dev/sda1 /mnt/disk
# cd /mnt/disk

# tar --xattrs --acls -czpf /mnt/arh/disk.tar.bz2 --exclude=/mnt/disk/proc --exclude=/mnt/disk/lost+found --exclude=/mnt/disk/mnt --exclude=/mnt/disk/sys --exclude=/mnt/disk/parsecfs .

$  lxc stop ast
$ sudo -i
# rm -rf /var/lib/lxd/containers/ast/rootfs/*
# cd var/lib/lxd/containers/ast/rootfs/
# tar --xattrs --xattrs-include=security.{PDPL,AUDIT,DEF_AUDIT} --acls -xzf /home/user/disk.tar.bz2
## tar --xattrs --xattrs-include=security.{PDPL,AUDIT,DEF_AUDIT} --acls -xzf /home/user/disk.tar.bz2 -С /var/lib/lxd/containers/ast/rootfs
# exit

$ lxc start ast
$ lxc list
192.168.1.248
$ lxc exec ast bash
$ systemctl restart xrdp

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

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