• Bez kategorii

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?

Może Ci się również spodoba

Dodaj komentarz

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