Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Paul Tatarenko

On 21.01.2021 11:37, Mikhail Golub wrote:

Заархивировал каталог, забрал на винду, разархивировал.
450 Мб (грубо).
Но не 950, как говорит df или сама ZFS.
Т.е. mc и 7z говорят правду.

Так надо было уже на той самой венде пойти дальше и проверить всё. Там 
же всё написано! :)


Размер файлов и занимаемое ими пространство - две большие разницы. mc и 
7z оперируют тем, с чем они и работают - размер файлов. Занимаемое этими 
файлами пространство их коснётся только когда оно закончится и не будет 
свободного места для записи очередного файла. du (disk usage) и df (disk 
free), наоборот, оперируют пространством, занятым файлами на диске и 
размер собственно файла их не интересует. Отсюда и разница - файл 
размером 1 байт занимает на диске 1 условный блок, которым оперирует 
конкретная ФС для хранения файлов.


Для примера приатачил скриншот с оффтопика со свойствами каталога с 
похожим объёмом и количеством файлов (случайно угадал :)). Разница в 
размере файлов и в пространстве, занятом ими на диске, на томе NTFS с 
параметрами по умолчанию (кластер 4 Кб) - около 50 мегабайт. Не в два 
раза, конечно, но она есть.


Думаю, если перенести этот каталог на искомую ФС, то разница стала бы 
больше 50 Мбайт.


И об открытых файлах, линках и других прелестях не стоит забывать.

--
Best regards,
 Paul Tatarenko   http://tatarenko.kiev.ua
[listening to coolest sound - silence]
[Silence is sexy - Einsturzende Neubauten]

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Vladimir Sharun
Привет,

recordsize - это ограничение сверху, снизу - ashift.

Файловая система будет использовать такой размер блока, который больше подходит 
под паттерн, а не всегда 128к, вот пример zfs, где 128к был включен при 
создании (256к - это эксперимент "потом"), ashift - 12

Block Size Histogram

 block   psize                lsize                asize
  size   Count   Size   Cum.  Count   Size   Cum.  Count   Size   Cum.
   512:   116K  57.9M  57.9M   116K  57.9M  57.9M      0      0      0
    1K:   129K   156M   214M   129K   156M   214M      0      0      0
    2K:   136K   359M   573M   136K   359M   573M      0      0      0
    4K:   214K   890M  1.43G   116K   614M  1.16G   484K  1.89G  1.89G
    8K:  93.0K   889M  2.30G  68.7K   759M  1.90G   198K  1.69G  3.58G
   16K:  72.4K  1.50G  3.80G   100K  1.90G  3.80G  77.2K  1.58G  5.16G
   32K:   135K  6.07G  9.87G  31.8K  1.39G  5.19G   135K  6.07G  11.2G
   64K:  74.6K  5.49G  15.4G  19.7K  1.72G  6.91G  74.4K  5.47G  16.7G
  128K:  5.21K   667M  16.0G   258K  32.2G  39.1G  5.45K   720M  17.4G
  256K:      0      0  16.0G      0      0  39.1G    174  45.7M  17.5G

Нас интересуют фактически аллокации - asize. 484к блоков 4к против 5.45к блоков 
128к. Вот такой паттерн у этой конкретной ФС. 
А вот например свалка с блоком 1М и оч тяжелым контентом:
Block Size Histogram

 block   psize                lsize                asize
  size   Count   Size   Cum.  Count   Size   Cum.  Count   Size   Cum.
   512:  4.75K  2.38M  2.38M  2.73K  1.36M  1.36M      0      0      0
    1K:  68.9K  72.7M  75.0M  1.26K  1.48M  2.84M      0      0      0
    2K:  37.7K  94.6M   170M  2.04K  6.41M  9.25M      0      0      0
    4K:  16.8K  69.8M   239M  23.1K   128M   138M      0      0      0
    8K:  5.14K  60.5M   300M  3.62K  43.6M   181M  23.3K   187M   187M
   16K:  5.88K   133M   433M  19.4K   335M   516M   111K  1.81G  1.99G
   32K:  21.0K   984M  1.38G  11.5K   566M  1.06G  9.45K   415M  2.40G
   64K:  13.7K  1.17G  2.56G  7.66K   623M  1.66G  25.8K  2.29G  4.68G
  128K:   580K  73.3G  75.9G   658K  82.4G  84.1G   579K  90.7G  95.4G
  256K:  24.0K  8.96G  84.9G  2.60K  1.01G  85.1G  20.8K  7.66G   103G
  512K:   183K   146G   231G  11.2K  9.13G  94.2G  93.5K  79.7G   183G
    1M:  6.69M  6.69T  6.91T  6.90M  6.90T  6.99T  6.78M  8.14T  8.32T

Другой паттерн и другой тип аллокации блоков.

Эти два zfs-а в одном физическом сервере.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Mikhail Golub

Читал когда-то не эти ссылки. Но нашел пока это.
Да, это не оф. документация ...

https://www.percona.com/blog/2017/12/07/hands-look-zfs-with-mysql/
https://skeletor.org.ua/?p=4212

On 21.01.2021 13:54, Vladimir Sharun wrote:

Привет,


Но поб базы данных, например, надо менять.


Из каких соображений например ? В т.ч. и про бэкапы.



___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Vladimir Sharun
Привет,

> Но поб базы данных, например, надо менять.

Из каких соображений например ? В т.ч. и про бэкапы.


21 січня 2021, 13:13:01, від "Mikhail Golub" :

В recordsize дело.
Убрал файлы с ФС (утром менял recordsize с 2 Кб на 128 Кб), вернул обратно.
Все объемы совпадают.

А на счет "Зачем его вообще трогать, 128к - очень ок почти для всего" - 
да ... Но поб базы данных, например, надо менять. Под бэкапы (большие 
файлы) желательно тоже менять.
Я почему-то решил (или где-то вычитал), что под сайт (много мелких 
файлов) лучше сделать размер 2 Кб.

On 21.01.2021 12:00, Vladimir Sharun wrote:
> du -d 1 -h
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Eugene Grosbein
21.01.2021 18:15, Mikhail Golub пишет:
> все дело в recordsize.

> # diskinfo -v da1
> da1
> 512 # sectorsize

> 
> # zdb -C | egrep 'ashift| name'
> name: 'tank'
> ashift: 9
> name: 'www'
> ashift: 12

Да, recordsize 2KB при ashift 12 (4KB) очевидно, плохая идея.
Можно попробовать сделать recordsize 4KB, проблема должна уйти.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Mikhail Golub

все дело в recordsize.

On 21.01.2021 12:55, Eugene Grosbein wrote:

iskinfo -v


# diskinfo -v da1
da1
512 # sectorsize
161061273600# mediasize in bytes (150G)
314572800   # mediasize in sectors
0   # stripesize
0   # stripeoffset
19581   # Cylinders according to firmware.
255 # Heads according to firmware.
63  # Sectors according to firmware.
VMware Virtual disk # Disk descr.
# Disk ident.
No  # TRIM/UNMAP support
Unknown # Rotation rate in RPM
Not_Zoned   # Zone Mode


# zdb -C | egrep 'ashift| name'
name: 'tank'
ashift: 9
name: 'www'
ashift: 12


___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Mikhail Golub

В recordsize дело.
Убрал файлы с ФС (утром менял recordsize с 2 Кб на 128 Кб), вернул обратно.
Все объемы совпадают.

А на счет "Зачем его вообще трогать, 128к - очень ок почти для всего" - 
да ... Но поб базы данных, например, надо менять. Под бэкапы (большие 
файлы) желательно тоже менять.
Я почему-то решил (или где-то вычитал), что под сайт (много мелких 
файлов) лучше сделать размер 2 Кб.


On 21.01.2021 12:00, Vladimir Sharun wrote:

du -d 1 -h


___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Eugene Grosbein
21.01.2021 15:47, Mikhail Golub пишет:
> Доброго времени суток.
> 
> Поясните, пожалуста, не могу понять.
> 
> Имеется FreeBSD 12.1 на виртуалке.
> Пул ZFS с одним диском.
> На пуле файловая система.
> Задан параметр refquota 2 Гб.
> На этой файловой системе лежит каталог сайта (данные 7z):
> 1220 folders, 7395 files, 460629747 bytes (440 MiB)

1220+7395=8615 пользовательских объектов на файловой системе,
460629747/8615 = 53468 байт на объект в среднем.

949M/439M = 2.16, то есть каждый объект в действительности
занимает на fs вдвое больше места, чем его длина в среднем...

Вопрос: что показывает diskinfo -v для "диска" в этой виртуалке?
И ещё zdb -C | egrep 'ashift| name'


___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Vladislav V. Prodan
чт, 21 янв. 2021 г. в 11:51, Mikhail Golub :

> >>> mc и 7z считают сами и, очевидно, считают неправильно. А почему -
> >>> вопрос к ним.
> >>>
> >> Заархивировал каталог, забрал на винду, разархивировал.
> >> 450 Мб (грубо).
> >> Но не 950, как говорит df или сама ZFS.
> >> Т.е. mc и 7z говорят правду.
> > Случаем на той фс нет удалённых, но всё ещё открытых каким-нибудь
> > процессом файлов?
>
> Нет. Есть snapshots.
>

Значит, смотрите место, занимаемое снапшотами.

-- 
 Vladislav V. Prodan
 System & Network Administrator
 support.od.ua
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Vladimir Sharun
Привет,

`du -d 1 -h` и сравнивай каталог за каталогом, где у тебя расхождения c mc.

Если это что-то системное, то все каталоги будут больше в два раза, если не 
системная - то где-то будет что-то, чего не видно для mc/7z

Я думаю что проблема где-то на нестыковке ashift в zpool (4k) и блока в 2k: ты 
насильно удваиваешь потребляемый спейс.
Зачем его вообще трогать, 128к - очень ок почти для всего. Есть крайне очень 
редкие кейсы, когда надо файн-тюнить руками.

21 січня 2021, 10:48:05, від "Mikhail Golub" :

Доброго времени суток.

Поясните, пожалуста, не могу понять.

Имеется FreeBSD 12.1 на виртуалке.
Пул ZFS с одним диском.
На пуле файловая система.
Задан параметр refquota 2 Гб.
На этой файловой системе лежит каталог сайта (данные 7z):
1220 folders, 7395 files, 460629747 bytes (440 MiB)

И 7z и mc сообщают одинаковый размер.

А du и df - другой размер занимаемого пространства.
# df -h /www/sites/netapp-event
FilesystemSizeUsed   Avail Capacity  Mounted on
www/sites/netapp-event2,0G949M1,1G46% 
/www/sites/netapp-event

# du -d 0 -h /www/sites/netapp-event
953M/www/sites/netapp-event

NAMEPROPERTY VALUE  SOURCE
www/sites/netapp-event  quotanone   local
www/sites/netapp-event  refquota 2G local
www/sites/netapp-event  compression  offdefault
www/sites/netapp-event  usedbydataset949M   -
www/sites/netapp-event  usedbysnapshots  317M   -
www/sites/netapp-event  dedupoffdefault

recordsize был 2 Кб. Сегодня поменял на дефолтный 128 Кб.

Из-за чего разница в результатах используемого дискового пространства?

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Mikhail Golub
mc и 7z считают сами и, очевидно, считают неправильно. А почему - 
вопрос к ним.



Заархивировал каталог, забрал на винду, разархивировал.
450 Мб (грубо).
Но не 950, как говорит df или сама ZFS.
Т.е. mc и 7z говорят правду.
Случаем на той фс нет удалённых, но всё ещё открытых каким-нибудь 
процессом файлов?


Нет. Есть snapshots.
Но они вряд ли влияют на это.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Владимир Друзенко via freebsd

21.01.2021 12:37, Mikhail Golub пишет:
df также показывает данные от ядра. du считает сам, причём du может 
показывать сильно разные данные

при использовании ключа -A и без него.

mc и 7z считают сами и, очевидно, считают неправильно. А почему - 
вопрос к ним.



Заархивировал каталог, забрал на винду, разархивировал.
450 Мб (грубо).
Но не 950, как говорит df или сама ZFS.
Т.е. mc и 7z говорят правду.
Случаем на той фс нет удалённых, но всё ещё открытых каким-нибудь 
процессом файлов?

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Mikhail Golub

recordsize был 2 Кб. Сегодня поменял на дефолтный 128 Кб.


Смена recordsize влияет на вновь записываемые блоки данных, но не влияет на 
ранее записанные.


Это я понимаю.
Просто указал какие действия выполнял.


df также показывает данные от ядра. du считает сам, причём du может показывать 
сильно разные данные
при использовании ключа -A и без него.

mc и 7z считают сами и, очевидно, считают неправильно. А почему - вопрос к ним.


Заархивировал каталог, забрал на винду, разархивировал.
450 Мб (грубо).
Но не 950, как говорит df или сама ZFS.
Т.е. mc и 7z говорят правду.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Valentin Nechayev
 Thu, Jan 21, 2021 at 10:47:47, gmn wrote about "[freebsd] ZFS - занимаемое 
пространство": 

> На этой файловой системе лежит каталог сайта (данные 7z):
> 1220 folders, 7395 files, 460629747 bytes (440 MiB)
> И 7z и mc сообщают одинаковый размер.
> А du и df - другой размер занимаемого пространства.

Я так понимаю, 7z и mc сообщают сумму видимых байт. du по
умолчанию округляет до блоков, как он их понимает (размер блока
берёт из данных FS). Про df на ZFS ничего не скажу...

> recordsize был 2 Кб. Сегодня поменял на дефолтный 128 Кб.

Возможно, от этого разница только увеличится.


-netch-
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Eugene Grosbein
21.01.2021 15:47, Mikhail Golub пишет:
> Доброго времени суток.
> 
> Поясните, пожалуста, не могу понять.
> 
> Имеется FreeBSD 12.1 на виртуалке.
> Пул ZFS с одним диском.
> На пуле файловая система.
> Задан параметр refquota 2 Гб.
> На этой файловой системе лежит каталог сайта (данные 7z):
> 1220 folders, 7395 files, 460629747 bytes (440 MiB)
> 
> И 7z и mc сообщают одинаковый размер.
> 
> А du и df - другой размер занимаемого пространства.
> # df -h /www/sites/netapp-event
> FilesystemSizeUsed   Avail Capacity  Mounted on
> www/sites/netapp-event2,0G949M1,1G46% /www/sites/netapp-event
> 
> # du -d 0 -h /www/sites/netapp-event
> 953M/www/sites/netapp-event
> 
> NAMEPROPERTY VALUE  SOURCE
> www/sites/netapp-event  quotanone   local
> www/sites/netapp-event  refquota 2G local
> www/sites/netapp-event  compression  offdefault
> www/sites/netapp-event  usedbydataset949M   -
> www/sites/netapp-event  usedbysnapshots  317M   -
> www/sites/netapp-event  dedupoffdefault

Это данные от ядра, от самой ZFS.

> recordsize был 2 Кб. Сегодня поменял на дефолтный 128 Кб.

Смена recordsize влияет на вновь записываемые блоки данных, но не влияет на 
ранее записанные.

> Из-за чего разница в результатах используемого дискового пространства?

df также показывает данные от ядра. du считает сам, причём du может показывать 
сильно разные данные
при использовании ключа -A и без него.

mc и 7z считают сами и, очевидно, считают неправильно. А почему - вопрос к ним.


___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


[freebsd] ZFS - занимаемое пространство

2021-01-21 Пенетрантность Mikhail Golub

Доброго времени суток.

Поясните, пожалуста, не могу понять.

Имеется FreeBSD 12.1 на виртуалке.
Пул ZFS с одним диском.
На пуле файловая система.
Задан параметр refquota 2 Гб.
На этой файловой системе лежит каталог сайта (данные 7z):
1220 folders, 7395 files, 460629747 bytes (440 MiB)

И 7z и mc сообщают одинаковый размер.

А du и df - другой размер занимаемого пространства.
# df -h /www/sites/netapp-event
FilesystemSizeUsed   Avail Capacity  Mounted on
www/sites/netapp-event2,0G949M1,1G46% 
/www/sites/netapp-event


# du -d 0 -h /www/sites/netapp-event
953M/www/sites/netapp-event

NAMEPROPERTY VALUE  SOURCE
www/sites/netapp-event  quotanone   local
www/sites/netapp-event  refquota 2G local
www/sites/netapp-event  compression  offdefault
www/sites/netapp-event  usedbydataset949M   -
www/sites/netapp-event  usedbysnapshots  317M   -
www/sites/netapp-event  dedupoffdefault

recordsize был 2 Кб. Сегодня поменял на дефолтный 128 Кб.

Из-за чего разница в результатах используемого дискового пространства?

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd