• Uncategorized

Usuwanie starych i tworzenie nowych snapshotów ZFS

Niedawno pisałem o masowym tworzeniu snapshotów ZFS. Tam robiłem to rekursywnie dla całej puli używając zpool list -H i przekierowując wyjście do zfs snapshot -r. Tym razem zrobimy to inaczej.

Jeśli mamy stare snapshoty to możemy je wyświetlić poleceniem:


# zfs list -t snapshot
NAME                                   USED  AVAIL  REFER  MOUNTPOINT
dappserv@20101130                         0      -  28.0K  -
dappserv@20110107                         0      -  28.0K  -
dappserv/etc@20101130                 61.3K      -   382K  -
dappserv/etc@20110107                     0      -   382K  -
dappserv/var@20101130                  170M      -  2.03G  -
dappserv/var@20110107                 1.07M      -  2.15G  -
...

Opcja -t snapshot powoduje wylistowanie samych snapshotów, więc w pewien sposób zabezpiecza nas przed zrobieniem sobie krzywdy i usunięciem żywego systemu plików. Na początek polecam usuwanie snapshotów właśnie w ten sposób. Usunę teraz snapshoty z 2010 wykorzystując grepa do przefiltrowania:


# for a in `zfs list -t snapshot -H -o name|grep 2010`; do zfs destroy $a; done

No ale to nam tylko zniszczy stare snapshoty, a nie utworzy nowych. Poza tym miał być przecież jednowierszowiec. Do tego lepiej by było najpierw utworzyć nowe, a dopiero później usunąć stare. Ale nic straconego, jeśli snapshoty kończą się tak samo, można zrobić tak:


for a in `zfs list -H -o name -t filesystem`; do
    zfs snapshot $a@20110201 && zfs destroy $a@20110107; 
done

Załatwione, można sprawdzić co z tego wyszło:


# zfs list
NAME                                   USED  AVAIL  REFER  MOUNTPOINT
dappserv                              2.16G  95.5G  28.0K  none
dappserv@20110201                         0      -  28.0K  -
dappserv/etc                           382K  95.5G   382K  /data/etc/appserv
dappserv/etc@20110201                     0      -   382K  -
dappserv/var                          2.16G  95.5G  2.16G  /data/var/appserv
dappserv/var@20110201                     0      -  2.16G  -

Przy okazji: jeśli Wasz system startuje z ZFS, to pewnie zwrócicie uwagę na to, że nie zostały utworzone snapshoty zfsroot/swap i zfsroot/dump, to dlatego, że wybraliśmy tylko filesystemy (-t filesystem), a swap i dump to wolumeny (volume). Ale po co komu snapshot swapa?

Usuwanie starych i tworzenie nowych snapshotów ZFS

Niedawno pisałem o masowym tworzeniu snapshotów ZFS. Tam robiłem to rekursywnie dla całej puli używając zpool list -H i przekierowując wyjście do zfs snapshot -r. Tym razem zrobimy to inaczej.

Jeśli mamy stare snapshoty to możemy je wyświetlić poleceniem:

# zfs list -t snapshot
NAME                                   USED  AVAIL  REFER  MOUNTPOINT
dappserv@20101130                         0      -  28.0K  -
dappserv@20110107                         0      -  28.0K  -
dappserv/etc@20101130                 61.3K      -   382K  -
dappserv/etc@20110107                     0      -   382K  -
dappserv/var@20101130                  170M      -  2.03G  -
dappserv/var@20110107                 1.07M      -  2.15G  -
...

Opcja -t snapshot powoduje wylistowanie samych snapshotów, więc w pewien sposób zabezpiecza nas przed zrobieniem sobie krzywdy i usunięciem żywego systemu plików. Na początek polecam usuwanie snapshotów właśnie w ten sposób. Usunę teraz snapshoty z 2010 wykorzystując grepa do przefiltrowania:

# for a in `zfs list -t snapshot -H -o name|grep 2010`; do zfs destroy $a; done

No ale to nam tylko zniszczy stare snapshoty, a nie utworzy nowych. Poza tym miał być przecież jednowierszowiec. Do tego lepiej by było najpierw utworzyć nowe, a dopiero później usunąć stare. Ale nic straconego, jeśli snapshoty kończą się tak samo, można zrobić tak:

for a in `zfs list -H -o name -t filesystem`; do
    zfs snapshot $a@20110201 && zfs destroy $a@20110107; 
done

Załatwione, można sprawdzić co z tego wyszło:

# zfs list
NAME                                   USED  AVAIL  REFER  MOUNTPOINT
dappserv                              2.16G  95.5G  28.0K  none
dappserv@20110201                         0      -  28.0K  -
dappserv/etc                           382K  95.5G   382K  /data/etc/appserv
dappserv/etc@20110201                     0      -   382K  -
dappserv/var                          2.16G  95.5G  2.16G  /data/var/appserv
dappserv/var@20110201                     0      -  2.16G  -

Przy okazji: jeśli Wasz system startuje z ZFS, to pewnie zwrócicie uwagę na to, że nie zostały utworzone snapshoty zfsroot/swap i zfsroot/dump, to dlatego, że wybraliśmy tylko filesystemy (-t filesystem), a swap i dump to wolumeny (volume). Ale po co komu snapshot swapa?

You may also like...

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.