传统的存储架构都存在几个问题:
1),多个controller做cluster,但是某个controller出现问题后会failover造成performance下降
2),需要性能调优
3),某个盘坏后重构时间很长,而且重构过程中极有可能出现更多的盘坏,造成数据丢失
4),当容量不够后,扩展需要停机,而且虽然容量增加了,但是性能却降低了
而XIV的核心特点是:数据是分布在所有盘上的,没有RAID,没有热点盘,不需要人工介入,不需要调优。这种特性是由XIV的逻辑架构决定的。
先来看看几个XIV中最基本的概念:
Partitions
The fundamental building block of a logical volume is known as a partition.
Partition是1MB(1024KB)有两份,包括a primary copy 或者 secondary copy of data,存放在两个不同module的两块不同disk上。
Logical volumes
1,每个Volume都是由N个1MB的Partition组成,每个volume都是分布在所有的disk上。XIV的分布式算法自动将partition随机分布在系统里所有disk上,这就使得XIV不存在hot-spot
Slice
-Each Partition belongs to a bucket of partitions-a slice
-Slices reside in a disk
-One slice belongs to only one disk.Slice cannot span disks!
-There are 16411 slices in Gen3 system(Gen2 - 16384)
Storage pools
While the hardware resources within the BM XIV Storage System are virtualized in a global sense, the available capacity in the system can be administratively portioned into separate and independent storage pools.
Essentially, storage pools function as a means to effectively manage a related group of similarly provisioned logical volumes and their snapshots.
Storage Pools are Logical
–Allocates hardware resources
–Same performance for all storage pools
–Volumes can be moved between Storage Pools
–Volumes and their clones moved together
–No data movement involved… immediate results
Storage Pools control the storage resources
–Use for specific applications or departments
–Physical and Virtual storage used by volumes
–Limits physical space for clones
–Can be resized as needed… depending on available resources
下图是Storage Pool和Logical Volume的关系
查看module1上的disk,其中省略了3-11
XIV_1300023>>disk_list module=1:Module:1
Component ID Status Currently Functioning Capacity (GB) Target Status Model Size Serial Firmware Fru Temperature
1:Disk:1:1 OK yes 1TB Hitachi-HUA721010KLA330 924772 PAJ1TBSF GKAOAB0A 30
1:Disk:1:2 OK yes 1TB Hitachi-HUA721010KLA330 924772 PAHYBJTE GKAOAB0A 28
1:Disk:1:12 OK yes 1TB Hitachi-HUA721010KLA330 924772 PAHV2J4F GKAOAB0A 31
XIV_1300023>>pool_list
Name Size (GB) Hard Size (GB) Snapshot Size (GB) Empty Space (GB) Used by Volumes (GB) Used by Snapshots (GB) Locked
prd_db_pool 1013 1013 103 85 0 0 no
Bro_pool 8899 8899 910 5033 309 0 no
可以看到prd_db_pool这个pool里有8个volume
XIV_1300023>>vol_list pool=prd_db_pool
Name Size (GB) Master Name Consistency Group Pool Creator Used Capacity (GB)
prd_db_001 103 prd_db_pool admin 0
prd_db_002 103 prd_db_pool admin 0
prd_db_003 103 prd_db_pool admin 0
prd_db_004 103 prd_db_pool admin 0
prd_db_005 103 prd_db_pool admin 0
prd_db_006 103 prd_db_pool admin 0
prd_db_007 103 prd_db_pool admin 0
prd_db_008 103 prd_db_pool admin 0
Distribution table
distribution table在系统启动的时候创建,包含了Primary和Secondary Partition的映射,还有Module和相应Disk的mapping。当硬件改动时,会创建新的distribution table然后deliver到每个Module上。每个Module都包含了一份distribution table。
XIV Running state
当volume的两份Copy(Primary Copy和Secondary Copy)同时都在时,系统就是在Full Redundancy 状态。
When the full redundancy of data is compromised due to a disk or module failure, the XIV Storage System immediately identifies the non-redundant partitions and begins the rebuild process. The rebuild process consists of the following activities:
--Creates a new target data distribution
--Makes a copy of the non-redundant partitions and writes them according to the new target distribution. This process is known as rebuilding.
--Simultaneously begins to redistribute the redundant data according to the new target data distribution. This process is known as redistributing.
Important: After an XIV Storage System component failure, rebuild and redistribution begin immediately and at the same time.