Portál AbcLinuxu, 11. května 2024 05:56

Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2

23.12.2019 13:37 | Přečteno: 1459× | Bežná práca s Desktopom | poslední úprava: 21.12.2019 20:18

V tomto dieli si vytvoríme dátové disky, otestujeme či aj na nich funguje TRIM a hlavne pripravíme deduplikačný backend pre zdieľanie súborového systému.

Potrebné nástroje:

Všetko od minula.
Balík zfsutils-linux
Balík pre NFS Server nfs-kernel-server ktorý si dotiahne aj klientský balík nfs-common. Balík samba a voliteľne aj balík smbclient a winbind.

Publikácia dátových diskov

Teraz si napublikujeme 6 diskov o veľkosti 10G ktoré pripojíme do VM. Keďže sme sa naklikali už dosť, tak to urobíme pomocou dávky.
golisp@web:~$ sudo -i
root@web:~# HOST="Ubuntu-1910-NAS"
root@web:~# SIZE="10G"
root@web:~# for i in sdb sdc sdd sde sdf sdg
> do
>   qemu-img create -f qcow2 /var/lib/libvirt/images/${HOST}-ZFS-${i}.qcow2 ${SIZE}
>   virsh attach-disk ${HOST} /var/lib/libvirt/images/${HOST}-ZFS-${i}.qcow2 ${i} --driver qemu --subdriver qcow2 --targetbus scsi --persistent
>   virt-xml ${HOST} --edit path=/var/lib/libvirt/images/${HOST}-ZFS-${i}.qcow2 --disk discard=unmap
> done
Formatting '/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdb.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536 lazy_refcounts=off refcount_bits=16
Disk attached successfully

Domain 'Ubuntu-1910-NAS' defined successfully.
Formatting '/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdc.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536 lazy_refcounts=off refcount_bits=16
Disk attached successfully

Domain 'Ubuntu-1910-NAS' defined successfully.
Formatting '/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdd.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536 lazy_refcounts=off refcount_bits=16
Disk attached successfully

Domain 'Ubuntu-1910-NAS' defined successfully.
Formatting '/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sde.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536 lazy_refcounts=off refcount_bits=16
Disk attached successfully

Domain 'Ubuntu-1910-NAS' defined successfully.
Formatting '/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdf.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536 lazy_refcounts=off refcount_bits=16
Disk attached successfully

Domain 'Ubuntu-1910-NAS' defined successfully.
Formatting '/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdg.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536 lazy_refcounts=off refcount_bits=16
Disk attached successfully

Domain 'Ubuntu-1910-NAS' defined successfully.
root@web:~# 
root@web:~# virsh domblklist ${HOST} --details
Type       Device     Target     Source
------------------------------------------------
file       disk       sda        /var/lib/libvirt/images/Ubuntu-1910-NAS.qcow2
file       cdrom      hda        -
file       disk       sdb        /var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdb.qcow2
file       disk       sdc        /var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdc.qcow2
file       disk       sdd        /var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdd.qcow2
file       disk       sde        /var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sde.qcow2
file       disk       sdf        /var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdf.qcow2
file       disk       sdg        /var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdg.qcow2

root@web:~# 

Vo výsledku teda máme pripojených 6x10G virtuálnych diskov pre dáta, s aktívnym TRIM. Kto chce, ten si to môže overiť.

Vytvorenie dátovej oblasti:

Teraz si na takto vytvorených virtuálnych diskoch vytvoríme ZFS raidz1 ktorý je obdoba RAID5.Disky spoznáme nie podľa názvu device file, ale podľa chybajúcej tabuľky rozdelenia diskov.
golisp@web:~$ ssh Ubuntu-1910-NAS
golisp@Ubuntu-1910-NAS's password: 
golisp@Ubuntu-1910-NAS:~$ ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0 Nov 28 19:56 /dev/sda
brw-rw---- 1 root disk 8, 16 Nov 28 19:56 /dev/sdb
brw-rw---- 1 root disk 8, 32 Nov 28 19:56 /dev/sdc
brw-rw---- 1 root disk 8, 48 Nov 28 19:56 /dev/sdd
brw-rw---- 1 root disk 8, 64 Nov 28 19:56 /dev/sde
brw-rw---- 1 root disk 8, 80 Nov 28 19:56 /dev/sdf
brw-rw---- 1 root disk 8, 96 Nov 28 19:56 /dev/sdg
brw-rw---- 1 root disk 8, 97 Nov 28 19:56 /dev/sdg1
brw-rw---- 1 root disk 8, 98 Nov 28 19:56 /dev/sdg2
golisp@Ubuntu-1910-NAS:~$ sudo apt install zfsutils-linux
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libnvpair1linux libuutil1linux libzfs2linux libzpool2linux zfs-zed
Suggested packages:
  nfs-kernel-server samba-common-bin zfs-initramfs | zfs-dracut
The following NEW packages will be installed:
  libnvpair1linux libuutil1linux libzfs2linux libzpool2linux zfs-zed zfsutils-linux
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
...
golisp@Ubuntu-1910-NAS:~$ sudo zpool create EXPORTS raidz sda sdb sdc sdd sde spare sdf
golisp@Ubuntu-1910-NAS:~$ zpool status
  pool: EXPORTS
 state: ONLINE
  scan: none requested
config:

	NAME        STATE     READ WRITE CKSUM
	EXPORTS     ONLINE       0     0     0
	  raidz1-0  ONLINE       0     0     0
	    sda     ONLINE       0     0     0
	    sdb     ONLINE       0     0     0
	    sdc     ONLINE       0     0     0
	    sdd     ONLINE       0     0     0
	    sde     ONLINE       0     0     0
	spares
	  sdf       AVAIL   

errors: No known data errors
golisp@Ubuntu-1910-NAS:~$ df -h /EXPORTS
Filesystem      Size  Used Avail Use% Mounted on
EXPORTS          39G  128K   39G   1% /EXPORTS
golisp@Ubuntu-1910-NAS:~$ 
Vo výsledku tak máme RAIDZ (RAID5) nad piatimi diskami, a jeden rezervný (spare) disk.

Overenie TRIM na dátovej oblasti:

Zaplníme si ZFS disk pripojený ako /EXPORTS pomocou súboru, ktorý rovno aj zmažeme a dáme prečistiť.
golisp@Ubuntu-1910-NAS:~$ sudo dd if=/dev/urandom of=/EXPORTS/fill bs=1M count=39k status=progress
41161850880 bytes (41 GB, 38 GiB) copied, 2742 s, 15.0 MB/s
dd: error writing '/EXPORTS/fill': No space left on device
39256+0 records in
39255+0 records out
41162637312 bytes (41 GB, 38 GiB) copied, 2754.88 s, 14.9 MB/s
golisp@Ubuntu-1910-NAS:~$ sudo rm -v /EXPORTS/fill
[sudo] password for golisp: 
removed '/EXPORTS/fill'
golisp@Ubuntu-1910-NAS:~$ sudo fstrim -av
/boot/efi: 503.2 MiB (527683584 bytes) trimmed on /dev/sdg1
/: 7.2 GiB (7714762752 bytes) trimmed on /dev/sdg2
golisp@Ubuntu-1910-NAS:~$ 
A ajhľa, tradičný TRIM nám preskočil /EXPORTS. Skontrolujeme na hypervízore či sa nám náhodou nezmenšili disky:
golisp@web:~$ sudo sh -c 'du -sh /var/lib/libvirt/images/Ubuntu-1910-NAS*'
9.7G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdb.qcow2
9.7G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdc.qcow2
9.7G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdd.qcow2
9.7G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sde.qcow2
9.7G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdf.qcow2
14M	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdg.qcow2
3.0G	/var/lib/libvirt/images/Ubuntu-1910-NAS.qcow2
Nie. Ono to bude tým, že ZFS pod Linuxom robí TRIM inak. Treba ho pustiť príkazom zpool trim:
golisp@Ubuntu-1910-NAS:~$ sudo zpool trim EXPORTS
Stav si môžeme skontrolovať skôr spomenutým príkazom:
golisp@Ubuntu-1910-NAS:~$ zpool status EXPORTS
  pool: EXPORTS
 state: ONLINE
  scan: none requested
config:

	NAME        STATE     READ WRITE CKSUM
	EXPORTS     ONLINE       0     0     0
	  raidz1-0  ONLINE       0     0     0
	    sda     ONLINE       0     0     0  (trimming)
	    sdb     ONLINE       0     0     0  (trimming)
	    sdc     ONLINE       0     0     0  (trimming)
	    sdd     ONLINE       0     0     0  (trimming)
	    sde     ONLINE       0     0     0  (trimming)
	spares
	  sdf       AVAIL   

errors: No known data errors
Keď to v tichosti dobehne, tak si môžeme skontrolovať či sa zmenšilo využitie diskov:
golisp@web:~$ sudo sh -c 'du -sh /var/lib/libvirt/images/Ubuntu-1910-NAS*'
2.0G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdb.qcow2
2.0G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdc.qcow2
2.0G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdd.qcow2
2.0G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sde.qcow2
2.0G	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdf.qcow2
14M	/var/lib/libvirt/images/Ubuntu-1910-NAS-ZFS-sdg.qcow2
3.0G	/var/lib/libvirt/images/Ubuntu-1910-NAS-.qcow2
Uvoľnilo sa približne 80%, tak sa pozrieme prečo:
root@Ubuntu-1910-NAS:~# find /EXPORTS/ -ls
       34      1 drwxr-xr-x   2 root     root            2 Dec 13 20:34 /EXPORTS/
root@Ubuntu-1910-NAS:~# df -h /EXPORTS/
Filesystem      Size  Used Avail Use% Mounted on
EXPORTS          39G  6.4G   32G  17% /EXPORTS
root@Ubuntu-1910-NAS:~# 
Niečo ostalo uzamknuté. Neskôr alebo po reboote sa to zrazí na nulu, a trim by mal kompletne zbehnúť. Alebo nie, a niečo tam predsa ostane.

Nastavenie deduplikácie ZFS:

Teraz si nastavíme deduplikáciu pre ZFS. Rovnako ako to bolo v prípade BSD, kritériá ostanú (checksum sha256, pri zhode bude vykonaná fyzická verifikácia bloku):
golisp@web:~$ sudo zfs set dedup=sha512,verify EXPORTS

Nastavenie zdieľania priečinku pomocou NFS:

Zdieľanie priečinkov cez NFS nie je v minimálnej inštalácii Ubuntu, takže si to musíme doinštalovať:
golisp@Ubuntu-1910-NAS:~$ sudo apt install nfs-kernel-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  keyutils libevent-2.1-6 libnfsidmap2 libtirpc-common libtirpc3 nfs-common rpcbind
Suggested packages:
  open-iscsi watchdog
The following NEW packages will be installed:
  keyutils libevent-2.1-6 libnfsidmap2 libtirpc-common libtirpc3 nfs-common nfs-kernel-server rpcbind
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 648 kB of archives.
After this operation, 2,294 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Služby sa na Ubuntu aktivujú automaticky. Takže si povolíme zdieľanie pomocou úpravy konfiguračného súboru /etc/exports do ktorého pridäme riadok:
/EXPORTS      192.168.123.0/24(rw,async,no_subtree_check,no_root_squash)
Následne danú konfiguráciu pre NFS Server aj aktivujeme a skontrolujeme či sa aktivovala:
golisp@Ubuntu-1910-NAS:~$ sudo exportfs -ra
golisp@Ubuntu-1910-NAS:~$ showmount -e Ubuntu-1910-NAS
Export list for Ubuntu-1910-NAS:
/EXPORTS 192.168.123.0/24
golisp@Ubuntu-1910-NAS:~$ 
Áno, máme ju.

Nastavenie zdieľania priečinku pomocou Samba/CIFS:

Keďže ani Samba/CIFS nie je v minimálnej inštalácii Ubuntu, tak si nainštalujeme príslušný metabalík:
golisp@Ubuntu-1910-NAS:~$ sudo apt install samba
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  attr ibverbs-providers libboost-iostreams1.67.0 libboost-system1.67.0 libboost-thread1.67.0 libcephfs2 libgpgme11 libibverbs1
  libnl-route-3-200 libnspr4 libnss3 librados2 librdmacm1 python3-dnspython samba-dsdb-modules samba-vfs-modules tdb-tools
Suggested packages:
  bind9 bind9utils ctdb ldb-tools ntp | chrony smbldap-tools winbind
The following NEW packages will be installed:
  attr ibverbs-providers libboost-iostreams1.67.0 libboost-system1.67.0 libboost-thread1.67.0 libcephfs2 libgpgme11 libibverbs1
  libnl-route-3-200 libnspr4 libnss3 librados2 librdmacm1 python3-dnspython samba samba-dsdb-modules samba-vfs-modules tdb-tools
0 upgraded, 18 newly installed, 0 to remove and 0 not upgraded.
Need to get 7,913 kB of archives.
After this operation, 49.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Následne si schováme pôvodný konfiguračný súbor, vytvoríme si nový konfiguračný súbor a reštartneme služby keďže sme menili takú akoby doménu:
golisp@Ubuntu-1910-NAS:~$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf-old
golisp@Ubuntu-1910-NAS:~$ cat /etc/samba/smb.conf
[global]
        workgroup = MAMBA
        server string = %h server Version %v
        netbios name = Ubuntu-1910-NAS
        security = user
        passdb backend = tdbsam
#       interfaces = 127.0.0.0/8 192.168.122.1/24
#       bind interfaces only = yes
        log file = /var/log/samba/log.%m
        map to guest = bad user
        server role = standalone server

golisp@Ubuntu-1910-NAS:~$ sudo systemctl restart smbd.service nmbd.service 
A nastavíme lokálnemu užívateľovi heslo:
golisp@Ubuntu-1910-NAS:~$ sudo pdbedit -a golisp
new password:
retype new password:
...
Ten konfikurák je takmer identický s tým, čo máme vo FreeBSD (12), až na názov servera a priečinok pre log.
Teraz si ukážeme ako si vytvoríme užívateľsky zdieľaný priečinok. Vytvoríme si priečinok pre užívateľov, a v ňom ďalší pre konkrétneho užívateľa, a nastavíme im práva. Následne to zdieľanie aj vytvoríme:
golisp@Ubuntu-1910-NAS:~$ sudo mkdir -p /EXPORTS/users/golisp
golisp@Ubuntu-1910-NAS:~$ sudo chgrp -R sambashare /EXPORTS/users
golisp@Ubuntu-1910-NAS:~$ sudo chown golisp /EXPORTS/users/golisp
golisp@Ubuntu-1910-NAS:~$ net usershare add golisp-data /EXPORTS/users/golisp "User data directory for golisp on EXPORTS" golisp:F guest_ok=n
Podobne si vytvoríme aj nadradený zdieľaný priečinok:
root@Ubuntu-1910-NAS:~# net usershare add EXPORTS /EXPORTS "Deduplicated EXPORTS" root:F,golisp:F,users:r guest_ok=n
Tento príkaz net usershare je mimochodom aj príkaz ktorý sa spúšťa ak človek dá zdieľať nejaký priečinok cez správcu súborov, len s jednou drobnosťou. Ak povolí zápis pre ostatných, tak sa mu spustí chmod ugo+rwx pre daný priečinok na lokánom systéme.

Overenie funkčnosti zdieľania pomocou NFS

Teraz si ta isto otestujeme letmý zápis z hyervízora na toto NAS pomocou NFS. Najprv si pripojíme daný FS, potom si na ňom vytvoríme priečinok /mnt/nfs/rw a nastavíme mu pracovnú skupinu users a práva a zápis pre všetkých. Nakoniec ten prípojný bod odpojíme.


golisp@web:~$ sudo mount Ubuntu-1910-NAS.vm:/EXPORTS/ /mnt/nfs -v -t nfs 
mount.nfs: timeout set for Thu Dec 12 14:31:49 2019
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.122.181,clientaddr=192.168.122.1'
golisp@web:~$ 
golisp@web:~$ dd if=/dev/urandom of=/mnt/nfs/rw/random bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.233705 s, 44.9 MB/s
golisp@web:~$ df -h /mnt/nfs
Filesystem                        Size  Used Avail Use% Mounted on
Ubuntu-1910-NAS.vm:/EXPORTS   39G   11M   39G   1% /mnt/nfs
golisp@web:~$ sudo umount -v /mnt/nfs
/mnt/nfs: nfs4 mount point detected
/mnt/nfs: umounted
golisp@web:~$ 
Ako vidíme, aj teraz nám pripojenie priečinku a test zápisu fungovali bez problémov.

Overenie funkčnosti zdieľania pomocou Samba/CIFS protokolu

Na záver aj tohoto zápisku si overíme či sa nám dá použiť takto zdieľaný diskový priestor aj cez Samba/CIFS. Najprv si zobrazíme čo nám server Ubuntu-1910-NAS zdieľa, potom si tie zdieľané priečinky pripojíme jeden po druhom a samozrejme naň zapíšeme aj nejaké dáta.
golisp@web:~$ smbclient -L Ubuntu-1910-NAS
Enter MAMBA\golisp's password: 
Anonymous login successful

	Sharename       Type      Comment
	---------       ----      -------
	EXPORTS         Disk      Deduplicated NAS
	IPC$            IPC       IPC Service (Ubuntu-1910-NAS server Version 4.10.7-Ubuntu)
	golisp-data     Disk      User data directory for golisp on EXPORTS
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	MAMBA                
golisp@web:~$ 
golisp@web:~$ sudo mount.cifs -v -o user=golisp,uid=golisp,gid=sambashare //Ubuntu-1910-NAS/golisp-data /mnt/smb
Password for golisp@//Ubuntu-1910-NAS/golisp-data:  **********
mount.cifs kernel mount options: ip=192.168.122.182,unc=\\Ubuntu-1910-NAS\golisp-data,uid=1000,gid=126,user=golisp,pass=********
golisp@web:~$ dd if=/dev/urandom of=/mnt/smb/random bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.191642 s, 54.7 MB/s
golisp@web:~$ sudo umount -v /mnt/smb
umount: /mnt/smb (//Ubuntu-1910-NAS/golisp-data) unmounted
golisp@web:~$ 
golisp@web:~$ sudo mount.cifs -v -o user=golisp,uid=golisp,gid=sambashare //Ubuntu-1910-NAS/EXPORTS /mnt/smb
[sudo] password for golisp: 
Password for golisp@//Ubuntu-1910-NAS/EXPORTS:  **********
mount.cifs kernel mount options: ip=192.168.122.182,unc=\\Ubuntu-1910-NAS\EXPORTS,uid=1000,gid=126,user=golisp,pass=********
golisp@web:~$ cp -pv /mnt/smb/rw/random /mnt/smb/rw/random2
'/mnt/smb/rw/random' -> '/mnt/smb/rw/random2'
golisp@web:~$ sudo umount -v /mnt/smb
umount: /mnt/smb (//Ubuntu-1910-NAS/EXPORTS) unmounted
golisp@web:~$ 

Poznámka na záver:

Tá týchlosť bola zúfalá, veď to bolo na notebookovom rotačnom disku 5400 RPM. Simultárny zápis piatich streamov zabil IOPS, a vykonal peklo fragmentácie. Zatiaľ máme vykonaný upgrade len RAM, výmenu DVD za SSD si predstavíme neskôr, aj s performance testom. A môžeme dať na frak aj konzistencii ZFS.

       

Hodnocení: 75 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

23.12.2019 14:09 ACK
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
Odpovědět | Sbalit | Link | Blokovat | Admin
Jsi dost ubožák, když tu musíš prudit i o Vánocích. Chápu, že se cítíš sám, ale místo trolování zkus nějakou seznamku. Snad máte nějaké i v Uhrách.
25.12.2019 08:11 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
Odpovědět | Sbalit | Link | Blokovat | Admin
Tentokrat se pridam i ja, protoze tohle je proste grafomanie. Nemohl by to nekdo aspon prelozit do slovenciny, ale spravne? Tady vidim zoufaly pokus psat technickou vec vlastnim jazykem, ale krute nevydava a nedari se.
--- vpsFree.cz --- Virtuální servery svobodně
25.12.2019 09:37 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
Odpovědět | Sbalit | Link | Blokovat | Admin
A btw, kdo by chtel tenhle navod nasledovat pro cokoliv, krom tupeho opakovani postupu k nicemu, tezce zabreci.

Jaka je hodnota clanku, ktery na random nahazi prikazy, ale nevysvetli k nim v podstate nic z toho, co by bylo potreba?

Jako sorry, ale tenhle typ chytrolinismu mne nadzvedava... K cemu to jako ma bejt?

Mnohem vetsi hodnotu ziska ctenar prostym prectenim manpages prikazu zfs a zpool. Tohle pusobi kontraproduktivne.
--- vpsFree.cz --- Virtuální servery svobodně
25.12.2019 11:18 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
Skús prezradiť čo tomu chýba. Sú to útržky z manpages o ktorých píšeš?

Keď to bude konštruktívne, zapracujem.
25.12.2019 11:35 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
V prvni rade, deduplikace je hodne zavisla na konkretnim use-case, nejde ji doporucit z fleku jen tak, vsem. Vetsina by hodne zabrecela (obzvlast kdyz neni dost RAM na dedup tables, muze se kazdy jeden read nafouknout minimalne na 3 IO operace).

Plosne lze doporucit kompresi, ZFS neuklada data, ktere se zkomprimuji min, nez o 12.5%. Lz4 vzdy a vsude :)

Chtelo by to zminit praci s datasety a hierarchicke properties, jakozto ‘killer feature’ z admin hlediska.

Taktez shares se nastavuji se ZFS jinak (sharenfs, sharesmb).

TRIM, pokud je detekovany, se pouzije automaticky, netreba ho vyvolavat rucne, jen je potreba pockat (TRIMuji se az o nekolik txg starsi invalidovane bloky, kvuli moznosti nouzove pri importu rollbacknout na znamou funkcni generaci filesystemu, napr. kdyz se totalne dokazi HW radic a zapisuje nesmysly az do resetu).
--- vpsFree.cz --- Virtuální servery svobodně
25.12.2019 11:40 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
(... neuklada data komprimovane, pokud se zkomprimuji o min jak 12.5%, ulozi je, jak jsou)

Zaroven, pokud je zapnuta komprese, aplikuje se tez na bloky pritomne v ARC. Az kdyz se komprimovany blok v ARC hitne nekolikrat, preulozi se v RAM nekomprimovane. Tedy se s kompresi dari i vic dat cachovat do RAM.
--- vpsFree.cz --- Virtuální servery svobodně
25.12.2019 18:10 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
Dôvod prečo si robím takýto netradičný NAS som už viac krát rozoberal v diskusiách, ale pre istotu to zopakujem:

Ide mi primárne o rýchle zálohy drobného objemu údajov. Strata týchto dát by ma síce zamrzela, ale svet by sa mi nezrútil. Viac by som bol rozčúlený keby som o tie dáta prišiel nevedomky kvôli Silent Data Corruption. Momentálne mi takto stačí chrániť cca 1/8T. TCO pre toto riešenie je približne 5+1 LUN pre 128G dáta a 10G na OS, teda do 150G diskového priestoru v cene cca 7€ pre rotačný disk, alebo 15€ pre SSD. K tomu potrebujem cca 4G RAM, čo je ďalších 15€.

Dohromady mám teda takéto riešenie za cenu materiálu do 22€ až 30€. V reále je to menej keďže sa jedná o zdieľané prostriedky. Cenu som už naznačoval v prvom (úvod) a siedmom (upgrade ram) zápisku. Náklady na môj čas nerátam, chcel som to urobiť svojpomocne vo voľnom čase.

Ohľadne datasetov, tak tie pri tak malom objeme nepotrebujem. Keby som robil väčšie riešenie, tak ich zakomponujem. A k tomu pochopiteľne použijem stroj s ECC RAM kvôli deduplikácii.

TRIM sa na ZFS on Linux nepoužije automaticky. TRIM v ZoL začal fungovať až v generácii 8, a vo východzom stave je vypnutý. Spomínané FreeBSD ho samé zapne, a fumguje bez problémov. Pod Linuxom mi napríklad ten TRIM na ZFS neuvoľnil polovicu údajov. Teda pokiaľ nemáš komerčnú implementáciu od bývalej Nexenty, a neverím že ju máš.

Ohľadne sharesmb a sharenfs, tak to bol pekný koncept. Ale moc sa v tom nedá nastaviť. Oveľa lepšie je použiť nástroje na to určené.

Ide mi o to, aby som si v klude nasypal svoje fotky, logy z GPS alebo kontakty do priečinku s aktuálnym dátumom, aby sa mi to samé zdeduplikovalo a nezaberalo veľa miesta. A aby som vedel že v tichosti neprichádzam o dáta kvôli utajeným chybám na disku.

Na toto by som kĺudne mohol použiť aj externý disk, ale by s tým menej srandy.

PS: Máš chybu pri tom odhade IOPS. Momentálne je to rotačný disk na ktorom mám 5+1 virtuálnych diskov. Po novom roku preklopím diskový priestor pre virtuálky na SSD, a porovnám výkon.

25.12.2019 18:30 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
Jojo, grafoman.

A jeste mimon. Neumi cist, pomalu chape a spatne prirazuje prioritu ziskanym informacim. Nema cenu pokracovat v diskuzi, ale pro zamyslenou, par otazek:

Kde jsem odhadoval IOPS?

A co je prosim generacie 8 ZFS on Linux?

...

Nekdy clovek udela lip, kdyz se misto datlovani zarucenych prohlaseni, jde proste projit.
--- vpsFree.cz --- Virtuální servery svobodně
25.12.2019 19:21 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
muze se kazdy jeden read nafouknout minimalne na 3 IO operace
Kde jsem odhadoval IOPS?
Kde si to odhadoval?
A co je prosim generacie 8 ZFS on Linux?
Pardon, verzia nula celá osem.
Nekdy clovek udela lip, kdyz se misto datlovani zarucenych prohlaseni, jde proste projit.
Ja som sa dnes bol aj prejsť. A ty ako?
25.12.2019 19:39 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
... cteni s porozumenim nula bodu?
--- vpsFree.cz --- Virtuální servery svobodně
25.12.2019 21:40 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
Tomu sa povie sebakritika, máš u mňa pozitívny bod.
25.12.2019 22:33 _
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
Táhni už Golisi do prdele.
26.12.2019 00:49 citanus | skóre: 12 | Cork (Ireland)
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2

presne

26.12.2019 01:11 pg
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
ved teraz odtial prisiel
25.12.2019 15:23 AWW
Rozbalit Rozbalit vše Re: Hry s KVM 8: Thin Provisioning - Ubuntu NAS 2
Odpovědět | Sbalit | Link | Blokovat | Admin
Takhle to dopadá, když někdo píše proto aby psal.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.