powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / скопировать файл с виртуальной машиной xen не выключая ее
11 сообщений из 11, страница 1 из 1
скопировать файл с виртуальной машиной xen не выключая ее
    #37562566
Simon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет!

никто не подскажет можно как-нибудь скопировать файл с виртуальной машиной во время ее работы?
т.е. надо сделать самый обычный бэкап
xen, centos
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37562590
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
положить его на lvm и снепшотами бекапить:

lvcreate --size 10G --snapshot --name snap /dev/test
mount -o ro /dev/test/snap /mnt_bckp/snap
cp /mnt_bckp/snap/образ_машины.iso /хранилище_бекапов


или положить виртуалку в .qcow если xen понимает qemu и бекапить qemu-й
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37563214
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денисlvcreate --size 10G --snapshot --name snap /dev/test
mount -o ro /dev/test/snap /mnt_bckp/snap
cp /mnt_bckp/snap/образ_машины.iso /хранилище_бекапов
забыл еще пару шагов в конце:
umount /mnt_bckp/snap
lvremove -f /dev/test/snap
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37563577
Simon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стремные какие-то операции
1. ничего не сломается?
2. точно виртуальную машину тормозить не надо?
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37563628
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Simonстремные какие-то операции
1. ничего не сломается?
2. точно виртуальную машину тормозить не надо?
у меня десятки виртуалок так бекапятся.

cat back-fs.sh
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
#!/bin/sh

# script result
sresult=0

# set io priority of this process to minimum (idle)
ionice -c3 -p$$

# limit io bandwidth to 10 Mbit
lcat="/root/bin/cstream -t -10485760"

echo == mount backup target share ==
mount -t cifs -o user=$smbu $smbs $tdir
rval=$?

if [ "$rval" -eq 0 ] 
then
    echo == rotate backup file $trawdata ==
    trawdata=`/root/backup/rotate.sh $trawdata $bckpcnt`
    rval=$?
    if [ "$rval" -eq 0 ] 
    then
        echo == new backup filename $trawdata ==
        echo == rotate xml metadata file $xmlf ==
        xmlf=`/root/backup/rotate.sh $xmlf $bckpcnt`
        rval=$?
        if [ "$rval" -eq 0 ]
        then
            echo == new xml filename $xmlf ==
	    echo == create lvm snapshot ==
	    /sbin/lvcreate --size 10G --snapshot --name $lvsnap $vgname/$lvb
	    rval=$?

	    if [ "$rval" -eq 0 ]
	    then
		echo == mount snapshot to temp directory ==
		mount -o ro $vgname/$lvsnap $tmpmnt
		rval=$?

		if [ "$rval" -eq 0 ]
		then
		    echo == copy and compress image of virtual host ==
		    $lcat $srawdata |gzip -c > $trawdata
		    rval=$?

		    if [ "$rval" -ne 0 ]
		    then
			echo -- error on copy and compress image of virtual host -- >&2
			sresult=1
		    fi

		else
		    echo -- error on mount snapshot to temp directory -- >&2
		    sresult=1
		fi

		echo == unmount temp directory ==
		umount $tmpmnt
		rval=$?

		if [ "$rval" -ne 0 ]
		then
		    echo -- error on unmount temp directory -- >&2
		    sresult=1
		fi

	    else
		echo -- error on create lvm snapshot -- >&2
		sresult=1
	    fi

	    echo == remove lvm snapshot ==
	    /sbin/lvremove -f $vgname/$lvsnap
	    rval=$?

	    if [ "$rval" -ne 0 ]
	    then
		echo -- error on remove lvm snapshot -- >&2
		sresult=1
	    fi

	    echo == dump virtual host metadata to xmlfile ==
	    virsh dumpxml $vhost > $xmlf
	    rval=$?
	   
	    if [ "$rval" -ne 0 ]
	    then
		echo -- error on dump virtual host metadata to xmlfile -- >&2
		sresult=1
            fi
        else
            sresult=1
        fi  
    else
        sresult=1
    fi

else
  echo -- error on mount backup target share -- >&2
  sresult=1
fi

echo == umount backup target share ==
umount $tdir
rval=$?

if [ "$rval" -ne 0 ]
then
  echo -- error on umount backup target share -- >&2
  sresult=1
fi

exit $sresult


cat start-back-elastix.sh
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
#!/bin/sh

# virtual host name
export vhost=elastix

log=/root/backup/log/back-$vhost-`date +%Y-%m-%d-%H-%M-%S`.log

# backup source file
export srawdata=/mnt_bckp/snap/Elastix162.vmdk

# lvm group name
export vgname=/dev/test-bo-rootfs

# lvm volume name for backup
export lvb=vmimages

# temp lvm volume (snapshot)
export lvsnap=snap

# temp mount point for mount snapshot
export tmpmnt=/mnt_bckp/snap

# samba user
export smbu=win_domen\\username,password=userpassword

# samba server
export smbs=//192.168.x.xxx/virtbackup

# backup target dir
export tdir=/mnt_bckp/ttt

# backup target file
export trawdata=$tdir/$vhost/$vhost.vmdk.gz

# host metadata xmlfile
export xmlf=$tdir/$vhost/$vhost.xml

# count of file to store 
export bckpcnt=4

/root/backup/back-fs.sh >$log 2>&1

rval=$?
if [ "$rval" -ne 0 ]; then
cat $log|mail -s "error on $vhost backup" root
fi
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37563896
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Simon2. точно виртуальную машину тормозить не надо?Надо тормозить. Создание снапшота тоже занимает некоторое время и бекап образа VM может быть неконсистентным.
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37563941
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterSimon2. точно виртуальную машину тормозить не надо?Надо тормозить. Создание снапшота тоже занимает некоторое время и бекап образа VM может быть неконсистентным.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
# lvdisplay /dev/store/backups
  --- Logical volume ---
  LV Name                /dev/store/backups
.....
  LV Write Access        read/write
  LV Status              available
  # open                 1
   LV Size                2.00 TB 
....

# /usr/bin/time -v lvcreate --size 10G --snapshot --name snap /dev/store/backups
  Logical volume "snap" created
        Command being timed: "lvcreate --size 10G --snapshot --name snap /dev/store/backups"
        User time (seconds): 0.01
        System time (seconds): 0.02
        Percent of CPU this job got: 2%
         Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.69 
....
        File system inputs: 424
        File system outputs: 144
1 секунда.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 # lvdisplay /dev/store/testiscsi
....
   LV Size                20.00 GB 
....
# /usr/bin/time -v lvcreate --size 10G --snapshot --name snap /dev/store/testiscsi
..
        User time (seconds): 0.01
        System time (seconds): 0.02
        Percent of CPU this job got: 1%
         Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.85 
...
        File system inputs: 424
        File system outputs: 128
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37563949
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The snapshot command itself hunts down mounted filesystems using the volume being snapshotted and calls a special hook that checkpoints them in a consisten, mountable state and does the snapshot atomically.
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37563964
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
We can continue working with the original device, without changing the data in the snapshot.

COW (Copy-On-Write) - Every time data is written to the original device, the Linux kernel copies the old data to the snapshot's device, and only then updates the original device.

Thus, the first write to a snapshot is translated into a read (from the origin), a write (to the snapshot) and another write (to the origin).

The kernel keeps an on-disk hash-table of the chunks that were copied to the snapshot.

This is used both for reads, and to avoid redundant copies.
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37563979
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис,

В вся штука в том, что для журналируемых файловый систем типа ext3 при монтирование снимка происходит рекавери, чем и обеспечивается консистентность. Но для IO интенсивных программ, типа Оракла, которые обходят ФС все может быть не так радужно при открытии снепшота. Поэтому и рекомендуют (не я:)) приостановить любую IO активность в момент создания снепа. либо средствами виртуализации, либо средствами самого ПО гостевой машины.
Data consistency
...
Рейтинг: 0 / 0
скопировать файл с виртуальной машиной xen не выключая ее
    #37564017
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
журналируемые фс, журналируют по дефолту изменения структуры ф.с., изменения данных не журналируют.

Ну и я бы переживал, о кешировании записи на хосте, но уж точно не об атомарности lvcreate.
Но это и так понятно <driver name='qemu' type='raw' cache='none'/>

Т.е. как вообще можно при lvm, написать что-то мимо lvm? Вот писали, вот поступила команда испльзовать cow, начали писать cow.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / скопировать файл с виртуальной машиной xen не выключая ее
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]