1. 建立linked break-off snapshot

 

(1) 建立原卷

#> vxassist -g APS2_AFC_DG make vol1 4096000
#> vxprint -hrt
......
v  vol1         -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG01-02 vol1-01  APS2_AFC_DG01 94371840 4096000 0     AMS_WMS0_0 ENA

(2) 为该卷建立20DCO卷

#> vxsnap -g APS2_AFC_DG prepare vol1
#> vxprint -hrt
......
v  vol1         -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG01-02 vol1-01  APS2_AFC_DG01 94371840 4096000 0     AMS_WMS0_0 ENA
dc vol1_dco     vol1         vol1_dcl   
v  vol1_dcl     -            ENABLED  ACTIVE   560      SELECT    -        gen
pl vol1_dcl-01  vol1_dcl     ENABLED  ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG02-03 vol1_dcl-01 APS2_AFC_DG02 94378736 560 0      AMS_WMS1_0 ENA
原卷建立好以后,可以在原卷上建立文件系统。

(3) 建立用于snapshot的卷及DCO卷

#> vxassist -g APS2_AFC_DG make snapvol 4096000
#> vxsnap -g APS2_AFC_DG prepare snapvol
#> vxprint -hrt
......
v  snapvol      -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl snapvol-01   snapvol      ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG02-04 snapvol-01 APS2_AFC_DG02 94379296 4096000 0   AMS_WMS1_0 ENA
dc snapvol_dco  snapvol      snapvol_dcl
v  snapvol_dcl  -            ENABLED  ACTIVE   560      SELECT    -        gen
pl snapvol_dcl-01 snapvol_dcl ENABLED ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG01-03 snapvol_dcl-01 APS2_AFC_DG01 98467840 560 0   AMS_WMS0_0 ENA
v  vol1         -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG01-02 vol1-01  APS2_AFC_DG01 94371840 4096000 0     AMS_WMS0_0 ENA
dc vol1_dco     vol1         vol1_dcl   
v  vol1_dcl     -            ENABLED  ACTIVE   560      SELECT    -        gen
pl vol1_dcl-01  vol1_dcl     ENABLED  ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG02-03 vol1_dcl-01 APS2_AFC_DG02 94378736 560 0      AMS_WMS1_0 ENA

(4) 将snap卷link到原卷

#> vxsnap -g APS2_AFC_DG -b addmir vol1 mirvol=snapvol
“-b"参数表示让数据同步在后台执行
#> vxsnap -g APS2_AFC_DG snapwait vol1 mirvol=snapvol
Snapshot ready on volume vol1
使用snapwait等待link完成
#> vxprint -hrt
v  snapvol      -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl snapvol-01   snapvol      ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG02-04 snapvol-01 APS2_AFC_DG02 94379296 4096000 0   AMS_WMS1_0 ENA
dc snapvol_dco  snapvol      snapvol_dcl
v  snapvol_dcl  -            ENABLED  ACTIVE   560      SELECT    -        gen
pl snapvol_dcl-01 snapvol_dcl ENABLED ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG01-03 snapvol_dcl-01 APS2_AFC_DG01 98467840 560 0   AMS_WMS0_0 ENA
ln snapvol_ln   snapvol      snapvol_dco
v  vol1         -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG01-02 vol1-01  APS2_AFC_DG01 94371840 4096000 0     AMS_WMS0_0 ENA
dc vol1_dco     vol1         vol1_dcl   
v  vol1_dcl     -            ENABLED  ACTIVE   560      SELECT    -        gen
pl vol1_dcl-01  vol1_dcl     ENABLED  ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG02-03 vol1_dcl-01 APS2_AFC_DG02 94378736 560 0      AMS_WMS1_0 ENA
ln vol1_ln      vol1         vol1_dco
   

(5) 建立linked break-off snapshot

#> vxsnap -g APS2_AFC_DG make source=vol1/snapvol=snapvol
#> vxprint -hrt
v  snapvol      -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl snapvol-01   snapvol      ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG02-04 snapvol-01 APS2_AFC_DG02 94379296 4096000 0   AMS_WMS1_0 ENA
dc snapvol_dco  snapvol      snapvol_dcl
v  snapvol_dcl  -            ENABLED  ACTIVE   560      SELECT    -        gen
pl snapvol_dcl-01 snapvol_dcl ENABLED ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG01-03 snapvol_dcl-01 APS2_AFC_DG01 98467840 560 0   AMS_WMS0_0 ENA
sp vol1_snp     snapvol      snapvol_dco
v  vol1         -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG01-02 vol1-01  APS2_AFC_DG01 94371840 4096000 0     AMS_WMS0_0 ENA
dc vol1_dco     vol1         vol1_dcl   
v  vol1_dcl     -            ENABLED  ACTIVE   560      SELECT    -        gen
pl vol1_dcl-01  vol1_dcl     ENABLED  ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG02-03 vol1_dcl-01 APS2_AFC_DG02 94378736 560 0      AMS_WMS1_0 ENA
sp snapvol_snp  vol1         vol1_dco
#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol   volbrk   vol1       APS2_AFC_DG 2009/08/26 17:26 0 (0%)      1.9G (100%)
"volbrk" 表示该卷是linked break-off snapshot.
此时snapvol卷已经变成了vol1卷的快照,如果原卷上已经建立了文件系统,则现在可以mount snapvol卷,用于
备份或其它操作。
fsck -F vxfs /dev/vx/rdsk/APS2_AFC_DG/snapvol
mount -F vxfs /dev/vx/dsk/APS2_AFC_DG/snapvol  /test

2. snapshot操作

snapshot建立以后,可以进行如下操作:refresh、reattach、dissociate、restore

(1) refresh

在snapshot建立后,可以通过refresh操作来刷新snapshot,以便得到一个新时间点的快照。

#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    volbrk   vol1       APS2_AFC_DG 2009/08/26 17:26 1.6G (83.7%) 1.9G (100%)

快照刷新时间是2009/08/26 17:26,自上次刷新以来原卷有83.7%有内容发生了改变。下面刷新快照:

#> vxsnap -g APS2_AFC_DG refresh snapvol source=vol1
刷新任务自动在后台执行
#> vxtask list
TASKID  PTID TYPE/STATE    PCT   PROGRESS
  5300         SNAPSYNC/R 07.80% 0/4096000/319488 SNAPSYNC snapvol APS2_AFC_DG
后台任务正在进行快照刷新
#> vxsnap -g APS2_AFC_DG syncwait snapvol
使用syncwait等待刷新完成
#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    volbrk   vol1       APS2_AFC_DG 2009/08/27 14:16 0 (0%)      1.9G (100%)
快照的最新刷新时间是2009/08/27 14:16.

(2) reattach

reattach命令是把snapshot再link回原卷,重新恢复snap卷与原卷的link关系。link回原卷后,可以使用snap make命令再建立snapshot.

#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    volbrk   vol1       APS2_AFC_DG 2009/08/27 15:03 1G (55.4%)  1.9G (100%)
volbrk表示snapvol是vol1的linked break-off snapshot
#> vxsnap -g APS2_AFC_DG reattach snapvol source=vol1
#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    mirvol   vol1       APS2_AFC_DG - -             0 (0%)       1.9G (100%)
mirvol表示snapvol卷已经变成vol1的mirror卷了。
#> vxsnap -g APS2_AFC_DG make source=vol1/snapvol=snapvol
#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    volbrk   vol1       APS2_AFC_DG 2009/08/27 15:09 384K (0.0%) 1.9G (100%)
使用make命令又把snapvol从mirror卷变成了linked break-off snapshot

(3) dissociate

dissociate是将snapshot与原卷分离,删除snapshot与原卷的关联. 分离后snapshot和原卷变成两个独立的卷。

#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    volbrk   vol1       APS2_AFC_DG 2009/08/27 15:09 384K (0.0%) 1.9G (100%)
#> vxsnap -g APS2_AFC_DG dis snapvol
#> vxsnap -g APS2_AFC_DG -vx list
无输出,表示已经没有snapshot的关联关系了。
#> vxprint -hrt
......
v  snapvol      -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl snapvol-01   snapvol      ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG02-04 snapvol-01 APS2_AFC_DG02 94379296 4096000 0   AMS_WMS1_0 ENA
dc snapvol_dco  snapvol      snapvol_dcl
v  snapvol_dcl  -            ENABLED  ACTIVE   560      SELECT    -        gen
pl snapvol_dcl-01 snapvol_dcl ENABLED ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG01-03 snapvol_dcl-01 APS2_AFC_DG01 98467840 560 0   AMS_WMS0_0 ENA
v  vol1         -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG01-02 vol1-01  APS2_AFC_DG01 94371840 4096000 0     AMS_WMS0_0 ENA
dc vol1_dco     vol1         vol1_dcl   
v  vol1_dcl     -            ENABLED  ACTIVE   560      SELECT    -        gen
pl vol1_dcl-01  vol1_dcl     ENABLED  ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG02-03 vol1_dcl-01 APS2_AFC_DG02 94378736 560 0      AMS_WMS1_0 ENA
vol1与snapvol变成了单独的卷,二者之间已经没有了任何关联关系。
dissociate后,如果需要做linked break-off snapshot,则需要执行vxsnap addmir和vxsnap make
#> vxsnap -g APS2_AFC_DG -b addmir vol1 mirvol=snapvol
#> vxsnap -g APS2_AFC_DG snapwait vol1 mirvol=snapvol
Snapshot ready on volume vol1
#> vxsnap -g APS2_AFC_DG make source=vol1/snapvol=snapvol
#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    volbrk   vol1       APS2_AFC_DG 2009/08/27 15:29 64K (0.0%)  1.9G (100%)

(4) restore

restore可以把snapshot的内容恢复到原卷中,相当于从备份中恢复. restore时要求原卷与snapshot卷都不能被任何程序打开.

#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    volbrk   vol1       APS2_AFC_DG 2009/08/28 22:41 1013.3M (50.7%) 1.9G (100%)
snapvol与vol1卷中有1013.3M数据是不同的.
#> vxsnap -g APS2_AFC_DG restore vol1 source=snapvol
#> vxtask list
TASKID  PTID TYPE/STATE    PCT   PROGRESS
  5414         SNAPSYNC/R 15.30% 0/4096000/626688 SNAPSYNC vol1 APS2_AFC_DG
执行restore后,任务在后台执行
#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    volbrk   vol1       APS2_AFC_DG 2009/08/28 22:41 192K (0.0%) 1.9G (100%)
restore完成后,原卷与snapshot恢复一致.

3.  删除snapshot

方法一、先dissociate,然后再删除卷
dissociate后,snapshot与原卷分别变成了两个没有任何关联的独立卷,然后用vxassist直接删除snapvol卷即可。
方法二、先reattach,再rmmir,最后删除卷
reattach将snapshot link回原卷,使snapvol卷重新变为原卷的镜像
rmmir删除镜像卷,也就是删除snapvol卷与原卷之间的link关系
vxassist可以删除snapvol卷

#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    volbrk   vol1       APS2_AFC_DG 2009/08/27 15:29 64K (0.0%)  1.9G (100%)
snapvol是vol1的linked break-off snapshot
#> vxsnap -g APS2_AFC_DG reattach snapvol source=vol1
#> vxsnap -g APS2_AFC_DG -vx list
NAME          DG         OBJTYPE SNAPTYPE PARENT     PARENTDG   SNAPDATE         CHANGED_DATA SYNCED_DATA
vol1          APS2_AFC_DG vol    -        -          -          - -              - -          1.9G (100%)
snapvol       APS2_AFC_DG vol    mirvol   vol1       APS2_AFC_DG - -             0 (0%)       1.9G (100%)
reattach后,snapvol变成了vol1的镜像卷
#> vxsnap -g APS2_AFC_DG rmmir vol1 mirvol=snapvol
#> vxsnap -g APS2_AFC_DG -vx list (输出为空)
rmmir删除了镜像卷,vxsnap list显示为空说明snapvol卷与原卷已经没有link关系了.
#> vxprint -hrt
....
v  snapvol      -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl snapvol-01   snapvol      ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG02-04 snapvol-01 APS2_AFC_DG02 94379296 4096000 0   AMS_WMS1_0 ENA
dc snapvol_dco  snapvol      snapvol_dcl
v  snapvol_dcl  -            ENABLED  ACTIVE   560      SELECT    -        gen
pl snapvol_dcl-01 snapvol_dcl ENABLED ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG01-03 snapvol_dcl-01 APS2_AFC_DG01 98467840 560 0   AMS_WMS0_0 ENA
v  vol1         -            ENABLED  ACTIVE   4096000  SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   4096000  CONCAT    -        RW
sd APS2_AFC_DG01-02 vol1-01  APS2_AFC_DG01 94371840 4096000 0     AMS_WMS0_0 ENA
dc vol1_dco     vol1         vol1_dcl   
v  vol1_dcl     -            ENABLED  ACTIVE   560      SELECT    -        gen
pl vol1_dcl-01  vol1_dcl     ENABLED  ACTIVE   560      CONCAT    -        RW
sd APS2_AFC_DG02-03 vol1_dcl-01 APS2_AFC_DG02 94378736 560 0      AMS_WMS1_0 ENA
vxprint命令显示snapvol与vol1已经变成了两个没有关联的独立卷.
此时可以用vxassist remove volume命令删除snapvol卷.

管理linked break-off snapshot的更多相关文章

  1. Flink架构,源码及debug

    序 工作中用Flink做批量和流式处理有段时间了,感觉只看Flink文档是对Flink ProgramRuntime的细节描述不是很多, 程序员还是看代码最简单和有效.所以想写点东西,记录一下,如果能 ...

  2. 理解 Cinder 架构 - 每天5分钟玩转 OpenStack(45)

    从本节开始我们学习 OpenStack 的 Block Storage Service,Cinder 理解 Block Storage 操作系统获得存储空间的方式一般有两种: 通过某种协议(SAS,S ...

  3. Nexus3.0.0+Maven的使用(三)

    这章主要讲怎么和Maven做集成,集成的方式主要分以下种情况:代理中央仓库.Snapshot包的管理.Release包的管理.第三方Jar上传到Nexus上 1  代理中央仓库 只要在PMO文件中配置 ...

  4. Maven私服Nexus3.x环境构建操作记录

    Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...

  5. ASP.net 探针

    <%@ Page Language="JScript" ContentType="text/html" ResponseEncoding="gb ...

  6. 金山卫士开源软件之旅(十) KSafeMainproject的分析 1

    上一次看金山开源到如今已有一两个月了.期间看到QQ群里大家对它非常是热情. 近期有时间想看看金山的主界面projectKSafeMain,自己水平有限,总结的东西浅显.但还是愿意拿来与大家分享.希望对 ...

  7. winform基础——实现简易赈灾物资发放登记系统

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  8. openstack第五章:cinder

    第五篇cinder— 存储服务   一.cinder 介绍:   理解 Block Storage 操作系统获得存储空间的方式一般有两种: 通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接 ...

  9. angular 过滤器(日期转换,时间转换,数据转换等)

    (function() { 'use strict'; /** * myApp Module * * Description */ angular.module('myApp') .filter('i ...

随机推荐

  1. HBase-存储-文件

    文件 HBase使用一个HDFS中可配置的根目录,默认设为“/hbase”.可使用hadoop fs -lsr /hbase查看目录结构,文件可以被分为两类,一类位于HBase根目录下,另一类位于根目 ...

  2. Regular Expression Matching,regex,正则表达式匹配,利用动态规划

    问题描述:Implement regular expression matching with support for '.' and '*'. '.' Matches any single char ...

  3. hdu 5895 Mathematician QSC 指数循环节+矩阵快速幂

    Mathematician QSC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  4. nova conductor

    nova conductor是一个RPC 服务,所有支持的API都在 nova.conductor.rpcapi.ConductorAPI 它是stateless,可以水平扩展. 优点: 安全: 如果 ...

  5. 按键(ESC ,F1,F2等)——wpf的命令处理方法

    WPF窗体的命令绑定   方法一:使用代码 <WpfUI:View.CommandBindings> <CommandBinding Command="Help" ...

  6. Asp.net 检测到有潜在危险的 Request.From值

    因为Asp.net对客户端提交的数据进行了基本的安全验证,检测是否有最基础的 sql注入 或者 xss跨站脚本攻击代码. 如果你提交了:</div><script type=&quo ...

  7. /var/adm/wtmp文件太大该怎么办?

    /var/admin/wtmp文件记录所有用户的登陆信息,随着时间会增长到很大,/var/adm/wtmp文件太大该怎么办呢?先来看看/var/adm/wtmp文件的属性:testterm1:/#ls ...

  8. C#多线程操作

    static void Main(string[] args) { Thread thread = Thread.CurrentThread; thread.Name = "Main Thr ...

  9. New Concept English three (51)

    22 76 Predicting the future is notoriously difficult. Who could have imagined, in the mid 1970s, for ...

  10. 用VMware vSphere搭建虚拟化平台

    核心组件 vSphere是一款可以独立安装和运行在祼机上的系统,因此与其他我们以往见过的VMware Workstation 软件不同的是它不再依存于宿主操作系统之上.在ESXi安装好以后,我们可以通 ...