管理linked break-off snapshot
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的更多相关文章
- Flink架构,源码及debug
序 工作中用Flink做批量和流式处理有段时间了,感觉只看Flink文档是对Flink ProgramRuntime的细节描述不是很多, 程序员还是看代码最简单和有效.所以想写点东西,记录一下,如果能 ...
- 理解 Cinder 架构 - 每天5分钟玩转 OpenStack(45)
从本节开始我们学习 OpenStack 的 Block Storage Service,Cinder 理解 Block Storage 操作系统获得存储空间的方式一般有两种: 通过某种协议(SAS,S ...
- Nexus3.0.0+Maven的使用(三)
这章主要讲怎么和Maven做集成,集成的方式主要分以下种情况:代理中央仓库.Snapshot包的管理.Release包的管理.第三方Jar上传到Nexus上 1 代理中央仓库 只要在PMO文件中配置 ...
- Maven私服Nexus3.x环境构建操作记录
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...
- ASP.net 探针
<%@ Page Language="JScript" ContentType="text/html" ResponseEncoding="gb ...
- 金山卫士开源软件之旅(十) KSafeMainproject的分析 1
上一次看金山开源到如今已有一两个月了.期间看到QQ群里大家对它非常是热情. 近期有时间想看看金山的主界面projectKSafeMain,自己水平有限,总结的东西浅显.但还是愿意拿来与大家分享.希望对 ...
- winform基础——实现简易赈灾物资发放登记系统
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- openstack第五章:cinder
第五篇cinder— 存储服务 一.cinder 介绍: 理解 Block Storage 操作系统获得存储空间的方式一般有两种: 通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接 ...
- angular 过滤器(日期转换,时间转换,数据转换等)
(function() { 'use strict'; /** * myApp Module * * Description */ angular.module('myApp') .filter('i ...
随机推荐
- Mac下git安装(使用Xcode)
(不使用Xcode的出门右转百度其他方法:比如直接安装git软件包.) 一.AppStore 最安全途径:搜索下载Xcode,(需要AppleID). 其他:直接百度Xcode下载. 二.Xcode ...
- 子矩阵(暴搜(全排列)+DP)
子矩阵(暴搜(全排列)+DP) 一.题目 子矩阵 时间限制: 1 Sec 内存限制: 128 MB 提交: 1 解决: 1 [提交][状态][讨论版] 题目描述 给出如下定义: 1. 子矩阵:从一 ...
- java开发环境的搭建(JDK的下载安装及环境变量的配置)
首先可以在Sun公司网站 http://java.sun.com 免费下载java se提供的JDK. 下载后再下载的文件夹下打开,双击jdk文件跟着提示进行安装,安装结束后——点击本机电脑的开始—— ...
- LightOJ - 1027 数学期望
题意:有n扇门,每扇门有一个值x,大于0代表x分钟后出去,小于0代表x分钟后回到原地,求出去的时间的期望 题解:假设出去的总时间为sum1,回来的总时间为sum2,出去的门个数为out,进来的门的个数 ...
- 07-THREE.JS 各种形状的几何图形
<!DOCTYPE html> <html> <head> <title>Example 02.04 - Geometries</title> ...
- android根据原图片的路径得到该图片的缩略图
/** * 根据图片的路径得到该图片在表中的ID * @param cr * @param fileName * @return */ public static String getImageIdF ...
- JVM_总结_02_Java技术体系
一.前言 此系列随笔是针对<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>的总结 上一节,我们搭建好了java的开发环境,这一节,我们来看Java的技术体系 二.Java技术体 ...
- Solr单机版安装
感谢 shliuzw 的分享,原文地址http://blog.csdn.net/liuzhenwen/article/details/4060922 感谢 upxiaofeng 的分享,原文地址 ht ...
- Nodejs-RESTFul架构
请求方法 一般会严格要求请求方法及其释义,下面给出常用的请求方法 如果请求头中存在 X-HTTP-Method-Override 或参数中存在 _method(拥有更高权重),且值为 GET, POS ...
- LKDBHelper Sqlite操作数据库
首先这里要说明一下,为什么用FMDB而不用Core Data呢,因为我们不知道Core Data是如何映射对象里面的属性关系的,如果我们更改了属性的话,就会报错 首先是创建LKDBHelper对象 L ...