?

Log in

entries friends calendar profile Мой сайт Previous Previous Next Next
Как RAIDZ использует диски? - Opensolaris
jabrusli
ru_opensolaris
jabrusli
Как RAIDZ использует диски?
Подскажи пожалуйста, если я сделаю в zfs один raidz из 5 дисков и сохраню на него файл, размером 1 мегабайт, то при чтении этого файла сколько дисков будет использоваться? 1, 4 или все 5?

И такой же вопрос про запись: 2 или 5 дисков?

Есть ли возможность как-то управлять этим?

С одной стороны вроде файл должен разделиться на несколько кусочков (по размеру одного блока) и потом веером записаться на все диски. С другой стороны вроде размер блока в zfs динамический, поэтому может произойти запись одного блока размером 1 мегабайт на один диск и блока чётности на второй. С третьей стороны, zfs может побить файл на несколько блоков и все блоки записать на один диск и к каждому по блоку чётности на второй диск.

Какой алгоритм используется и можно ли им управлять?

Метки:

1 комментарий or Оставить комментарий
Comments
From: achapkis Date: Август, 3, 2007 22:57 (UTC) (Ссылка)
Насчет первого вопроса - только что такое сделал:

root@odouls:/zfspool# zpool status -v
pool: testpool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c3t1d0 ONLINE 0 0 0
c3t2d0 ONLINE 0 0 0
c3t3d0 ONLINE 0 0 0
c3t4d0 ONLINE 0 0 0
c3t5d0 ONLINE 0 0 0

errors: No known data errors

root@odouls:/zfspool# zpool iostat -v
capacity operations bandwidth
pool used avail read write read write
---------- ----- ----- ----- ----- ----- -----
testpool 1.75M 169G 0 2 8 14.0K
raidz1 1.75M 169G 0 2 8 14.0K
c3t1d0 - - 0 1 260 5.26K
c3t2d0 - - 0 1 329 5.27K
c3t3d0 - - 0 1 191 5.27K
c3t4d0 - - 0 1 191 5.27K
c3t5d0 - - 0 1 260 5.26K
---------- ----- ----- ----- ----- ----- -----

root@odouls:/zfspool# dd if=/dev/zero of=testfile bs=1024k count=1
1+0 records in
1+0 records out

root@odouls:/zfspool# ls -lh
total 4104
-rw-r--r-- 1 root root 1.0M Aug 3 17:52 testfile
-rw-r--r-- 1 root root 1.0M Aug 3 17:53 testfile1

В то же самое время я делал zpool iostat -v 1 (замерял в рельном времени с выводом каждую секунду) и вот что увидел

capacity operations bandwidth
pool used avail read write read write
---------- ----- ----- ----- ----- ----- -----
testpool 2.85M 169G 0 62 0 1.06M
raidz1 2.85M 169G 0 62 0 1.06M
c3t1d0 - - 0 31 0 275K
c3t2d0 - - 0 32 0 276K
c3t3d0 - - 0 35 0 279K
c3t4d0 - - 0 37 0 279K
c3t5d0 - - 0 36 0 277K
---------- ----- ----- ----- ----- ----- -----

1 комментарий or Оставить комментарий