串联卷 (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
欢迎 on it road

镜像条带(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
VxVM 卷布局和分层卷

在 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 5RAID 1+0 和 RAID 0+1
至少需要的磁盘数量12234
数据保护是的是的是的
磁盘使用率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. 磁盘故障后性能不佳。
日期:2020-09-17 00:15:30 来源:oir作者:oir