User Tools

Site Tools


aix:fs_snap

Snapshots on a filesystem AIX

There are 2 ways to create snapshots for a filesystem:

  • Inline (into the filesystem)
  • Into a new LV (logical volume)

A snapshot don't need the same space as intial filesystem. If it's full, then it die.

Here we only explain commands only for snapshot on a separarte LV. Both LV (source and snapshot) must be an the same volume group

List all snapshots on a filesystem:

[root@labotest:/root/]# snapshot -q /TEST
/TEST has no snapshots.

Create a snapshot:

[root@labotest:/root/]# mklv -t jfs2 -y snap_testlv rootvg 1    ==> PPsize=32M
snap_testlv
[root@labotest:/root/]# snapshot -o snapfrom=/TEST /dev/snap_testlv
Snapshot for file system /TEST created on /dev/snap_testlv
[root@labotest:/root/]# snapshot -q /TEST
Snapshots for /TEST
Current  Location          512-blocks        Free Time
*        /dev/snap_testlv       65536       64768 Tue Oct 18 17:45:46 2011

Copy data into the filesystems, the snap free parameter reduce:

[root@labotest:/TEST/]# du -sm /tmp/*
16.87   /tmp/sysload
[root@labotest:/TEST/]# cp -Rhp /tmp/sysload .
[root@labotest:/TEST/]# ll
   4 drwxr-xr-x   10 mysql    system         4096 Jun 15 16:22 mysql
   4 -rw-rw----    1 mysql    209             106 Jun 15 16:46 mysql-bin.000001
   4 -rw-rw----    1 mysql    209             125 Jun 15 16:49 mysql-bin.000002
   4 -rw-rw----    1 mysql    209             329 Jun 15 16:53 mysql-bin.000003
   4 -rw-rw----    1 mysql    209             125 Jun 15 17:49 mysql-bin.000004
   4 -rw-rw----    1 mysql    209             125 Jun 15 18:03 mysql-bin.000005
   4 -rw-rw----    1 mysql    209             125 Jun 22 10:11 mysql-bin.000006
   4 -rw-rw----    1 mysql    209             114 Jun 15 18:04 mysql-bin.index
17252 -rw-r--r--    1 root     system     17664000 Oct 18 17:51 syslo.tar
17252 -rw-r--r--    1 root     system     17664000 Oct 18 17:51 syslo1.tar
51740 -rw-r--r--    1 root     system     52981760 Oct 18 17:52 syslo2.tar
   4 drwxr-xr-x    4 root     system         4096 Oct  6 15:32 sysload
[root@labotest:/root/]# snapshot -q /TEST
Snapshots for /TEST
Current  Location          512-blocks        Free Time
*        /dev/snap_testlv       65536       64512 Tue Oct 18 17:45:46 2011

Mount the snapshot on a mount point /TEST1:

For example to do a consistent backup. It's mount in read-only.
[root@labotest:/root/]# mkdir /TEST1
[root@labotest:/root/]# mount -o snapshot /dev/snap_testlv /TEST1
[root@labotest:/root/]# ll /TEST1
   4 drwxr-xr-x   10 mysql    system         4096 Jun 15 16:22 mysql
   4 -rw-rw----    1 mysql    209             106 Jun 15 16:46 mysql-bin.000001
   4 -rw-rw----    1 mysql    209             125 Jun 15 16:49 mysql-bin.000002
   4 -rw-rw----    1 mysql    209             329 Jun 15 16:53 mysql-bin.000003
   4 -rw-rw----    1 mysql    209             125 Jun 15 17:49 mysql-bin.000004
   4 -rw-rw----    1 mysql    209             125 Jun 15 18:03 mysql-bin.000005
   4 -rw-rw----    1 mysql    209             125 Jun 22 10:11 mysql-bin.000006
   4 -rw-rw----    1 mysql    209             114 Jun 15 18:04 mysql-bin.index

[root@labotest:/root/]# df -g
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/fslv04        9.00      2.16   76%      510     1% /TEST
/dev/snap_testlv      0.03      0.03    4%        -     -  /TEST1

Rollback the filesystem /TEST to his previous state when we take the snap:

[root@labotest:/root/]# umount /TEST1
[root@labotest:/root/]# rollback /TEST /dev/snap_testlv
rollback: File system /TEST must be unmounted to perform command.
[root@labotest:/root/]# umount /TEST
[root@labotest:/root/]# rollback /TEST /dev/snap_testlv
rmlv: Logical volume snap_testlv is removed.
Rollback complete
[root@labotest:/root/]# mount /TEST
[root@labotest:/root/]# ll /TEST
   4 drwxr-xr-x   10 mysql    system         4096 Jun 15 16:22 mysql
   4 -rw-rw----    1 mysql    209             106 Jun 15 16:46 mysql-bin.000001
   4 -rw-rw----    1 mysql    209             125 Jun 15 16:49 mysql-bin.000002
   4 -rw-rw----    1 mysql    209             329 Jun 15 16:53 mysql-bin.000003
   4 -rw-rw----    1 mysql    209             125 Jun 15 17:49 mysql-bin.000004
   4 -rw-rw----    1 mysql    209             125 Jun 15 18:03 mysql-bin.000005
   4 -rw-rw----    1 mysql    209             125 Jun 22 10:11 mysql-bin.000006
   4 -rw-rw----    1 mysql    209             114 Jun 15 18:04 mysql-bin.index

Command to delete a snapshot:

[root@labotest:/root/]# snapshot -d /dev/snap_testlv
rmlv: Logical volume snap_testlv is removed.
aix/fs_snap.txt · Last modified: 2021/01/01 21:21 (external edit)