串联卷 (Concatenated Volume)
如下图所示,在 RAID 0 concat 中,卷数据首先线性写入 disk01,然后写入 disk02.
连续卷中的子磁盘数取决于卷的大小。
如果卷大于物理磁盘的大小,我们将在一个物理磁盘上有一个子磁盘,在下一个物理磁盘上有另一个子磁盘。
请记住,子磁盘的数量也取决于其他因素。
concat volume 的缺点是,它不会为数据提供任何冗余,因为我们一次总是只有一个数据副本。
创建 concat 卷所需的最小磁盘为 1.
创建 concat 卷的命令:
# vxassist -g mydg make myvol 1g
要打印 myvol 的布局:
# vxprint -g mydg -htr ......... dg mydg default default 21000 1381665024.24.onitroad dm disk01 c1t2d0s2 auto 65536 2027168 dm disk02 c1t3d0s2 auto 65536 2027168 dm disk03 c1t4d0s2 auto 65536 2027168 dm disk04 c1t5d0s2 auto 65536 2027168 v myvol - ENABLED ACTIVE 2097152 SELECT - fsgen pl myvol-01 myvol ENABLED ACTIVE 2097152 CONCAT - RW sd disk01-01 myvol-01 disk01 0 2027168 0 c1t2d0 ENA sd disk02-01 myvol-01 disk02 0 69984 2027168 c1t3d0 ENA
镜像条带(RAID 1+0)
在条带镜像的情况下,数据首先被镜像,然后被镜像的数据被条带化,如图所示。
这至少需要 4 个磁盘。
创建镜像条带的命令是:
# vxassist -g mydg make myvol 20m layout=mirror-stripe ncol=2 bash-3.2
要打印镜像条带卷的布局:
# vxprint -g mydg -htr ........ dg mydg default default 21000 1381665024.24.onitroad dm disk01 c1t2d0s2 auto 65536 2027168 dm disk02 c1t3d0s2 auto 65536 2027168 dm disk03 c1t4d0s2 auto 65536 2027168 dm disk04 c1t5d0s2 auto 65536 2027168 v myvol - ENABLED ACTIVE 40960 SELECT - fsgen pl myvol-01 myvol ENABLED ACTIVE 40960 STRIPE 2/128 RW sd disk01-01 myvol-01 disk01 0 20480 0/0 c1t2d0 ENA sd disk02-01 myvol-01 disk02 0 20480 1/0 c1t3d0 ENA pl myvol-02 myvol ENABLED ACTIVE 40960 STRIPE 2/128 RW sd disk03-01 myvol-02 disk03 0 20480 0/0 c1t4d0 ENA sd disk04-01 myvol-02 disk04 0 20480 1/0 c1t5d0 ENA
镜像连接(RAID 0+1)
现在,在镜像连接卷的情况下,数据首先被连接,然后这个连接的数据被镜像,如图所示。
这至少需要 4 个磁盘。
要创建镜像连接卷:
# vxassist -g mydg make myvol 1200m layout=mirror-concat
要打印 mirror-concat 卷的布局:
# vxprint -g mydg -htr ........... dg mydg default default 21000 1381665024.24.onitroad dm disk01 c1t2d0s2 auto 65536 2027168 dm disk02 c1t3d0s2 auto 65536 2027168 dm disk03 c1t4d0s2 auto 65536 2027168 dm disk04 c1t5d0s2 auto 65536 2027168 v myvol - ENABLED ACTIVE 2457600 SELECT - fsgen pl myvol-01 myvol ENABLED ACTIVE 2457600 CONCAT - RW sd disk01-01 myvol-01 disk01 0 2027168 0 c1t2d0 ENA sd disk03-01 myvol-01 disk03 0 430432 2027168 c1t4d0 ENA pl myvol-02 myvol ENABLED ACTIVE 2457600 CONCAT - RW sd disk02-01 myvol-02 disk02 0 2027168 0 c1t3d0 ENA sd disk04-01 myvol-02 disk04 0 430432 2027168 c1t5d0 ENA
在 veritas 卷管理器中可以创建的不同卷布局。
在深入研究 RAID 级别之前,首先创建一个包含 4 个磁盘的磁盘组。
为此,我们必须初始化 4 个磁盘以将它们置于 VxVM 控制之下。
# vxdisksetup -i c1t2d0 # vxdisksetup -i c1t3d0 # vxdisksetup -i c1t4d0 # vxdisksetup -i c1t5d0
在此之后,通过将这四个磁盘命名为 disk01 到 disk04 来创建磁盘组 mydg。
# vxdg init mydg disk01=c1t2d0 disk02=c1t3d0 disk03=c1t4d0 disk04=c1t5d0
要确认磁盘组创建,请检查磁盘组 mydg 中的磁盘:
bash-3.2# vxdg list NAME STATE ID mydg enabled,cds 1381727926.26.onitroad
# vxprint -dg mydg TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0 dm disk01 c1t2d0s2 - 2027168 - - - dm disk02 c1t3d0s2 - 2027168 - - - dm disk03 c1t4d0s2 - 2027168 - - - dm disk04 c1t5d0s2 - 2027168 - - -
镜像布局 (RAID 1)
镜像布局或者 RAID 1 布局是生产环境中最常用的布局之一。
RAID 1 只是将所有数据从一个磁盘镜像到另一个磁盘,这样我们就有了一份另外的数据副本。
这为我们提供了必要的数据冗余。
这里每个 plex 位于不同的磁盘上。
创建 RAID 1 镜像卷的命令是:
# vxassist -g mydg make myvol 20m layout=mirror disk01 disk02
要检查 RAID 1 镜像卷的布局:
# vxprint -g mydg -htr ............. dg mydg default default 21000 1381665024.24.onitroad dm disk01 c1t2d0s2 auto 65536 2027168 dm disk02 c1t3d0s2 auto 65536 2027168 dm disk03 c1t4d0s2 auto 65536 2027168 dm disk04 c1t5d0s2 auto 65536 2027168 v myvol - ENABLED ACTIVE 40960 SELECT - fsgen pl myvol-01 myvol ENABLED ACTIVE 40960 CONCAT - RW sd disk01-01 myvol-01 disk01 0 40960 0 c1t2d0 ENA pl myvol-02 myvol ENABLED ACTIVE 40960 CONCAT - RW sd disk02-01 myvol-02 disk02 0 40960 0 c1t3d0 ENA
RAID 5
对于 RAID 5 卷,奇偶校验信息存储在每个磁盘上,如图所示。
现在,如果我们想恢复由于磁盘故障而丢失的数据,则可以使用此奇偶校验。
奇偶校验分布在所有磁盘上,以确保我们始终有足够的奇偶校验副本。
我们至少需要 3 个磁盘来创建 RAID 5 卷。
创建 RAID 5 卷的命令是:
# vxassist -g mydg make myvol 1200m layout=raid5
要检查 RAID 5 卷的布局:
# vxprint -g mydg -htr ........... dg mydg default default 12000 1381727926.26.onitroad dm disk01 c1t2d0s2 auto 65536 2027168 dm disk02 c1t3d0s2 auto 65536 2027168 dm disk03 c1t4d0s2 auto 65536 2027168 dm disk04 c1t5d0s2 auto 65536 2027168 v myvol - ENABLED ACTIVE 2457600 RAID - raid5 pl myvol-01 myvol ENABLED ACTIVE 2457600 RAID 3/32 RW sd disk01-01 myvol-01 disk01 0 1228800 0/0 c1t2d0 ENA sd disk02-01 myvol-01 disk02 0 1228800 1/0 c1t3d0 ENA sd disk03-01 myvol-01 disk03 0 1228800 2/0 c1t4d0 ENA pl myvol-02 myvol ENABLED LOG 2880 CONCAT - RW sd disk04-01 myvol-02 disk04 0 2880 0 c1t5d0 ENA
各种RAID级别的比较
磁盘串联 | 条带(RAID 0) | 镜像(RAID 1) | RAID 5 | RAID 1+0 和 RAID 0+1 | |
---|---|---|---|---|---|
至少需要的磁盘数量 | 1 | 2 | 2 | 3 | 4 |
数据保护 | 不 | 不 | 是的 | 是的 | 是的 |
磁盘使用率 | 100% | 100% | 50% | 67% | 50% |
读性能 | 高的 | 高的 | 高的 | 高的 | 高的 |
写性能 | 高的 | 高的 | 中等的 | 低的 | 中等的 |
分层卷
分层卷实际上建立在其他卷之上。
在分层卷中,数据在子磁盘级别进行镜像,从而带来更多粒度。
现在要执行此操作,VxVM 从传统卷创建子卷。
优点1. 比 RAID 1+0 和 RAID 0+1 从故障中恢复更快 2. 比 RAID 1+0 和 RAID 0+1 可以持续更多的磁盘故障
缺点1. 需要更多的 VxVM 对象(分层卷需要子卷)
2. 条纹镜
在条带镜像的情况下,子磁盘被镜像以创建子卷的丛。
然后对子卷进行条带化以创建顶级 plex,并最终创建顶级卷。
优势 更容错,因为每个条带都单独镜像。
创建条带镜像卷的命令:
# vxassist -g mydg make myvol 1200m layout=stripe-mirror
检查我们刚刚创建的卷的布局。
我们应该看到 2 个子卷,每个子卷有 2 个卷。
每个卷将有一个 plex 和一个子磁盘。
# vxprint -g mydg -htr .............. dg mydg default default 21000 1381665024.24.onitroad dm disk01 c1t2d0s2 auto 65536 2027168 dm disk02 c1t3d0s2 auto 65536 2027168 dm disk03 c1t4d0s2 auto 65536 2027168 dm disk04 c1t5d0s2 auto 65536 2027168 v myvol - ENABLED ACTIVE 2457600 SELECT myvol-03 fsgen pl myvol-03 myvol ENABLED ACTIVE 2457600 STRIPE 2/128 RW sv myvol-S01 myvol-03 myvol-L01 1 1228800 0/0 2/2 ENA v2 myvol-L01 - ENABLED ACTIVE 1228800 SELECT - fsgen p2 myvol-P01 myvol-L01 ENABLED ACTIVE 1228800 CONCAT - RW s2 disk01-02 myvol-P01 disk01 0 1228800 0 c1t2d0 ENA p2 myvol-P02 myvol-L01 ENABLED ACTIVE 1228800 CONCAT - RW s2 disk03-02 myvol-P02 disk03 0 1228800 0 c1t4d0 ENA sv myvol-S02 myvol-03 myvol-L02 1 1228800 1/0 2/2 ENA v2 myvol-L02 - ENABLED ACTIVE 1228800 SELECT - fsgen p2 myvol-P03 myvol-L02 ENABLED ACTIVE 1228800 CONCAT - RW s2 disk02-02 myvol-P03 disk02 0 1228800 0 c1t3d0 ENA p2 myvol-P04 myvol-L02 ENABLED ACTIVE 1228800 CONCAT - RW s2 disk04-02 myvol-P04 disk04 0 1228800 0 c1t5d0 ENA
1. 连接镜像
在 concat-mirror 的情况下,子磁盘被连接起来为子卷创建 Plex。
子卷被镜像以创建顶级 plex 并最终创建顶级卷。
Advantage Recovery 更快,因为串联的每个部分都单独镜像
创建 concat-mirror 卷的命令:
# vxassist -g mydg make myvol 1200m layout=concat-mirror
检查我们刚刚创建的卷的布局。
我们应该看到 2 个子卷,每个子卷有 2 个卷。
每个卷将有一个 plex 和一个子磁盘。
# vxprint -g mydg -htr ............. dg mydg default default 21000 1381665024.24.onitroad dm disk01 c1t2d0s2 auto 65536 2027168 dm disk02 c1t3d0s2 auto 65536 2027168 dm disk03 c1t4d0s2 auto 65536 2027168 dm disk04 c1t5d0s2 auto 65536 2027168 v myvol - ENABLED ACTIVE 2457600 SELECT - fsgen pl myvol-03 myvol ENABLED ACTIVE 2457600 CONCAT - RW sv myvol-S01 myvol-03 myvol-L01 1 2027168 0 2/2 ENA v2 myvol-L01 - ENABLED ACTIVE 2027168 SELECT - fsgen p2 myvol-P01 myvol-L01 ENABLED ACTIVE 2027168 CONCAT - RW s2 disk01-02 myvol-P01 disk01 0 2027168 0 c1t2d0 ENA p2 myvol-P02 myvol-L01 ENABLED ACTIVE 2027168 CONCAT - RW s2 disk02-02 myvol-P02 disk02 0 2027168 0 c1t3d0 ENA sv myvol-S02 myvol-03 myvol-L02 1 430432 2027168 2/2 ENA v2 myvol-L02 - ENABLED ACTIVE 430432 SELECT - fsgen p2 myvol-P03 myvol-L02 ENABLED ACTIVE 430432 CONCAT - RW s2 disk03-02 myvol-P03 disk03 0 430432 0 c1t4d0 ENA p2 myvol-P04 myvol-L02 ENABLED ACTIVE 430432 CONCAT - RW s2 disk04-02 myvol-P04 disk04 0 430432 0 c1t5d0 ENA
RAID 0(条带卷- striped volume)
在这种情况下,我们通过在每个磁盘上创建相同大小的列来将数据分布到多个磁盘。
每列将在一个单独的磁盘上。
与连续卷类似,剥离卷也不为数据提供任何冗余,因为它在任何时间点都只有一个数据副本。
要创建剥离卷,我们至少需要 2 个磁盘。
# vxassist -g mydg make myvol 1g layout=stripe disk01 disk02
# vxprint -g mydg -htr ........... dg mydg default default 21000 1381665024.24.onitroad dm disk01 c1t2d0s2 auto 65536 2027168 dm disk02 c1t3d0s2 auto 65536 2027168 dm disk03 c1t4d0s2 auto 65536 2027168 dm disk04 c1t5d0s2 auto 65536 2027168 v myvol - ENABLED ACTIVE 2097152 SELECT myvol-01 fsgen pl myvol-01 myvol ENABLED ACTIVE 2097152 STRIPE 2/128 RW sd disk01-01 myvol-01 disk01 0 1048576 0/0 c1t2d0 ENA sd disk02-01 myvol-01 disk02 0 1048576 1/0 c1t3d0 ENA
现在,我们可以指定条带化数据所需的列数。
我们也可以提及条带单元。
# vxassist -g mydg make myvol 1g layout=stripe ncol=2 stripeunit=256k
# vxprint -g mydg -htr .......... dg mydg default default 21000 1381665024.24.onitroad dm disk01 c1t2d0s2 auto 65536 2027168 dm disk02 c1t3d0s2 auto 65536 2027168 dm disk03 c1t4d0s2 auto 65536 2027168 dm disk04 c1t5d0s2 auto 65536 2027168 v myvol - ENABLED ACTIVE 2097152 SELECT myvol-01 fsgen pl myvol-01 myvol ENABLED ACTIVE 2097152 STRIPE 2/512 RW sd disk01-01 myvol-01 disk01 0 1048576 0/0 c1t2d0 ENA sd disk02-01 myvol-01 disk02 0 1048576 1/0 c1t3d0 ENA
各种RAID级别的优缺点
磁盘串联 | RAID 0(条带化) | RAID 1(镜像) | RAID 5 | |
---|---|---|---|---|
优点 | 1. 易于管理 2. 最大限度地利用磁盘空间。 3. 可以添加任何大小的磁盘来创建卷。 | 1. 并行数据传输,提高写入速度。 | 1. 防止磁盘故障。 2.更快的写入性能 | 1. 比镜像更多的可用磁盘空间。 2.冗余 3.快速阅读 4.通过奇偶校验更快地恢复。 |
缺点 | 1. 无冗余 | 1. 无冗余 | 1.需要更多的磁盘来配置。 2. 写性能有点慢。 | 1. 由于校验导致写入缓慢。 2. 磁盘故障后性能不佳。 |