how to replay a snapshot (btrfs) ?
Lentes, Bernd
bernd.lentes at helmholtz-muenchen.de
Tue Jul 26 19:15:32 UTC 2016
----- Am 26. Jul 2016 um 20:40 schrieb Bernd Lentes bernd.lentes at helmholtz-muenchen.de:
> ----- Am 26. Jul 2016 um 20:19 schrieb Bernd Lentes
> bernd.lentes at helmholtz-muenchen.de:
>
>> ----- Am 26. Jul 2016 um 17:59 schrieb Rashkae ubuntu at tigershaunt.com:
>>
>>> On 16-07-26 08:55 AM, Lentes, Bernd wrote:
>>>> Hi,
>>>>
>>>> sorry for asking this simple question. But i'm new to btrfs. And all the guides
>>>> i found in the internet are different and none of them succeeded.
>>>> I made a snapshot form my / , did some changes in the configurtaion (which
>>>> weren't successfull), now i want to get back to the snapshot.
>>>>
>>>> This is my system:
>>>>
>>>> root at PC65472:~# btrfs sub list -ap /
>>>> ID 257 gen 38915 parent 5 top level 5 path <FS_TREE>/@
>>>> ID 258 gen 38903 parent 5 top level 5 path <FS_TREE>/@home
>>>> ID 285 gen 38828 parent 257 top level 257 path @/snapshots/root_190720162124
>>>>
>>>> ID 285 is my snapshot.
>>>>
>>>> root at PC65472:~# btrfs sub get-default /
>>>> ID 285 gen 38828 top level 257 path snapshots/root_190720162124
>>>>
>>>> I changed the snapshot to the default but i still have the configuration changes
>>>> i'd like to loose.
>>>> Also after a restart still no replay of the snapshot.
>>>>
>>>
>>> I suggest not changing the default subvolume... That way lies madness
>>>
>>> In the typical Ubuntu install, the default top level subvolume (5) is
>>> the default, and subvolume "@" is mounted as root. (This is configured
>>> in the Grub kernel parameters as well at /etc/fstab
>>>
>>> Your situation is a bit complicacated because you have your snapshots
>>> folder/subvolume as a subfolder of @. This is how snapper program
>>> handles it by default, but unless your scripts need to be setup that
>>> way, I would change it, for your own convienience. (If you were using
>>> snapper, you would also use snapper to roll back changes. I'm not
>>> covering that in this message, however.
>>
>> I didn't use snaper.
>>
>>>
>>> You can do this by booting to a live CD, but I've successfully done this
>>> on my live system as well, (ie, I changed root while booted to the
>>> system, rebooted, and was successfully rolled back. If your doing this
>>> live, you'll want to make sure your not running anything that needs to
>>> preserve it's running state. To this right, you would usually boot into
>>> some kind of single user mode. But I can be recklessly wild when I know
>>> what my desktop is doing/not doing.
>>>
>>
>> I tried "systemctl rescue". But i couldn't login afterwards, after typing "root"
>> system said "system is going down".
>> Tried several times.
>> I booted a live cd.
>>
>>> If your default subvolume is still 285, make sure to change it back to
>>> 5. I think there might be booting problems if you change the default
>>> subvolume.
>>>
>>
>> IIRC correctly default was ID 257 so i set default to 257 and rebooted without
>> any problem.
>>
>>> 1. Mount the device that contains your snapshots. ex: mkdir /mnt/device
>>> mount /dev/sda1 /mnt/device
>>
>> mount /dev/vg1/lv_root /mnt/root
>>
>>> ls /mnt/device should show sow a @ and @home directories.
>>
>> yes
>>
>>> 2. optional: move your snapshot folder out of the root. mv
>>> /mnt/device/@/snapshots /mnt/device/
>>
>> didn't
>>
>>> 3. rename your old root: mv @ delete_me
>>
>>
>> mv /mnt/root/ /mnt/root/old
>>
>>> 4. create a new snapshot of your snapshot for use.
>>> btrfs subvolume snapshot /mnt/device/snapshots/root_190720162124
>>> /mnt/device/@
>>>
>>
>> btrfs sub snapshot /mnt/root/snapshots/root_190720162124 /mnt/root/@
>>
>> suceeded.
>>
>>> Reboot
>>
>>> You should now be rolled back.
>>
>> No. Ran into busybox.
>>
>> Rebooted again with a live cd.
>>
>> mount /dev/vg1/lv_root /mnt/root
>>
>> root at ubuntu:~# ll /mnt/root/
>> insgesamt 0
>> drwxr-xr-x 1 root root 8 Jul 26 17:35 ./
>> drwxr-xr-x 1 root root 60 Jul 26 17:57 ../
>> drwxr-xr-x 1 root root 244 Jul 19 20:19 @/
>> drwxr-xr-x 1 root root 322 Jul 26 11:53 old/
>>
>> root at ubuntu:~# ll /mnt/root/@
>> insgesamt 16
>> drwxr-xr-x 1 root root 244 Jul 19 20:19 ./
>> drwxr-xr-x 1 root root 8 Jul 26 17:35 ../
>> drwxr-xr-x 1 root root 2558 Jul 19 11:48 bin/
>> drwxrwxr-x 1 root root 0 Jun 8 15:19 boot/
>> drwxrwxr-x 1 root root 0 Jun 8 15:25 cdrom/
>> drwxr-xr-x 1 root root 894 Apr 20 22:15 dev/
>> drwxr-xr-x 1 root root 4636 Jul 19 19:28 etc/
>> drwxrwxr-x 1 root root 0 Jun 8 15:19 home/
>> lrwxrwxrwx 1 root root 32 Jul 15 11:26 initrd.img ->
>> boot/initrd.img-4.4.0-31-generic
>> lrwxrwxrwx 1 root root 32 Jun 28 01:18 initrd.img.old ->
>> boot/initrd.img-4.4.0-28-generic
>> drwxr-xr-x 1 root root 464 Jul 19 19:27 lib/
>> drwxr-xr-x 1 root root 40 Apr 20 22:07 lib64/
>> drwxr-xr-x 1 root root 0 Apr 20 22:07 media/
>> drwxr-xr-x 1 root root 10 Jul 19 11:46 mnt/
>> drwxr-xr-x 1 root root 28 Jun 24 13:59 opt/
>> drwxr-xr-x 1 root root 0 Apr 12 20:14 proc/
>> drwx------ 1 root root 434 Jul 19 19:24 root/
>> drwxr-xr-x 1 root root 252 Apr 20 22:17 run/
>> drwxr-xr-x 1 root root 4288 Jul 19 19:27 sbin/
>> drwxr-xr-x 1 root root 0 Jul 19 20:19 snapshots/
>> drwxr-xr-x 1 root root 0 Apr 20 22:07 srv/
>> ...
>>
>> That's the root i need.
>>
>> root at ubuntu:~# btrfs sub list /mnt/root/
>> ID 257 gen 39220 top level 5 path @
>> ID 258 gen 38903 top level 5 path @home
>> ID 285 gen 39218 top level 257 path old/snapshots/root_190720162124
>> ID 300 gen 39218 top level 257 path @
>> Two subvolumes @ ? Can i delete ID 257 ?
>>
>> root at ubuntu:~# mv /mnt/root/@/* /mnt/root/
>> root at ubuntu:~# ll /mnt/root/
>> insgesamt 16
>> drwxr-xr-x 1 root root 252 Jul 26 18:12 ./
>> drwxr-xr-x 1 root root 60 Jul 26 17:57 ../
>> drwxr-xr-x 1 root root 0 Jul 26 18:12 @/
>> drwxr-xr-x 1 root root 2558 Jul 19 11:48 bin/
>> drwxrwxr-x 1 root root 0 Jun 8 15:19 boot/
>> drwxrwxr-x 1 root root 0 Jun 8 15:25 cdrom/
>> drwxr-xr-x 1 root root 894 Apr 20 22:15 dev/
>> drwxr-xr-x 1 root root 4636 Jul 19 19:28 etc/
>> drwxrwxr-x 1 root root 0 Jun 8 15:19 home/
>> lrwxrwxrwx 1 root root 32 Jul 15 11:26 initrd.img ->
>> boot/initrd.img-4.4.0-31-generic
>> lrwxrwxrwx 1 root root 32 Jun 28 01:18 initrd.img.old ->
>> boot/initrd.img-4.4.0-28-generic
>> drwxr-xr-x 1 root root 464 Jul 19 19:27 lib/
>> drwxr-xr-x 1 root root 40 Apr 20 22:07 lib64/
>> drwxr-xr-x 1 root root 0 Apr 20 22:07 media/
>> drwxr-xr-x 1 root root 10 Jul 19 11:46 mnt/
>> ...
>>
>> That looks good.
>>
>> root at ubuntu:~# rm -rfv /mnt/root/@
>> rm: das Entfernen von '/mnt/root/@' ist nicht möglich: Vorgang nicht zulässig
>>
>> Live cd is Ubuntu 16.04 desktop and i choose german. Message means "operation
>> not permitted".
>> Because a subvolume is mounted there ? I will leave @
>>
>> I will reboot now again and keep you informed.
>>
>
> I booted into the desired system which is fine. The system itself is not running
> fine, but that's someting else.
>
> But how can i have tow "@"-subvolumes ?
>
> root at PC65472:~# btrfs sub list /
> ID 257 gen 39247 top level 5 path @
> ID 258 gen 38903 top level 5 path @home
> ID 285 gen 39218 top level 257 path old/snapshots/root_190720162124
> ID 300 gen 39222 top level 257 path @
>
> Btw: is there a way to create e.g. a subvolume for /var/log/ AFTER a successfull
> installation ?
>
I'm not sure if i am really on my snapshot. Some files i created are missing, which
would confirm that it is the snapshot.
But that irritates me:
root at PC65472:~# btrfs sub list -ap /
ID 257 gen 39373 parent 5 top level 5 path <FS_TREE>/@
ID 258 gen 38903 parent 5 top level 5 path <FS_TREE>/@home
ID 285 gen 39218 parent 257 top level 257 path @/old/snapshots/root_190720162124
ID 300 gen 39222 parent 257 top level 257 path @/@
root at PC65472:~# btrfs sub list /
ID 257 gen 39373 top level 5 path @
ID 258 gen 38903 top level 5 path @home
ID 285 gen 39218 top level 257 path old/snapshots/root_190720162124
ID 300 gen 39222 top level 257 path @
root at PC65472:~# mount|grep -i btrfs
/dev/mapper/vg1-lv_root on / type btrfs (rw,relatime,ssd,space_cache,subvolid=257,subvol=/@)
/dev/mapper/vg1-lv_root on /home type btrfs (rw,relatime,ssd,space_cache,subvolid=258,subvol=/@home)
ID 257 ? That's my old /, not the snapshot.
Bernd
Helmholtz Zentrum Muenchen
Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH)
Ingolstaedter Landstr. 1
85764 Neuherberg
www.helmholtz-muenchen.de
Aufsichtsratsvorsitzende: MinDir'in Baerbel Brumme-Bothe
Geschaeftsfuehrer: Prof. Dr. Guenther Wess, Dr. Alfons Enhsen, Renate Schlusen (komm.)
Registergericht: Amtsgericht Muenchen HRB 6466
USt-IdNr: DE 129521671
More information about the ubuntu-users
mailing list