SolarisVolumeManager使用虚拟磁盘来管理物理磁盘及其关联的数据。在SolarisVolumeManager
中,虚拟磁盘称为卷,出于历史原因,某些命令行实用程序也将卷称为元设备(meta)。
      在应用程序或文件系统看来,从功能方面讲,卷与物理磁盘完全相同。
      SolarisVolumeManager卷是由磁盘片或其他SolarisVolumeManager卷构建的。创建卷的简单方法
是使用内置于SolarisManagementConsole中的图形用户界面(graphicaluserinterface,GUI)。
      例如,如果需要更多存储容量作为单个卷,可以使用SolarisVolumeManager使系统将片集合视为
一个较大的卷。使用这些片创建卷之后,可以立即开始使用该卷,就像使用任何“真正”的片或设备一样

      SolarisVolumeManager通过使用RAID-1(镜像)卷和RAID-5卷可以提高数据的可靠性和可用性。
SolarisVolumeManager热备件可以进一步提高镜像卷和RAID-5卷的数据可用性。
      可以对卷使用大多数文件系统命令,包括mkfs、mount、umount、ufsdump、ufsrestore等。但是
,不能使用format命令。只要卷包含挂载的文件系统,就可以对该卷进行读取、写入和复制文件等操作。

      例—包含两个片的卷,下图显示一个包含两个片的卷,一个片来自磁盘A,另一个片来自磁盘B。应
用程序或UFS会像处理一个物理磁盘那样处理卷。通过向卷中添加更多片,可以增加其存储容量。
      
      1.2  支持的扩展卷方式
      可以采用以下方式扩展卷中的磁盘空间:
      向RAID-0卷添加一个或多个片
      向RAID-1卷的所有子镜像添加一个或多个片
      向RAID-5卷添加一个或多个片
      通过添加基础组件中的空间扩展软分区
      就像物理片一样,卷的逻辑名称也会出现在文件系统中。逻辑卷名在块设备的/dev/md/dsk目录和
原始设备的/dev/md/rdsk目录中具有对应的项。在任何meta*命令中,通常使用缩写形式的卷名(如d1)

      而不用指定完整的卷名(如/dev/md/dsk/volume-name)。一般情况下,只要卷当前没有被使用,
且新名称没有被其他卷使用,就可以对卷进行重命名。
      1.3  卷名称命令规则
      最初,卷名称必须以字母“d”开头,后跟一个数字(例如d0)。此格式现在仍可使用。下面是使
用“d*”命名构造的卷名称示例:
      /dev/md/dsk/d0块卷d0
      /dev/md/dsk/d1块卷d1
      /dev/md/rdsk/d126原始卷d126
      /dev/md/rdsk/d127原始卷d127
      卷名称命名原则:
      命名卷名称时使用一个统一的标准可以简化管理并使您可以快速识别卷类型。以下是几条建议:
      ●为每种类型的卷指定范围。例如,为RAID-1卷指定数字0–20,为RAID-0卷指定数字21–40,等
等。
      ●通过命名确定镜像之间的关系。例如,使用以零(0)结尾的数字命名镜像,使用以一(1)、二(2)
等结尾的数字命名子镜像。例如,可以按照以下方式命名镜像:镜像d10、子镜像d11和d12;镜像d20、子

      像d21、d22、d23和d24。
      ●使用将片编号和磁盘编号映射到卷编号的命名方法。
      图1说明了镜像d20。该镜像由两个卷(子镜像)d21和d22组成。
      SolarisVolumeManager在多个物理磁盘上生成相同的数据副本,并向应用程序显示一个虚拟磁盘
(本示例中为d20)。所有磁盘上写入的内容都是相同的。磁盘读取内容来自其中某个基础子镜像。镜像
d20
      的总容量为最小子镜像的大小(如果子镜像的大小不相等)。
      
      1.4  卷的管理
      1)solaris将1块硬盘分为8个分区(0-7slice)。IA架构为10个分区。
      2)常用分区:
        slice
             0       /
             1       swap
             2       entiredisk
             5       opt
             6       /export
           3)SVM管理思想有2种:
      a、将磁盘分区创建为逻辑卷,然后再创建raid。比如raid1。
      b、直接利用磁盘分区创建raid,比如raid5,raid0。
      SVM 需要有一个stat db保持卷,raid信息。所以一般需要在多个磁盘创建stat db。
      #metadb -f -a -c 2 c0d0s3 c0d1s3 c1d0s3 c1d1s3
      第2章  常用命令
      2.1  常用命令及作用
      1)metadb         创建stat db。
      2)metainit   创建逻辑卷,创建raid命令。
      3)metastat   查看卷,raid信息。
      4)metaclear   删除卷,删除raid。
      5)metareplace:
      更换卷中的分区。英文意思是更换卷中的组件。但是我理解一般就是更换卷的分区。还有一个作用
就是启用卷中的分区,使得该卷进行重新同步。
      #metareplace -e d11 c1d1s4 启用d11中的c1d1s4分区。
      #metareplace d11 c1d0s4 c1d1s4   利用c1d1s4更换卷d11中损坏的c1d0s4
      6)metaonline/metaoffline:
      该命令在raid1中使用,但是我觉得没有必要,假如磁盘损坏了,不需要offline,直接detach,
再attach一个就好了,谁让他是raid1呢。
      7)metattach/metadetach: 向创建好的raid中添加/删除卷和分区。
      8)metahs: 修改热备池中分区。
      9)metaparam:修改raid配置,比如raid0的读,写属性,还有就是将热备池绑定到raid上。
      10)growfs: 在线扩展卷集大小。
      格式:growfs -M /mount-point /device-rdsk-point
      2.2  Solaris Volume Manager命令快速参考
      Solaris Volume Manager 命令   说明   手册页
      growfs 以非破坏性方式扩展 UFS 文件系统。 growfs(1M)
      metaclear 删除活动的卷和热备用池。 metaclear(1M)
      metadb 创建和删除状态数据库副本。 metadb(1M)
      metadetach 将卷与 RAID-0 或 RAID-1(镜像)卷分离,或者将日志设备与事务卷分离。注
      –不再支持事务卷。 metadetach(1M)
      metadevadm 检查设备 ID 配置。 metadevadm(1M)
      metahs 管理热备件和热备用池。 metahs(1M)
      metaimport 将磁盘集(包括复制的磁盘集)导入在磁盘集中具备设备 ID 支持的现有 Solaris
Volume Manager
      配置。 metaimport(1M)
      metainit 配置卷。 metainit(1M)
      metaoffline 使子镜像脱机。 metaoffline(1M)
      metaonline 使子镜像联机。 metaonline(1M)
      metaparam 修改卷参数。 metaparam(1M)
      metarecover 恢复软分区的配置信息。 metarecover(1M)
      metarename 重命名和交换卷名称。 metarename(1M)
      metareplace 替换子镜像和 RAID-5 卷中的组件。 metareplace(1M)
      metaroot 为镜像根 (/) 文件系统而设置系统文件。 metaroot(1M)
      metaset 管理磁盘集。 metaset(1M)
      metastat 显示卷或热备用池的状态。 metastat(1M)
      metasync 在重新引导期间重新同步卷。 metasync(1M)
      metattach 将组件连接到 RAID-0 或 RAID-1 卷。 metattach(1M)
第3章  SVM命令操作实例
      1)环境介绍:需要向isms_dg的mps文件系统增加一定空间,用于数据库备份用,由之前的4G扩充
到50G;
      mps用于备份itellindb的数据库
      /dev/md/iscc_dg/dsk/d605   52522647  52097  51945324     1%   
      /export/home/mps
      2)为iscc_dg下的mps(d605)追加46G,并将组件加以连接;
      metattach -s iscc_dg d605 46g
      3)以非破坏性方式扩展 UFS 文件系统;
      growfs -M /export/home/mps /dev/md/iscc_dg/rdsk/d605
      4)查看结果
      root@itellin2 (iscp7)# metastat -s iscc_dg d605
      iscc_dg/d605: Soft Partition
          Device: iscc_dg/d510
          State: Okay
          Size: 106659840 blocks (50 GB)
              Extent              Start Block              Block count
                   0                 49152160                 12288000
                   1                102400512                 94371840  //新增的空间
      iscc_dg/d510: Concat/Stripe
          Size: 2856124416 blocks (1.3 TB)
          Stripe 0: (interlace: 32 blocks)
              Device   Start Block  Dbase        State Reloc Hot Spare
              d4s0            0     No            Okay   No
              d5s0            0     No            Okay   No
      Device Relocation Information:
      Device   Reloc  Device ID
      d4   No         -
      d5   No         -

Solaris10之SVM简析相关推荐

  1. 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析

    目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...

  2. 简析平衡树(三)——浅谈Splay

    前言 原本以为\(Treap\)已经很难了,学习了\(Splay\),我才知道,没有最难,只有更难.(强烈建议先去学一学\(Treap\)再来看这篇博客) 简介 \(Splay\)是平衡树中的一种,除 ...

  3. 基于libmad库的MP3解码简析

    基于libmad库的MP3解码简析  MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3). ...

  4. 简析 .NET Core 构成体系

    简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代 ...

  5. Python源码学习:内建类型简析并简析int对象

    Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> 上一篇文章中已经大致分析了下,Python的启动执行流程,现在我们分析一下Pytho ...

  6. Python源码学习:启动流程简析

    Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> Python简介: python主要是动态语言,虽然Python语言也有编译,生成中 ...

  7. 简析TCP的三次握手与四次分手【转】

    转自 简析TCP的三次握手与四次分手 | 果冻想 http://www.jellythink.com/archives/705 TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇 ...

  8. ceph存储原理_Ceph存储引擎BlueStore简析

    前文我们创建了一个单节点的Ceph集群,并且创建了2个基于BlueStore的OSD.同时,为了便于学习,这两个OSD分别基于不同的布局,也就是一个OSD是基于3中不同的存储介质(这里是模拟的,并非真 ...

  9. Android Jetpack组件App Startup简析

    1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...

最新文章

  1. 自动增益控制AGC的simulink仿真
  2. linux fedora自带终端字体间距过大问题解决
  3. Baidu_Location_SDK
  4. Makefile(一)
  5. Linux防火墙iptables基础详解
  6. dram和nand哪个难生产_仅300名员工,年产7台,订单排到5年后,比光刻机还难买...
  7. 【three.js】库
  8. 关于Zookeeper和Redis实现分布式锁的异同
  9. python获取网页图片_Python获取网页上图片下载地址的方法
  10. Java面向对象(继承、抽象类)
  11. 如何从基础到深入了解java构造器
  12. 利用反射技术动态执行方法时如何取引用类参数的值
  13. 什么是LoRa协议?
  14. 读书笔记-《麦肯锡方法》
  15. 【vn.py】源码解析之 Dual Thrust 策略
  16. POI导出excel加水印
  17. CTF-WEB小技俩 ——合天网安实验室学习笔记
  18. Jlink修复指南step by step指导(实践成功) 更新 适用win7-10
  19. 警方通报“济南1家6口死亡”案:男子杀害亲人后放火跳楼
  20. 战神引擎 过黄列表教程

热门文章

  1. ubuntu 14.10 使用fcitx输入法
  2. 软件需求管理用例方法三
  3. 四种类型的数据分析模式
  4. 构建之法现代软件工程(第五次)
  5. Firefox 46解决安全问题,改善性能
  6. Leetcode | Maximal Rectangle
  7. 通过C#代码 压缩/解压文件
  8. 2_vuex状态管理器
  9. Qt的4个图像类QImage/QPixmap/QBitmap/QPicture 转
  10. [异常解决] ubuntukylin16.04 LTS中关于flash安装和使用不了的问题解决