现在再介绍如何在 VERITAS Volume Manager (VxVM) 中对卷执行常见的维护任务。这包括显示卷信息、监视任务、添加和删除日志、重定卷大小、删除镜像、删除卷、使用镜像和快照备份卷,以及在不使卷脱机的情况下更改卷布局。
大多数 VxVM 命令需要超级用户或与之相当的权限。
可以使用vxprint命令显示有关如何配置卷的信息。
若要显示系统中所有卷的卷信息、plex 信息和子磁盘记录信息,请使用此命令
# vxprint -ht
下面是vxprint命令的一个示例输出
磁盘组:rootdg
此处内容省略
若要显示特定卷的与卷相关的信息请使用此命令
# vxprint -t volume
例如,若要显示有关voldef卷的信息请使用此命令
# vxprint -t voldef
下面是此命令的示例输出:
磁盘组:rootdg
V NAME USETYPE KSTATE STATE LENGTH READPOL PREFPLEX
v voldef fsgen ENABLED ACTIVE 20480 SELECT
如果您启用了基于磁盘阵列的命名方案,并使用 vxprint 命令显示某个卷的结构则
会显示基于磁盘阵列的磁盘设备名(磁盘存取名),而不是c#t#d#s# 名称。
显示卷状态
VxVM 命令(如vxprint)可能显示下列卷状态:
ACTIVE卷状态
卷已经启动(当前的内核状态是 ENABLED)或在机器重新启动时为使用中状态(内核状态是 ENABLED)。如果卷状态当前是 ENABLED,则在任何时侯卷的 plex 状态都不确定
(因为正在使用卷)。
如果卷当前是 DISABLED,这意味着无法保证 plex 一致,但当启动卷时可使 plex 一致。对于 RAID-5 卷,如果卷当前是 DISABLED,则无法保证奇偶校验同步。
CLEAN卷状态
卷未启动(内核状态是 DISABLED)并且卷的 plex 已同步。对于 RAID-5 卷,它的 plex 条带是一致的,并且它的奇偶校验良好。
EMPTY卷状态
卷内容没有初始化。当卷是 EMPTY 时,内核状态总是 DISABLED。
NEEDSYNC卷状态
卷下次启动时需要再同步操作。对于 RAID-5 卷,需要进行奇偶校验再同步操作。
REPLAY卷状态
卷处于日志重放中的瞬时状态。当有必要使用记录的奇偶校验和数据时,发生日志重放。此状态仅适用于 RAID-5 卷。
SYNC卷状态
卷处在读取-写回恢复模式(当前的内核状态是 ENABLED)或者在机器重新启动时处在读取-写回模式(内核状态是 DISABLED )。在读取-写回恢复模式下,通过从一个 plex 的块读取数据并将数据写入所有其它可写的 plex 来恢复 plex 的一致性。如果卷是ENABLED,这意味着正通过读取-写回恢复使 plex 再同步。如果卷是 DISABLED,这意味着当机器重新启动时通过读取-写回使 plex 再同步因此仍然需要使 plex 同步。
对于 RAID-5 卷,卷正经受奇偶校验再同步当前的内核状态是 ENABLED)或当机器重新启动时卷正使它的奇偶校验再同步内核状态是 DISABLED)。
卷的永久状态日志在卷启动期间修改这些标志的解释(例如,DIRTY/CLEAN 标志)。如果设置了清除标志则 ACTIVE 卷没有被任何进程写入或者在重新启动时根本没有打开,因此可被看做是 CLEAN 的。在卷被标记为 CLEAN 的任何情况下,总是设置清除标志。
卷内核状态
卷内核状态表明卷的可存取性。卷内核状态允许卷处于脱机 (DISABLED)、维护(DETACHED) 或联机 (ENABLED) 操作模式。
设置这些状态不需要用户干预,它们在内部进行维护。在正常运行的系统上,全部卷都是启用的。
定义了下列卷内核状态:
DETACHED卷内核状态
正对卷进行维护。无法对卷执行读写操作,但接受 plex 设备操作和ioctl函数调用。
DISABLED卷内核状态
卷处于脱机状态,无法存取。
ENABLED卷内核状态
卷处于联机状态,可以对该卷执行读写操作。
监视和控制任务
VxVM 对专用磁盘组支持此功能,但不对集群环境中的可共享磁盘组支持此功能。VxVM 任务监视器通过监视任务的创建、维护和完成,跟踪系统恢复的进度。任务监视器使您可以监视任务进度并修改任务的特性,如暂停和恢复率(例如,减少对系统性能的影响)。
指定任务标记
每个任务都被赋予一个唯一的任务标识符。这是任务的数字标识符,可以指定给vxtask 实用程序以具体标识单个任务。几个 VxVM 实用程序还提供-t选项来指定最长为 16 个字符的字母数字标记。这使您可以通过将多个任务与相同的标记关联来分组这些任务。
下列实用程序允许使用-t选项指定标记
vxassist、vxevac、vxplex、vxreattach、vxrecover、vxresize、vxsd和vxvol
例如,若要执行vxrecover命令并按组跟踪带有任务标记myrecovery的所有结果任务,请使用此命令
# vxrecover -t myrecovery -b disk05
由vxrecover调用的实用程序启动的任何任务还继承它的任务 ID 和任务标记,从而建立父子任务关系。
有关支持任务标记的实用程序的更多信息请参见它们各自的帮助手册。
用vxtask管理
可以使用vxtask命令对在系统上运行的 VxVM 任务的操作进行管理。这些操作包括列出任务、修改任务状态(暂停、恢复、放弃)和修改任务进度的速率。有关如何使用vxtask的详细信息请参考vxtask(1M) 帮助手册。
VxVM 任务表示系统上正在进行的长期操作。每个任务提供有关操作的启动时间、操作的大小和进度,以及操作进度的状态和速率的信息。管理员可以更改任务的状态,对操作的进度进行大致的控制。对于支持任务进度速率的那些操作,可以更改任务进度的速率,对任务进行更精细的控制。
vxtask 操作
vxtask命令支持下列操作:
list
以一行汇总形式列出系统上运行的任务。-l选项以长格式打印任务。-h选项以层次结构格式打印任务,子任务跟在父任务之后。默认情况下,打印系统上运行的全部任务。如果提供了taskid参数,则输出仅限于其taskid或任务标记匹配taskid的那些任务。其余的参数用于筛选任务和限制实际列出的任务。
monitor
随着任务信息的更改,不间断地输出有关任务或任务组的信息。这使您可以跟踪任务的进展情况。指定-l将导致打印长列表。默认情况下,打印一行短列表。除了在任务状态更改时打印任务信息外,当任务完成时也产生输出。当任务完成时,任务状态显示为EXITED。
pause、resume、abort
更改任务状态。pause操作使运行中的任务处于暂停状态,导致任务将操作挂起。resume操作使暂停的任务继续操作。abort操作使指定的任务终止操作。在多数情况下,操作“停止工作”时如同发生 I/O 错误时一样,最大可能地回退目前为止完成的操作。
set
更改任务的可修改参数。目前,仅有一个可修改参数slow[=iodelay],此参数可用于减少复制操作对系统性能的影响。如果指定了slow,则将在这些操作之间引入延迟iodelay 的默认值为 250 毫秒。指定的iodelay 值越大,任务的进度就越慢,任务在给定时间内消耗的系统资源也就越少。(slow属性也被vxplex、vxvol和vxrecover命令所接受。)
vxtask 用法
若要列出当前在系统上运行的全部任务,请使用此命令
# vxtask list
若要以层次结构格式(子任务跟在父任务之后)打印任务,请使用-h选项,如下所示:
# vxtask -h list
若要跟踪磁盘组foodg中当前暂停的全部任务,以及带sysstart标记的任何任务,请使用此命令
# vxtask -G foodg -p -i sysstart list
使用vxtask -p list命令列出全部暂停的任务,使用vxtaskresume继续执行(任务可由其 ID 或其标记指定):
# vxtask -p list
# vxtask resume 167
若要监视带myoperation标记的全部任务,请使用此命令
# vxtask monitor myoperation
若要使带recovall标记的全部任务退出,请使用此命令
# vxtask abort recovall
此命令使 VxVM 尝试回退目前为止的操作进度。
停止卷
停止卷将使其对用户不可用,并且将卷状态从 ENABLED 或 DETACHED 更改为DISABLED。如果无法禁用卷则卷将保持当前状态。若要停止卷,请使用此命令
# vxvol stop volume ..
例如,若要停止名为vol01的卷请使用此命令
# vxvol stop vol01
若要停止全部 ENABLED 卷,请使用此命令
# vxvol stopall
若要停止指定磁盘组中的全部 ENABLED 卷,请使用此命令
# vxvol -g diskgroup stopall
将卷至于维护状态
如果卷的全部镜像变成STALE,可以将卷置于维护模式。然后可以在卷为DETACHED时查看 plex,确定使用哪个 plex 再生其它 plex。若要将卷置于维护模式,请使用此命令
# vxvol maint volume
若要帮助选择再生源 plex,请使用vxprint列出停止的卷和它的 plex。若要使 plex (在此示例中为vol01-02)脱机,请使用此命令
# vxmend off vol01-02
vxmendon命令可以将DISABLED卷的OFFLINEplex 的状态更改为STALE。例如,若要
将名为vol01-02的 plex 置于 STALE 状态,请使用此命令
# vxmend on vol01-02
启动卷
启动卷将使其可用,并将卷状态从 DISABLED 或 DETACHED 更改为 ENABLED。若要启动 DISABLED 或 DETACHED 卷,请使用此命令
# vxvol -g diskgroup start volume ...
如果无法启用卷则卷将保持当前状态。要在磁盘组中启动所有的 DISABLED 或 DETACHED 卷,可输入
# vxvol -g diskgroup startall
另一种启动 DISABLED 卷的方法是使用此命令
# vxrecover -g diskgroup -s volume ...
若要启动全部 DISABLED 卷,请输入
# vxrecover -s
若要防止对卷执行任何恢复操作请为vxrecover另外指定-n选项。
将镜像添加到卷
可以使用vxassist命令将镜像添加到现有卷,如下所示
# vxassist [-g diskgroup] mirror volume
例如,若要创建卷voltest的镜像,请使用此命令
# vxassist mirror voltest
另一种镜像一个现有卷的方法是使用下列命令先创建一个 plex,然后将其挂接到一个卷上:
# vxmake plex plex sd=subdisk ...
# vxplex att volume plex
要将磁盘组中所有的卷镜像到可用的磁盘空间,可使用以下命令
# /etc/vx/bin/vxmirror -g diskgroup -a
若要配置 VxVM 在默认情况下创建镜像卷请使用此命令
# /etc/vx/bin/vxmirror -d yes
如果做了此更改,仍可以通过将nmirror=1指定为vxassist命令的属性来生成非镜像卷。例如,若要创建一个名为nomirror的非镜像卷,其大小为 20 吉字节,请使用此命令
# vxassist make nomirror 20g nmirror=
镜像 VM 磁盘上的卷使您得以在另一磁盘位置上有这些卷的一个或多个拷贝。通过创建卷的镜像拷贝,可以防止系统在磁盘发生故障时丢失数据。可以在根磁盘上使用该任务,以便在可选磁盘上可得到引导信息的另一个拷贝。这样,即使根磁盘已损坏,也可以引导系统。
该任务只镜像连续卷。已镜像的卷或者包含驻留在多个磁盘上的子磁盘的卷将被忽略。
若要镜像一个磁盘上的卷,请确保目标磁盘具有的空间与源磁盘相同或比源磁盘多,然后执行下列操作:
1. 从vxdiskadm主菜单中选择菜单项6(镜像磁盘上的卷)。
删除镜像
若不再需要某镜像,可以将其删除以释放磁盘空间。
不能删除与卷关联的最后一个有效 plex。
若要从卷删除某镜像请使用此命令
# vxassist remove mirror volume
另外,可以使用存储属性指定要删除的存储设备。例如,若要从卷 vol01 删除磁盘disk01上的镜像请输入
# vxassist remove mirror vol01 !disk01
还可以使用下面的命令从卷中分离并删除镜像:
# vxplex -o rm dis plex
例如,若要分离并删除一个名为vol01-02的镜像,请使用此命令
# vxplex -o rm dis vol01-02
此命令删除镜像vol01-02和所有关联的子磁盘。这等效于输入下列单独的命令
# vxplex dis vol01-02
# vxedit -r rm vol01-02
添加 DCO 和 DCO 日志卷
为使保留式快速再同步对卷产生效果,必须先将数据更改对象 (DCO) 和 DCO 日志卷与该卷关联。
可能需要附加许可证才能使用保留式快速再同步功能。即使没有许可证,也可以配置 DCO 对象和 DCO 日志卷,以使快照对象与原始卷和快照卷相关联。要将 DCO 对象和 DCO 日志卷添加到现有卷(现有卷可能已经启用了脏区日志 (DRL))请使用下列过程:
1. 确保包含现有卷的磁盘组已经升级到至少 90 版。使用下面的命令检查磁盘组的版本:
# vxdg list diskgroup
若要将磁盘组升级为最新版本,请使用如下命令
# vxdg upgrade diskgroup
2. 如果原始卷上当前启用了非保留式快速再同步请使用下面的命令将其关闭
# vxvol [-g diskgroup] set fastresync=off volume
如果不能确定是哪个卷启用了非保留式快速再同步,请使用下面的命令获得这些卷的
列表
# vxprint [-g diskgroup] -F "%name" -e “v_fastresync=on && !v_hasdcolog”
3. 使用下面的命令将 DCO 和 DCO 日志卷添加到现有卷:
# vxassist [-g diskgroup[ addlog volume logtype=dco [ndcolog=number] [dcologlen=size]
镜像 DCO 日志卷中的默认 plex 数为 2。可以使用ndcolog属性指定不同的number。建议配置的 DCO plex 数与卷中的现有数据和快照 plex 数相同。例如,当将 DCO 添加到 3 路镜像卷时,指定ndcolog=3。
每个 plex 的默认大小为 132 个块。可以使用dcologlen属性指定不同的size。如果指定,则 plex 大小必须是 33 个块的整数倍,范围从 33 到 2112 个块,最多为 2112 个块。
例如,若要将 plex 大小为 264 个块的 DCO 对象和 DCO 日志卷添加到卷myvol,请
使用此命令
# vxassist addlog myvol logtype=dco dcologlen=264
将 DCO 对象和 DCO 日志卷添加到卷之后,可以在该卷上启用保留式快速再同步。不能将 DCO 对象和 DCO 日志卷添加到打开的卷。
若要查看与卷关联的 DCO 对象和 DCO 日志卷的详细信息请使用vxprint命令。下面是名为zoo的卷的vxprint输出示例为清楚起见省略了 TUTIL0 和 PUTIL0 列)
此处内容省略
有关更多信息请参见vxassist(1M) 帮助手册。
删除 DCO 和 DCO 日志卷
若要将 DCO 对象、DCO 日志卷和任何 snap 对象与卷分离,请使用此命令
# vxassist [-g diskgroup] remove log volume logtype=dco
这将完全删除 DCO 对象、DCO 日志卷和任何 snap 对象。还具有关闭卷的快速再同步的效果。
另外,可以使用vxdco命令达到同样的效果
# vxdco [-g diskgroup] [-o rm] dis dco_obj
卷的 DCO 对象的默认名称dco_obj 通常是通过将字符串_dco追加到父卷的名称来构成的。若要查找关联 DCO 对象的名称请对卷使用vxprint命令。
若要从mydg 磁盘组的卷myvol 中分离但不删除 DCO 对象、DCO 日志卷和任何 snap 对象,请使用此命令
# vxdco -g mydg dis myvol_dco
这类命令将 DCO 对象从卷中分离,但并不破坏 DCO 对象或 DCO 日志卷。如果指定了-o
rm选项,还将删除 DCO 对象、DCO 日志卷及其 plex 和任何 snap 对象。
有关更多信息请参见vxassist(1M) 和vxdco(1M) 帮助手册。
阅读(749) | 评论(0) | 转发(0) |