1. SVC结构
当今实施块级聚合和虚拟化主要有2个方法: ? 对称:带内设备
SAN设备位于数据路径中,所有I/O数据流通过设备。SVC使用的就是对称虚拟化。 ? 非对称:带外设备或者基于控制器
SAN由一对或者多对SVC硬件节点管理,称为cluster。对SAN网络进行zone划分,使得SVC能看见存储子系统,host能够看见SVC。存储控制器能在SVC和直接主机访问之间共享,只要同一个LUN不共享。SVC能连接至多4个SAN fabric。
1
SVC集群节点连接到SAN网络,将logical disk(virtual disk)或者卷呈现给主机。这些卷从存储子系统的LUNs(Mdisk)创建。上图中有2个zone:
- -
Host zone,host能够看见SVC节点
存储zone,SVC节点能够看见存储子系统的LUNs
Host不允许直接操作LUNs,所有数据传送都是通过SVC节点。
1.1. SVC组件
节点
每个SVC硬件单元称为节点,节点为卷,缓存,copy服务等功能提供虚拟化。SVC节点成对部署,多对组成一个cluster。一个cluster可以由1到4个SVC节点对组成。Cluster中其中一个节点称为配置节点,配置节点为cluster管理配置,如果这个节点失效,cluster将选择一个新的节点成为配置节点。因为节点是成对安装,形成一个冗余配置。
I/O Groups
每对SVC节点也称为I/O Group。一个SVC cluster能有1到4个I/O组。呈现给主机的卷是由cluster的一个I/O组提供。当服务器对自己的某个卷进行I/O操作,该卷的所有I/O定向到一个指定的I/O组,且由I/O组的相同节点处理,这个节点被称为该卷的优先节点。
2
I/O组的2个节点都作为各自卷的优先节点。每个I/O组至多2048个卷,2个节点都是作为互备节点,如果需要的话,一个节点可以接管搭档节点的I/O负载。因此,在SVC环境中,对一个卷的I/O处理能在I/O组的2个节点之间切换,在host中使用多路径软件来处理failover。
SVC I/O组连接到SAN网络,因此所有应用服务器能从I/O组访问卷。每个I/O组能定义至多256个服务器。如果需要的话,在一个SVC cluster中服务器能映射到多个I/O组,因此能够访问各个I/O组的卷。在I/O组之间可以移动卷来重新分布负载,移动过程中不能同时进行主机I/O,将需要一个简短的中断来重新映射主机。
Cluster
Cluster由1到4个I/O组组成。每个cluster能支持的卷至多8192个,或者每个cluster支持的最多Mdisk为32PB。
所有配置,监控和服务管理都是在cluster级别进行,配置设置值被复制到cluster中的所有节点。为了完成以上任务需要为cluster设置一个管理IP地址。
MDisks
SVC cluster和I/O组看到底层存储子系统提供的LUNs称为Mdisks,Host看不见MDisk,看到的是逻辑盘,称为virtual disk或者卷。MDisk存放在存储池中,在池中划分成extent,extent大小从16M到8192M,由SVC管理员定义。一个MDisk最大为1PB,一个cluster支持多达4096个MDisk,MDisk在任何时候都是下面3模式中之一:
? Unmanaged MDisk
Unmanaged MDisk不是任何存储池的成员,SVC不会写数据到unmanaged MDisk。 ? Managed MDisk
Managed模式MDisk是存储池的成员,划分成extent,卷是由extent组成。 ? Image mode MDisk
Image模式提供从MDisk到卷的直接块对块的转换。Image模式的使用场景: -
Image模式可以虚拟化已经包含数据的Mdisk,数据是由直连存储的host写入而不是通过SVC。使用image模式可以进行数据迁移。 -
Image模式可以允许SVC卷使用由底层存储提供的本地copy服务功能。为了避免数据丢失,禁用卷的SVC缓存 -
通过image模式可以从SVC中迁移数据到非SVC环境,即host直接连接存储。
每个MDisk有一个在线路径数,表示访问MDisk的节点数量。Maximum count是cluster检测到最大路径数,current count为当时cluster检测到的数量。
Quorum disk
3
Quorum disk是一个含有cluster专用保留区域的MDisk。当发生SAN故障后cluster中仍然有一半节点可用,此时Cluster使用quorum disk to break a tie。
Disk tier
由于SVC cluster的Mdisk所在的disk或RAID类型不同, MDISK可能有各种属性。因此每个Mdisk有个存储层属性,默认为generic_hdd。从SVC V6.1对于SSD有个新的层属性generic_ssd。
Storage pool
一个存储池可以至多128个MDisk组成,一个cluster能管理128个存储池。池大小可以动态改变,一个MDisk只能是一个存储池的成员,image mode卷除外。
存储池的每个Mdisk划分成一定数量的extent,extent大小在存储池创建时由管理员决定,以后不能修改。Extent大小在16MB到8GB之间。
一个cluster中的所有存储池最好使用相同的extent大小,这是在2个存储池之间进行卷迁移的首要条件。如果存储池的extent大小不同,必须使用卷镜像来copy卷。一个cluster中的extent数量最多为2^22=4百万,因此SVC集群的总容量是基于extent的大小,如下表所示:
4
1.2. Volume
卷是SVC提供给host的逻辑盘。有3中类型的卷:striped,sequential,image,这些类型是由存储池中extent的分配方式决定。
? Striped卷的extent是存储池中以round_robin方式从每个Mdisk中分配 ? Sequential卷的extent是连续的从Mdisk中分配 ? Image模式是一对一的extent映射
一个卷最大尺寸为256TB,一个SVC集群支持高达8192个卷。卷有以下属性: ? 卷可以创建和删除
? 卷可以resize(扩展或收缩)
? 卷的extent可以在运行时迁移到另外的MDisk或者存储池
? 卷可以以全分配或者thin-provisioned方式创建,这2个模式在运行时可以互相
转换
5