删除SVM 元设备
如果元设备未打开(即未安装),则可以删除它们:
# metaclear d3
要删除所有元设备(小心使用它,因为它会破坏整个 SVM 配置):
# metaclear -a -f
查看SVM配置和状态
要查看所有元设备的整个 SVM 配置和状态:
# metastat -p
要检查特定设备的配置和状态:
# metastat d3
solaris使用SVM创建不同的raid
Solaris创建 RAID 0(条带和串联)
- 从 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.
- 从 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.
- 创建三个,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
文件默认为空。
该文件仅在管理员发出 metainit 命令时使用。
它是手动配置的。可以通过添加#metastat -p 的输出来填充它。
例如#metastat -p >> /etc/lvm/md.tab。可用于一次性重新创建所有元设备。
最适合用于 SVM 配置的恢复。
例如
# metainit -a (to create all metadevices mentioned in md.tab file) # metainit dxx (create metadevice dxx only)
- 不要在根文件系统上使用它。
/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