@nukler
местный юродивый

Поясните несколько вопросов по ZFS (создание пула и типы рейдов)?

Добрый день уважаемые. Изучаю возможности ZFS и прочее.
Начал с простого, создал три файла на 100мегобайт

uzer@lili:~$ for i in $(seq 1 3); do dd if=/dev/zero of=~/zDisk_${i} bs=100M seek=0 count=1; done

uzer@lili:~$ ls -alFi ~/ | grep zDisk
 124111 -rw-rw-r--   1 uzer uzer  104857600 фев 10 14:17 zDisk_1
 124113 -rw-rw-r--   1 uzer uzer  104857600 фев 10 14:17 zDisk_2
 124114 -rw-rw-r--   1 uzer uzer  104857600 фев 10 14:17 zDisk_3


Далее создаем
uzer@lili:~$ sudo zpool create z_pool_m mirror ~/zDisk_1 ~/zDisk_2 ~/zDisk_3


И тут же проверяем что получается:
uzer@lili:~$ sudo zpool list
NAME       SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
z_pool_m    80M   100K  79,9M         -     1%     0%  1.00x  ONLINE  -


Вопрос, почему SIZE равен 80M?
uzer@lili:~$ sudo zpool status z_pool_m 
  pool: z_pool_m
 state: ONLINE
  scan: scrub repaired 0B in 0h0m with 0 errors on Mon Feb 10 13:59:15 2020
config:

	NAME                     STATE     READ WRITE CKSUM
	z_pool_m                 ONLINE       0     0     0
	  mirror-0               ONLINE       0     0     0
	    /home/uzer/z_disk-1  ONLINE       0     0     0
	    /home/uzer/z_disk-2  ONLINE       0     0     0
	    /home/uzer/z_disk-3  ONLINE       0     0     0


Проверяем df -h
uzer@lili:~$ sudo df -h | grep z_pool_m
z_pool_m          40M            0   40M            0% /z_pool_m


Почему то уже Размер равен 40M??

Проверяем
root@lili:~# pv /dev/zero > /z_pool_m/file.n00l
38,1MiB 0:00:06 [4,08MiB/s] [<=>]
pv: write failed: На устройстве не осталось свободного места


Получается df не врёт? Почему 80M а не 100M? Куда делось 20М??

Второй вопрос. Как точно можно узнать тип zpool? Это mirror это рейд, это что вообще??
Пример:
uzer@lili:~$ sudo zpool create z_pool_m  ~/zDisk_1 ~/zDisk_2 ~/zDisk_3

uzer@lili:~$ sudo zpool list
NAME       SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
z_pool_m   240M   111K   240M         -     1%     0%  1.00x  ONLINE  -

uzer@lili:~$ sudo zpool status z_pool_m 
  pool: z_pool_m
 state: ONLINE
  scan: none requested
config:

	NAME                  STATE     READ WRITE CKSUM
	z_pool_m              ONLINE       0     0     0
	  /home/uzer/zDisk_1  ONLINE       0     0     0
	  /home/uzer/zDisk_2  ONLINE       0     0     0
	  /home/uzer/zDisk_3  ONLINE       0     0     0

errors: No known data errors

uzer@lili:~$ sudo df -h | grep z_pool_m
z_pool_m         120M            0  120M            0% /z_pool_m

uzer@lili:~$ sudo zpool get all z_pool_m 
NAME      PROPERTY                       VALUE                          SOURCE
z_pool_m  size                           240M                           -
z_pool_m  capacity                       0%                             -
z_pool_m  altroot                        -                              default
z_pool_m  health                         ONLINE                         -
z_pool_m  guid                           9509426525379673797            -
z_pool_m  version                        -                              default
z_pool_m  bootfs                         -                              default
z_pool_m  delegation                     on                             default
z_pool_m  autoreplace                    off                            default
z_pool_m  cachefile                      -                              default
z_pool_m  failmode                       wait                           default
z_pool_m  listsnapshots                  off                            default
z_pool_m  autoexpand                     off                            default
z_pool_m  dedupditto                     0                              default
z_pool_m  dedupratio                     1.00x                          -
z_pool_m  free                           240M                           -
z_pool_m  allocated                      108K                           -
z_pool_m  readonly                       off                            -
z_pool_m  ashift                         0                              default
z_pool_m  comment                        -                              default
z_pool_m  expandsize                     -                              -
z_pool_m  freeing                        0                              -
z_pool_m  fragmentation                  1%                             -
z_pool_m  leaked                         0                              -
z_pool_m  multihost                      off                            default
z_pool_m  feature@async_destroy          enabled                        local
z_pool_m  feature@empty_bpobj            enabled                        local
z_pool_m  feature@lz4_compress           active                         local
z_pool_m  feature@multi_vdev_crash_dump  enabled                        local
z_pool_m  feature@spacemap_histogram     active                         local
z_pool_m  feature@enabled_txg            active                         local
z_pool_m  feature@hole_birth             active                         local
z_pool_m  feature@extensible_dataset     active                         local
z_pool_m  feature@embedded_data          active                         local
z_pool_m  feature@bookmarks              enabled                        local
z_pool_m  feature@filesystem_limits      enabled                        local
z_pool_m  feature@large_blocks           enabled                        local
z_pool_m  feature@large_dnode            enabled                        local
z_pool_m  feature@sha512                 enabled                        local
z_pool_m  feature@skein                  enabled                        local
z_pool_m  feature@edonr                  enabled                        local
z_pool_m  feature@userobj_accounting     active                         loca


Какой тип тут?? Ну то есть что бы явно было написано?

Заранее спасибо.
  • Вопрос задан
  • 256 просмотров
Пригласить эксперта
Ответы на вопрос 1
@elbrus56
Вопрос, почему SIZE равен 80M?

Потому что при создании пула автоматом создается и ФС, inodes, etc.

Почему то уже Размер равен 40M??

Потому что df делали когда не было ZFS

Как точно можно узнать тип zpool? Это mirror это рейд, это что вообще??

Команда zpool status показывает, что к чему. В первом примере у вас явно указано mirror, во втором у вас ничего не написано, то есть stripe.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы