mysql5.7安装 solairs_SUN SVM 卷管理

Solaris Volume Manager

选择最能满足存储需求的设备主要取决于三个因素:

■性能

■可用性

■成本

使用Solaris VolumeManager有助于管理性能、可用性和成本三者的权衡因素。通常,

使用Solaris VolumeManager可以减少许多权衡因素。

Solaris VolumeManager可以与运行Solaris操作系统的任何系统上的任何受支持存储设

备很好地协作。

Solaris VolumeManager支持以下RAID级别:

■RAID级别0-尽管条带和串联都不提供冗余性,但这些卷通常称为RAID-0。实质

上,数据分布于相对较小且大小相等的分段中,这些分段交替且均匀地分配于多个

物理磁盘中。任何单个驱动器故障都会导致数据丢失。RAID-0提供了较高的数据

传输率和较高的I/O吞吐量,但与单个磁盘相比,可靠性和可用性都比较低。

■RAID级别1-镜像过程使用等量磁盘容量存储数据和一个数据副本(镜像)。数据

在两个或更多物理磁盘上进行复制(即镜像)。可以同时从两个驱动器中读取数

据,这表示每个驱动器都能为任何请求提供服务,从而提供改进的性能。如果一个

物理磁盘出现故障,可以继续使用镜像,从而不会造成性能降低或数据丢失。

Solaris VolumeManager支持RAID-0+1和(透明地)RAID-1+0镜像,这取决于基础

卷。

■RAID级别5-RAID-5使用条带化将数据分布于阵列中的磁盘上。RAID-5还将记录

奇偶校验信息,从而提供一定程度的数据冗余性。RAID-5卷不会因基础设备的故

障而发生故障。如果将RAID-5卷与热备件结合使用,则该卷可以经受多种故障,

而本身不会出现任何故障。若在运行时有设备发生故障,RAID-5卷的性能会明显

降低。

在RAID-5模型中,每个设备都有一个包含奇偶校验条带的区域和其他包含数据的

区域。奇偶校验分布于阵列中的所有磁盘上,可以缩短写入时间。由于不必等到专

门分配的奇偶校验磁盘接受数据后再进行写入,因而缩短了写入时间。

常规性能指南

设计存储配置时,请考虑以下性能指南:

■一般情况下,条带化的性能最佳,但条带化不提供数据冗余性。对于进行大量写入

操作的应用程序,一般情况下,RAID-1卷比RAID-5卷的性能更好。

■RAID-1和RAID-5卷都可以增加数据可用性,但一般情况下,这两种卷的写入操作

性能都比较低。镜像可以提高随机读取性能。

■RAID-5卷比RAID-1卷的硬件成本更低,而RAID-0卷没有其他硬件成本。

■条带和RAID-5卷都将数据分布于多个磁盘驱动器中并且有助于平衡I/O负载。

■确定最常访问的数据,并使用镜像或条带化来增加数据的访问带宽。

■使用可用的性能监视功能和通用工具(如iostat命令)以确定最常访问的数据。确

定最常访问的数据之后,可以使用条带化、RAID-1卷或RAID-5卷来增加此数据的

访问带宽。

■多次更改软分区大小,可能会降低软分区的性能。

■在写操作方面,RAID-5卷比条带的性能更低。此性能降低是由于计算和存储

RAID-5卷奇偶校验所需的多项I/O操作导致的。

■对于原始随机I/O读取,条带和RAID-5卷相当。条带和RAID-5卷都将数据分布在

多个磁盘中。对于RAID-5卷,读取过程中并不进行奇偶校验计算(出现片故障后

除外)。

一、SVM组件概述

使用Solaris VolumeManager创建的五种基本类型的组件为卷、软分区、磁盘集、状态

数据库副本和热备用池。

Raid0、Raid1、Raid5等卷是一组物理片,在系统中显示为单个的逻辑设备。主要用来增加容量、提高性能和可用性。

软分区:是物理片和逻辑卷得细分,提供更小更易于管理的存储单元,用于提高大型存储卷的可管理性。

磁盘集:单独名称空间中的一组共享的磁盘驱动器,其中包含可由多台主机不同时共享的卷和热备件,用于提供数据冗余性和数据可靠性,并提供单独的名称空间以便更易于管理。

状态数据库:包含所有卷、热备件和磁盘集的配置和状态信息的数据库。创建状态数据库副本之前,Solaris VolumeManager无法操作。

热备池:保留的片(热备件)集合。子镜像或RAID-5卷组件出现故障时,系统会使用这些片进行替换。

图1物理磁盘A,B所组成的卷d0

就像物理片一样,卷的逻辑名称也会出现在文件系统中。逻辑卷名在块设备的

/dev/md/dsk目录和原始设备的/dev/md/rdsk目录中具有对应的项:

/dev/md/dsk/d0块卷d0

/dev/md/dsk/d1块卷d1

/dev/md/rdsk/d126原始卷d126

/dev/md/rdsk/d127原始卷d127

卷命名原则

命名卷名称时使用一个统一的标准可以简化管理并使您可以快速识别卷类型,比如

指定raid卷名称的范围,d1~20或者d10~20等等,所有卷名称的定义都是以方便管理为主。

状态数据库和状态数据库副本

状态数据库是用于存储有关Solaris VolumeManager配置状态信息的数据库。状态数据

库记录并跟踪对配置所做的更改。配置或状态发生更改时,Solaris VolumeManager会

自动更新状态数据库。例如,创建新卷是一种配置更改,而子镜像失败则是一种状态更改。

实际上,状态数据库是多个复制的数据库副本的集合。每个副本(称为状态数据库副

本)都可以确保状态数据库中的数据始终有效。多个状态数据库副本可以防止发生单

点故障时丢失数据。状态数据库可以跟踪所有已知状态数据库副本的位置和状态。

系统之中必须有状态数据库的存在SVM才能进行操作。Solaris系统在删除所有状态数据库的情况下仍然可以运行,但是磁盘上不存在状态数据库的情况下重新引导系统,则所有SVM的数据将会丢失!

热备池

热备池是SVM保留的用于自动替换出故障组件的片的集合。可以在子镜像或者R5卷中使用这些热备件。出现组件错误时,SVM会查找第一个等于或大于故障组件大小的热备件。

磁盘集

磁盘集是一组物理存储卷,其中包含逻辑卷和热备件。卷和热备用池必须在该磁盘集

中的驱动器上生成。在磁盘集中创建卷后,可以像使用物理片一样使用该卷。

磁盘集在群集环境中提供数据可用性。如果某台主机出现故障,其他主机可以接管出

故障主机的磁盘集。(这种类型的配置称为故障转移配置。)此外,可以使用磁盘集

来帮助管理Solaris VolumeManager名称空间,并实现对网络连接存储设备的随时访

问。

二、创建、删除、扩容SVM组件及故障恢复

创建SVM的先决条件:创建初始状态数据库副本、准备可用于SVM的片、确保具有超级用户权限、数据备份。

1、创建初始状态数据库

状态数据库存活的标准是多数一致的原则,即在状态数据库中有一半以上(N+1)的副本存活才能保证SVM的正常运行。即在3个状态数据库副本中,有2个可用,就可以取得一致。状态数据库最好放置在本地存储中(如本地磁盘)。建议每个卷组中至少要有3个状态数据库。

对于只有一块磁盘的系统,则将3个副本都放置在该盘上。

对于具有两个到四个驱动器的系统:一个驱动器上放置两个副本。

对于具有五个或更多驱动器的系统:一个驱动器上放置一个副本。

创建状态数据库:

#metadb –a –f-c 3 c0t0d0s7##在c0t0d0s7上创建3个状态数据库副本(默认大小是8192)

-a指定要添加或创建状态数据库副本。

-f指定要强制执行该操作,创建第一个副本需要使用此项

-c指定要添加到给定片中的副本数量。

-l指定新副本的大小(以块为单位)

#metadb –a –f-c 2 –l 1024 c0t0d0s7##在c0t0d0s7上创建2个长度为1024块的状态数据库副本

#metadb –i##查看状态数据库的状态

flagsfirst blkblock count

a mpluo168192/dev/dsk/c1t0d0s7

apluo82088192/dev/dsk/c1t0d0s7

apluo164008192/dev/dsk/c1t0d0s7

apluo168192/dev/dsk/c1t1d0s7

apluo82088192/dev/dsk/c1t1d0s7

apluo164008192/dev/dsk/c1t1d0s7

au161024/dev/dsk/c1t7d0s0

au10401024/dev/dsk/c1t7d0s0

r - replica does not have device relocation information

o - replica active prior to last mddb configuration change

u - replica is up to date

l - locator for this replica was read successfully

c - replica's location was in /etc/lvm/mddb.cf

p - replica's location was patched in kernel

m - replica is master, this is replica selected as input

W - replica has device write errors

a - replica is active, commits are occurring to this replica

M - replica had problem with master blocks

D - replica had problem with data blocks

F - replica had format problems

S - replica is too small to hold current data base

R - replica had device read errors

#metadb –d –fc1t7d0s0##删除状态数据库

Raid 0卷

创建raid0卷

Raid0卷分为三种形式:条带化卷、串联卷、串联条带化卷。

条带化卷:

#metainitvolume-name number-of-stripes components-per-stripe component-names[ -iinterlace]

创建条带化卷:

#metainit d10 1 3 c1t0d0s2 c1t1d0s2 c1t2d0s2## d10代表卷名称1表示一个条带;3表示每个条带中含有3个组件(磁盘)

创建串联卷:

#metainit d10 4 1 c1t0d0s2 1 c1t1d0s2 1 c1t2d0s2 1 c1t3d0s2## 4表示要创建三个条带;1表示每个条带由一个组件(磁盘)组成,串联卷不会损坏片上的数据。

扩展卷容量(只针对串联条带卷):

首先,摘掉已有挂接点

#umount /mount_point

#metattachdNcNtNdNsN

#mount /mount_point

#growfs –M /mount_point /dev/md/rdsk/dN

删除raid0卷:

#umount /mount_point

#metaclear dN

#vi /etc/vfstab##将vfstab中的相关项删除

#rm /mount_point##删除挂接点

Raid 1卷

创建raid1卷

#metadb –a –f –c 3 c0t0d0s7 c0t1d0s7

#metainit d21 1 1 c0t0d0s2##创建子镜像

#metainit d22 1 1 c0t1d0s2

#metainit d20 –m d21##将子镜像d21加入镜像d20

#umount /mount_point

#vi /etc/vfstab

将如下的项目:

/dev/dsk/c0t0d0s2/dev/rdsk/c0t0d0s2/mount_pointufs2yes—

更改为:

/dev/md/dsk/d20/dev/md/rdsk/d20/mount_pointufs2yes—

#mount/mount_point

#metattach d20 d22##将d22加入d20,此时子镜像触发同步。

#metastat##查看raid的状态

#vi /etc/system##添加set md:mirrored_root_flag=1可以允许单盘启动。

对于根分区(/)做镜像

#metadb –a –f –c 3 c0t0d0s7 c0t1d0s7

#metainit d11 1 1 c0t0d0s0

#metainit d12 1 1 c0t1d0s0

#metainit d10 –m d11

#metaroot d10##metaroot针对于/分区所做,其他分区镜像不用这么做

#reboot

#metattach d10 d12

#metastat

设置系统可以在主镜像盘失效的情况下可以由从盘启动

#ls -l /dev/dsk/c0t1d0s2

lrwxrwxrwx 1 root root 88 Feb 8 15:51 /dev/rdsk/c1t3d0s0->../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:a

#init 0##引到系统到ok状态下

#nvalias backup_root /pci@1f,0/pci@1,1/ide@3/disk@0,0:a##设置从盘别名为backup_root

#setenv boot-device disk backup_root net##设置启动顺序为disk backup_root net

#nvstore##保存更改的设置

扩展raid1卷

#metastat

d8: Mirror

Submirror 0: d9

State: Okay

Submirror 1: d10

State: Okay

...

#metattach d9 c0t2d0s5##对子镜像d9进行扩展

d9: component is attached

#metattach d10 c0t3d0s5##对子镜像d10进行扩展

d10: component is attached

#metattach d8##让镜像d8识别扩展容量

#growfs –M /mount_point /dev/md/rdsk/d8##扩容文件系统

删除raid1卷

①删除无法解除挂接的镜像(如” / ”)

#metadetach -f d20 d22

#metaroot /dev/dsk/c0t0d0s2##修改vfstab和system文件(注:如果是swap分区镜像的话,删除时需要手动编辑vfstab,因为metaroot命令只针对/分区!)

#reboot

#metaclear –r d20##清除镜像d20及其子镜像(注:-r参数作用为递归删除)

②删除可摘除挂接的镜像

#umount /mount_poing

#metadetach d20 d22##清除其中一个子镜像

#metaclear –r d20##清除镜像d20及另一个子镜像

#vi /etc/vfstab##编辑vfstab将如下行:

/dev/md/dsk/d4 /dev/md/rdsk/d4 /mount_poing ufs 2 yes -

改为:

/dev/dsk/c0t0d0s3/dev/rdsk/c0t0d0s3/mount_pointufs2yes-

#mount /mount_point

替换故障子镜像:

例如d20中的子镜像d22(c0t2d0s2)出现故障,需要用另外一个片(c0t3d0s2)来做替换

#metadetch –f d20 d22

#metaclear d22

#metainit d22 1 1 c0t3d02

#metattach d20 d22

替换故障盘

系统只有两块盘且做了镜像,其中一块硬盘出现了硬件故障,这时候就需要用到下面的方法来替换。

假设c0t0d0s0 c0t1d0s0为mirror,挂接点是/ .两盘的7分区存放状态数据库。如果c0t0d0出现损坏,则关机更换磁盘。

以c0t1d0启动操作系统。

#devfsadm –c disk

#prtvtoc /dev/rdsk/c0t1d0s2 | fmthard –s - /dev/rdsk/c0t0d0s2

#metadb –a –f –c 3 c0t0d0s7

#metareplace –e d10 c0t0d0s0

#metastat

Raid 5卷

创建raid5卷

使用三块盘c0t1d0s2 c0t2d0s2 c0t3d0s2做raid5:

#metadb –a –f –c c0t1d0s2 c0t2d0s2 c0t3d0s2

#metadb -i

#metainit d5 –r c0t1d0s2 c0t2d0s2 c0t3d0s2##参数-r指定该卷为raid5级别

#metastat –i

#vi /etc/vfstab

(/dev/md/dsk/d5 /dev/md/rdsk/d5 /mount_point ufs 2 yes –)

#mount /mount_point

扩容Raid5卷

使用c0t4d0s2作为要加入d5的盘

#umount /mount_poing

#prtvtoc /dev/rdsk/c0t1d0s2 | fmthard –s - /dev/rdsk/c0t4d0s2

#metattach d5 c0t4d0s2

#mount /mount_point

#growfs –M /mount_point /dev/md/rdsk/d5

替换故障的组件

假设c0t3d0s2出现故障,使用c0t4d0s2作为替换:

#metastat

#metareplace d5 c0t3d0s2 c0t4d0s2

#metastat

替换故障的磁盘

假设c0t3d0s2出现故障,关机换盘之后:

#devfsadm –c disk

#prtvtoc /dev/rdsk/c0t3d0s2 | fmthard –s - /dev/rdsk/c0t4d0s2

#metadb –a –f –c 3 c0t4d0s7

#metadb -i

#metreplace -e d5 c0t3d0s2##将替换上的盘启用

#metastat

删除raid5卷

#umount /mount_point

#metaclear d5

#vi /etc/vfstab##注释掉挂接点

数据备份(联机备份)

对于其他几种raid卷得备份,我们统一可以用ufsdump来进行备份,这与普通文件的备份没什么差别,这里就不做赘述了,主要介绍一下raid 1镜像的备份:

本例中raid 1信息如下:

主镜像:d20子镜像:d21(c1t1d0s0)、d22(c1t2d0s0)

步骤:

#metastat d20##查看raid状态

d20: Mirror

Submirror 0: d21

State: Okay

Submirror 1: d22

State: Okay

Pass: 1

Read option: roundrobin (default)

Write option: parallel (default)

Size: 40704 blocks (19 MB)

d21: Submirror of d20

State: Okay

Size: 40704 blocks (19 MB)

Stripe 0:

DeviceStart BlockDbaseState Reloc Hot Spare

c1t1d0s00NoOkayYes

d22: Submirror of d20

State: Okay

Size: 40704 blocks (19 MB)

Stripe 0:

DeviceStart BlockDbaseState Reloc Hot Spare

c1t2d0s00NoOkayYes

……

#lockfs –w /mount_point##锁定文件系统(只针对UFS),防止detach的时候有文件写入。

#metadetach d20 d22##踢出子镜像d22

#lockfs –u /mount_point##解除锁定

(Backup)##对/dev/md/dsk/d22进行备份(备份过程略)

#metattach d20 d22##重新加入子镜像d22

软分区

对于普通磁盘在solairs里被识别为从0~7的8个片(slice)。但是想要实现在同一块磁盘上创建更多个分区的要求,8个片又显得太少,软分区让这个要求得以实现。软分区默认为128个,最多可达到8192个分区。取值范围从d0~d8192。

软分区可以直接存在于磁盘的上方,或者卷得顶部,不允许存在于卷得下方或者上方,例如,一个使用软分区生成了一个raid卷,在这个raid卷之上就不允许再生成软分区。

创建软分区

#metainit d10 –p c0t0d0s0 3g##在c0t0d0s0上创建一个3g大小的软分区

#metastat d10

扩展软分区

#mount /dev/md/dsk/d10 /mount_point

#metattach d10 10g

#growfs –M /mount_point /dev/md/rdsk/d10

删除软分区

#metaclear –p c0t0d0s0##删除在c0t0d0s0上建立的所有软分区

#metaclear –r d10##删除指定的软分区

#metastat

热备池

创建热备池

#metainithsp001c0t4d0s2 c0t5d0s2##建立由两块盘组成的热备池(注:热备池中的磁盘数量根据需要可自选。)

向热备池中添加组件

#metahs –a hsp001 c0t1d0s2##将c0t1d0s2添加到hsp001中

#metahs –a all c0t2d0s2##将c0t2d0s2添加到所有热备池中

为raid1卷添加热备池

#metaparam –h hsp001 d21##将热备池指定给子镜像d21

#metaparam –h hsp001 d22##将热备池指定给子镜像d22

为raid5卷添加和更改热备池

#metaparam –h hsp001 d5##将hsp001指定给raid5卷d5

#metaparam –h hsp002 d5##更改d5的热备池为hsp002

将热备池于卷脱离关联

#metaparam –hnone d5

替换热备池中的组件

#metahs –r hsp001 c0t1d0s2 c0t2d0s2##用c0t2d0s2替换c0t1d0s2

#metahs –r all c0t2d0s2c0t3d0s2##用c0t3d0s2替换所有热备池用的c0t2d0s2

删除热备池

#metaclear –d hsp001 c0t4d0s2##从hsp001中删除c0t4d0s2

启动热备组件

#metahs –e c0t4d0s2##将c0t4d0s2启用

磁盘集

(略)

Solaris Volume Manage维护

查看卷配置:

#metastat –p –i d5##查看d5的配置

-p以简洁模式显示

-i验证是否可以访问raid1卷、raid5卷和热备池

重命名卷

# umount /home

# metarename d10 d100

d10: has been renamed to d100

(编辑/etc/vfstab文件以使该文件系统引用新卷)

# mount /home

组件状态及恢复

组件有可能会出现:Maintenance和Last Erred的状态,替换顺序一定是先Maintenance然后才是Last Erred。

2011.6.16

Jsui

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值