Как перенести размещенный сервер за 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
Инструкция по переносу установленной системы на другой носитель
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
Комментариев нет:
Отправить комментарий