Категорії
Solaris

Узнаём размер блока, которым создан файл

Данная статья является вольным переводом этой

И так, как узнать размер блока, которым был создан файл? Посмотреть свойство zfs? Нет. Так мы сможем узнать только текущий размер блока, поскольку он может меняться налету. Что же делать? На помощь приходит дебаггер zdb.

Узнаём inode number нашего файла:

jmoekamp@hivemind:/datapool/bibliothek/isos# ls -i sol-11-1111-text-x86.iso
1614570 sol-11-1111-text-x86.iso

Далее с помощью дебаггера zdb узнаём размер блока (с помощью inode number’a, колонка dblk)

# zdb -dddd datapool/bibliothek 1614570
Dataset datapool/bibliothek [ZPL], ID 72, cr_txg 45, 290G,
 701819 objects, rootbp DVA[0]=<0:8200183e00:200> 
 DVA[1]=<0:c600022600:200> [L0 DMU objset] fletcher4 lzjb
 LE contiguous unique double size=800L/200P 
 birth=26695605L/26695605P fill=701819 
 cksum=1ba679a565:8fe1c27eed6:19759bef3e3c4:33579b07e80a94

    Object  lvl   iblk   dblk  dsize  lsize   %full  type
   1614570    3    16K   128K   425M   430M   99.97  ZFS plain file
                                        264   bonus  ZFS znode
        dnode flags: USED_BYTES USERUSED_ACCOUNTED
        dnode maxblkid: 3436
        path    /isos/sol-11-1111-text-x86.iso
        uid     101
        gid     10
        atime   Fri Apr 27 16:25:02 2012
        mtime   Tue Dec 20 18:58:43 2011
        ctime   Wed Apr 25 15:00:01 2012
        crtime  Wed Apr 25 14:59:12 2012
        gen     26605871
        mode    100000
        size    450799616
        parent  168872
        links   1
        xattr   1614571
        rdev    0x0000000000000000

Как можно увидеть (по колонке dblk) размер составляет 128 Кб. Изменим размер блока сделаем копию нашего файла и узнаем innode number:

# zfs recordsize=8k datapool/bibliothek
# cp sol-11-1111-text-x86.iso sol-11-1111-text-x86.iso.8kcopy
# ls -i sol-11-1111-text-x86.iso.8kcopy
508011 sol-11-1111-text-x86.iso.8kcopy

Теперь обратно запустим zdb с новым innode number’ом и посмотрим:

# zdb -dd datapool/bibliothek 508011
Dataset datapool/bibliothek [ZPL], ID 72, cr_txg 45, 291G, 701820 objects

    Object  lvl   iblk   dblk  dsize  lsize   %full  type
    508011    4    16K     8K   429M   430M   99.90  ZFS plain file

Как видно, размер блока у нового файла составляет уже 16Кб.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff