RAID NAME |
DISC SIZE*COUNT |
Usable Size |
MDI1 |
300G*8 |
1116 GB |
MDI2 |
300G*8 |
1116 GB |
MDI3 |
300G*8 |
1116 GB |
MDI4 |
300G*8 |
1116 GB |
MDI5 |
300G*8 |
1116 GB |
其中MD1到MD5 用于安装数据库产品和数据, 从上面配置中可以看出现在的存储容量非常庞大。这也和传统磁盘的管理有着本质的不同。对于如此大容量的存储设备必然有一套完整的管理方法。对于unix的系统是从lun到lv来管理的。
Lun:要想很好的管理这些磁盘首先就要从基本单元规划存储设备,于是在每个raid组内首先划分lun既逻辑单元号,lun的大小一般在30-50G这可根据业务需要具*定,另外lun也不是一程不变对于配置文件较小的文件也可以规划较小容量,比如这里lun的size定为40g和1g,于是对于MD1到MD5的lun将划分出139个40g的,和20个1g的lun
这样看出整个raid组里有139+21=160个lun,这些lun如果直接由unix os识别将直接识别为160块盘,对于系统员的管理将是非常麻烦的。因此对应lun将进一步规划
Pv:unix os识别出160块盘的同时将lun对应识别为一个pv,每个lun将对应一个pv,pv的存在主要是为命令的可读性而存在。
Vg:为进一步规划lun,系统将根据文件大小或所需存储数据的类型划分,如需要把oracle软件产品存放在存储上,那这个vg大概需要1个lun,又如10个数据文件需要200G,那这个vg需要5个lun可以预留出一部分空间就是需要6-8个lun,这样一个vg就像一个池子根据文件大小和作用在存储上圈出了一块区域,以便存放对应的具体内容,如文件
Lv:有了一个大的区域,在这个区域里放置哪些数据或文件将在这个vg里的所有lun中再次划分区域,这个区域就是lv,默认情况下一个lv是跨vg中所有lun划分的。
挂载:在存储设备上最终勾勒出lv后,需要让unix os能够识别或存取lv上的空间或文件,识别方法主要有两种,一种是用文件系统,即将lv通过接口挂载点挂载到文件系统,然后所有数据的写入是经过文件系统已字符形式写入到存储设备lv中的空间。并已文件形式在文件系统上显示给用户。读取数据是通过文件系统以字符为单位从存储设备中读取数据,文件的读取与写入都经过文件系统完成,文件系统屏蔽了系统的存储设备存取数据的复杂性,但缺点是中间有文件系统的包装存取速度不如裸设备快。另一种识别方法是直接由os读取裸设备上的数据,把lv作为具体的裸设备映射到os的/dev中,也就是把lv当作一个设备作为设备文件放在unix os中识别,这样os可以直接读取存储中lv的数据,并以块为单位存放数据以便增加存取速度。
我们还可以这样简单比喻各个存储概念的关系,例如盖木制的房子。各块磁盘组成的raid组就像盖房子用的大树,lun就是把大树锻造成各种盖房需要的木头,vg就是房子中各个居室,lv就是居室内存放物品的家具如大衣柜,挂载点是用户和获取家具中衣物的接口比如柜门。
希望本文能对读者对理解存储概念之间的关系能有宏观的更清晰的了解