欢迎来到之路教程(on itroad-com)

删除SVM 元设备

如果元设备未打开(即未安装),则可以删除它们:

# metaclear d3

要删除所有元设备(小心使用它,因为它会破坏整个 SVM 配置):

# metaclear -a -f

查看SVM配置和状态

要查看所有元设备的整个 SVM 配置和状态:

# metastat -p

要检查特定设备的配置和状态:

# metastat d3
Solaris Volume Manager (SVM) 命令行参考

solaris使用SVM创建不同的raid

Solaris创建 RAID 0(条带和串联)

  1. 从 3 个磁盘的 S2 分片创建串联:
# metainit d1 3 1 c0t1d0s2 1 c1t1d0s2 1 c2t1d0s2
d1 - the metadevice
3   - the number of components to concatenate together
1   - the number of devices for each component.
  1. 从 3 个磁盘的 S2 分片创建条带:
# metainit d2 1 3 c0t1d0s2 c1t1d0s2 c2t1d0s2 -i 16k
d2      - the  metadevice
1        - the number of components to concatenate
3        - the number of devices in each stripe.
-i 16k - the stripe segment size.
  1. 创建三个,2个磁盘串联并将它们条带化在一起:
# metainit d3 3 2 c0t1d0s2 c1t1d0s2  -i 16k 2 c3t1d0s2 c4t1d0s2  -i 16k 2 c6t1d0s2 c7t1d0s2  -i 16k
d3     - the meatadevice
3       - the number of stripes
2       - the number of disk (slices) in each stripe
-i 16k - the stripe segment size.

Solaris创建 RAID 1 或者镜像

在 SVM 中,镜像是一个 2 步过程,首先创建 2 个子镜像(d11 和 d12)并将它们与镜像 (d10) 相关联。

# metainit -f d11 1 1 c0t3d0s7
# metainit -f d12 1 1 c0t4d0s7
# metainit d10 -m d11
# metattach d10 d12

这里 d10 是要挂载的设备,d11 和 d12 保存数据的 2 个副本。

在镜像根分区的情况下,我们需要执行更多步骤。
有关详细信息,请参阅后 SVM 根封装和镜像 [SPARC]。

Solaris创建RAID 5

要使用 3 个磁盘设置 RAID 5 镜像:

# metainit d1 -r c0t1d0s2 c1t1d0s2 c2t1d0s2 -i 16k

在 RAID 5 镜像末尾连接磁盘:

# metattach d1 c4t3d0s2

要将热备用池 hsp01 添加到 RAID 5 镜像 d1:

# metaparam -h hsp01 d1

Metadb 相关命令

元数据库命令语法:

# metadb -help
usage: metadb [-s setname] -a [options] mddbnnn
metadb [-s setname] -a [options] device ...
metadb [-s setname] -d [options] mddbnnn
metadb [-s setname] -d [options] device ...
metadb [-s setname] -i
metadb -p [options] [ mddb.cf-file ]
options:
-c count number of replicas (for use with -a only)
-f force adding or deleting of replicas
-k filename alternate /etc/system file
-l length specify size of replica (for use with -a only)

在 c0t0d0s7 上创建 3 个副本(-f 仅当我们第一次在切片上创建元数据库时才需要):

# metadb -a -f -c 3 c0t0d0s7

在同一个磁盘片上再创建 2 个副本:

# metadb -a -c 2 c0t1d0s7

要删除副本:

# metadb -d c0t1d0s7

要删除最后一个副本(所有 SVM 配置都将消失):

# metadb -d -f c0t0d0s7

要检查元数据库副本的状态:

# metadb -i
     flags           first blk       block count
     a m  pc luo        16              8192            /dev/dsk/c0t0d0s7
     a    pc luo        16              8192            /dev/dsk/c0t1d0s7
     W    pc l       unknown            8192            /dev/dsk/c0t2d0s7

检查第三个副本的 W 标志或者未知的第一个块。
W 或者 unknown 表示一个失败的副本。

SVM热备用池

创建一个没有磁盘的热备用池:

# metainit hsp01

要将片/磁盘添加到热备用池:

# metahs -a hsp01 c0t1d0s4

请记住按从小到大的顺序添加热备用磁盘/切片。
因此,当需要热备用磁盘时,将从主机备用池中使用最小的有能力的磁盘来替换发生故障的磁盘。

将切片添加到所有热备用池:

# metahs -a all c1t1d0s4

要使热备用池 hsp01 可用于元设备 d1(子镜像或者 RAID 5):

# metaparam -h hsp01 d1

替换热备盘中的磁盘片(c1t1d0s4替换为c2t1d0s4):

# metahs -r hsp001 c1t1d0s4 c2t1d0s4

从所有热备件中删除磁盘片 (c1t1d0s4):

# metahs -d all c1t1d0s4

从主机备用池 hsp01 中删除磁盘片:

# metahs -d hsp01 c1t1d0s4

重新启用以前不可用的热备件:

# metahs -e c1t1d0s4

要删除热备用池:

# metahs -d hsp001

要检查热备用池的状态:

# metahs -i
# metastat

故障排除命令

下面是一些故障排除命令。
在元集上使用命令时使用 -s [metaset] 选项。

# metastat
# metastat -t     (with option -t it will print date/time when the metadevice changed state/status.)
# metastat -p
# metadb -i
# prtvtoc (on relevant devices)
# mount
# iostat -iE
# format

还要检查文件中的任何更改或者错误:

/var/adm/messages
/etc/lvm/md.cf
/etc/lvm/mddb.cf

SVM 磁盘组

在元集上使用的命令语法类似于元设备:

# command -s [setname] options

共享磁盘集中元设备的位置是:

/dev/md/[setname]/{dsk|rdsk}/dn

共享磁盘集内的热备用池命名为:

{setname}/hspnnn

将主机添加到集合:

# metaset -s [setname] -a -h [hostname1] [hostname2]

将磁盘添加到磁盘集(不要指定片):

# metaset -s [setname] -a c2t0d0 c2t1d0 c2t2d0 c2t3d0

与从磁盘集中删除磁盘和主机类似:

# metaset -s [setname] -d c2t3d0
# metaset -s [setname] -d -h [hostname]

要控制磁盘集:

# metaset -s [setname] -t

释放对磁盘集的控制:

# metaset -s [setname] -r

要检查元集的状态:

# metastat -s [diskset]

SVM 配置文件

/etc/lvm/md.tab

  1. 文件默认为空。
    该文件仅在管理员发出 metainit 命令时使用。
    它是手动配置的。

  2. 可以通过添加#metastat -p 的输出来填充它。
    例如#metastat -p >> /etc/lvm/md.tab。

  3. 可用于一次性重新创建所有元设备。
    最适合用于 SVM 配置的恢复。

例如

# metainit -a       (to create all metadevices mentioned in md.tab file)
# metainit dxx      (create metadevice dxx only)
  1. 不要在根文件系统上使用它。

/etc/lvm/mddb.cf

SVM 使用配置文件 /etc/lvm/mddb.cf 来存储状态数据库副本的位置。
不要手动编辑此文件。

/etc/lvm/md.cf

配置文件 /etc/lvm/md.cf 包含为默认(未指定或者本地)磁盘集自动生成的配置信息。

如果系统丢失了状态数据库中维护的信息,此文件还可用于恢复 SVM 配置。

不要手动编辑此文件。

/kernel/drv/md.conf

配置文件 md.conf 包含诸如 nmd(即配置支持的卷(元设备)的数量)等字段。
可以编辑该文件以更改各种此类参数的默认值。

/etc/rcS.d/S35svm.init

RC 脚本在引导时配置和启动 SVM,可用于启动/停止守护进程。

/etc/rc2.d/S95svm.sync

RC 脚本在启动时检查 SVM 配置,必要时启动镜像同步并启动主动监控守护进程 (mdmonitord)。

SVM 扩展元设备

为了增加一个元设备,我们需要将一个切片添加到最后,然后增加底层文件系统:

# metattach d1 c3t1d0s2

如果未安装元设备:

# growfs /dev/md/rdsk/d1

如果安装了元设备:

# growfs -M /export/home /dev/md/rdsk/d1
日期:2020-09-17 00:15:26 来源:oir作者:oir