Delxu's Blog

My own IT Tech blog

NetApp snapmirror 用法

【建立Snapmirror关系】

(1) 在源端和目的端都添加snapmirror的license

>license add snapmirror xxxx

(2) 在源端,允许目的端来访问自己,发起同步

>options snapmirror.access host=192.168.2.2      #目的端的IP地址#

(3) 在源端和目的端,都启用snapmirror

>options snapmirror.enable on

以下操作都在目的端完成

(4) 编辑etc/snapmirror.conf 文件。添加需要同步的vol,每项一行。可以用rdfile读,wrfile写。

snapmirror.conf的格式详见后文。

例1:

c3nas06:fv_11gdevOraArch  C3NAS08:fv_11gdevOraArch_new – – – – –

后面的五个减号说明五个参数都用默认值,也就是不做限速,也没有任何时间计划,只做当前一次同步。用于测试或只需要同步一次的场合。

例2:

c3nas06:fv_11gdevOraArch  C3NAS08:fv_11gdevOraArch_new kbps=30000 10,40 10-23 * 1,3

说明从早上10点到晚上11点之间每个小时的10分和40分都做一次同步,只在周一和周三做。

  • 第1个参数表示速度限制,默认为不做限制;
  • 第2个参数表示每小时的几分开始做同步;0-59/10意味着每个小时的0-59分内每隔10分钟发起一次;
  • 第3个参数表示每天的哪些小时做同步,10-12 等同于10,11,12
  • 第4个参数表示每月的哪几天做同步,1-31或*表示每天都要做,-表示只做一次
  • 第5个参数表示每周内的哪几天做同步,数值范围1-7

(5) 创建目的卷,目的卷的大小要大于等于源;并限制目的卷,让目的卷只能同步,不能使用。

>vol restrict vol1

例子

c3nas08> vol create vol1 aggr2 10g
Creation of volume ‘vol1’ with size 10g on containing aggregate ‘aggr2’ has completed.
c3nas08> vol restrict vol1
Volume ‘vol1’ is now restricted.
c3nas08> vol status
Volume State           Status            Options
vol1               restricted        raid-dp,flex

(6)在目的端发起同步

C3NAS08> snapmirror initialize -S c3nas06:fv_11gdevOraArch  C3NAS08:fv_11gdevOraArch_new

(7) 同步到一半,如果要终止,可以用命令>snapmirror abort

(8) 用snapmirror status 观察snapmirror的进度

C3NAS08> snapmirror status
Snapmirror is on.
Source                    Destination                   State          Lag        Status
c3nas06:fv_11gdevOraArch  C3NAS08:fv_11gdevOraArch_new  Uninitialize     –        Transfering…
c3nas06:fv_UATOraArch     C3NAS08:fv_UATOraArch_new     Snapmirrored  06:04:14    Idle

(9) 用sysstat -su 1来观察NAS的性能

【手工的snapmirror更新】

>snapmirror update -S c3nas06:fv_11gdevOraArch  C3NAS08:fv_11gdevOraArch_new

【中断Snapmirror关系】

(1).在目的端运行 snapmirror quiesce destination,用以停止snapmirror同步动作

usage:
snapmirror quiesce  <dstpath>
in which <dstpath> is
<volname> or </vol/volname/qtreename>

例如

C3NAS08> snapmirror quiesce fv_UATOraArch_new

C3NAS08> snapmirror status
Snapmirror is on.
Source                    Destination                   State          Lag        Status
c3nas06:fv_11gdevOraArch  C3NAS08:fv_11gdevOraArch_new  Broken-off     57:05:53   Idle
c3nas06:fv_UATOraArch     C3NAS08:fv_UATOraArch_new     Quiesced       06:04:14   Idle

此时,用vol status 还是会看见mirror dest的这些Volume是read-only和snapmirrored状态

C3NAS08> vol status
Volume      State           Status            Options
vol0        online          raid_dp, flex     root, create_ucode=on
fv_11gdevOraArch_new online          raid_dp, flex     create_ucode=on,
maxdirsize=20971,
fs_size_fixed=on
fv_UATOraArch_new    online          raid_dp, flex     snapmirrored=on, create_ucode=on,
snapmirrored      maxdirsize=20971,
read-only         fs_size_fixed=on

(2). 在目的端运行 snapmirror break destination,用以打断同步关系,并且释放目的卷,使之不再是只读,而是可读写的卷。

snapmirror break 语法和snapmirror quiesce一样

例如

C3NAS08> snapmirror break fv_UATOraArch_new
C3NAS08> snapmirror status
Snapmirror is on.
Source                    Destination                   State          Lag        Status
c3nas06:fv_11gdevOraArch  C3NAS08:fv_11gdevOraArch_new  Broken-off     57:05:53   Idle
c3nas06:fv_UATOraArch     C3NAS08:fv_UATOraArch_new     Broken-off     06:04:14   Idle

(3).在目的端修改/etc/snapmirror.conf,注释掉volume相应的snapmirror关系

(4).在目的端运行 snapmirror off (如果不再有其它任何snapmirror关系)  (可选)

(5).在源端上执行snapmirror release vol1 FILER01B:vol1 (删掉snapmirror产生的snapshot)

例如

c3nas06> snapmirror release fv_UATOraArch  C3NAS08:fv_UATOraArch_new

(6).options snapmirror.access host=”目的端hostname” (不再允许目的端发起mirror复制)  (可选)

(7).在源端上执行 snapmirror off (如果不再有其它任何snapmirror关系) (可选)

【强制中断snapmirror】

在QSM(Qtree SnapMirror)的情况下,小文件多的时候,因为需要扫描对比每个inode,扫描时间特别长,如果此时需要快速中断mirror关系,可以用以下步骤:
(1). snapmirror off
(2). priv set diag
(3). snapmirror break -h <destination path>
(4). priv set

关于强制中断snapmirror的更多信息,参见博文http://saview.wordpress.com/2011/03/07/%E5%BF%AB%E9%80%9F%E6%96%AD%E5%BC%80netapp-snapmirror%E5%85%B3%E7%B3%BB/

留下评论