[ADU] cvičení 7

Odpovědět
Uživatelský avatar
Maple
VCKLAN TEAM
Příspěvky: 676
Registrován: úte 01. zář 2009 7:40:17
Bydliště: Babákova 2152, Praha 4
Kontaktovat uživatele:

cvičení 7

Příspěvek od Maple » úte 24. bře 2015 0:16:02

1/ Příkazem fdisk zjistěte stav rozdělení disku c7t0d0p0. Vytvořte na něm 2 další partitions (číslo 2 a 3) stejné velikosti.

Kód: Vybrat vše

fdisk c7t0d0p0			#Zase nejaky prikaz se spousty dotazama - zkopirovano z wiki, snad dobre, dunno..
#1 - Create a partition
#1 - typ
#10 - procento velikosti
#n - no active
#1 - Create a partition
#1 - typ
#10 - procento velikosti
#n - no active
#6 - update and exit!!!
format
#    ... 0 p p q q

2/ Vytvořte ZFS pool z různých možných zdrojů: partition (vytvořená partition č. 2), slice (např. nepoužitý c7t0d0s7) a soubor (cca 150MB), prohlédněte si jeho konfiguraci a parametry, dynamicky zvětšete jeho kapacitu dalším souborem a poté celý zpool zrušte.

Kód: Vybrat vše

mkfile 150m /var/tmp/file1-150MB					 			#vytvoreni souboru pro zpool
zpool create testpool c7t0d0p2 c7t0d0s7 /var/tmp/file1-150MB 	#nejspise nepujde, nutne dodat prepinac -f (force)
zpool create -f testpool c7t0d0p2 c7t0d0s7 /var/tmp/file1-150MB
df -k												  #available disk space (-k -> 1024-byte units instead of 512-byte units)
zpool list 											#zobrazi informace o poolu
zpool status 										#zobrazi status poolu
mkfile 150m /var/tmp/file2-150MB 					#vytvoreni dalsiho souboru
zpool add testpool /var/tmp/file2-150MB  			#dynamicke zvetseni poolu
zpool status 										#zobrazi status poolu
zpool get all testpool								#zobrazi vlastnosti poolu
zpool history testpool 								#historie poolu
zpool destroy testpool 								#zniceni poolu

3/ Vytvořte příkazem mkfile další 3 soubory o velikosti 150MB.

Kód: Vybrat vše

mkfile 150m /var/tmp/file{3..5}-150MB

4/ Ze dvou partitions vytvořte pool1 (mirror) a ze tří souborů z předchozích příkladů vytvořte pool2 (raidz).
Poté pool1 rozšiřte o další 2 zrcadlené slices nebo soubory. Průběžně sledujte změny konfigurace a kapacity.

Kód: Vybrat vše

zpool create pool1 mirror c7t0d0p2 c7t0d0p3
#varianta 1
zpool create pool2 raidz /var/tmp/file{3..5}-150MB
zpool add pool1 mirror /var/tmp/file{1..2}-150MB
#varianta 2
zpool create pool2 raidz /var/tmp/file3-150MB /var/tmp/file4-150MB /var/tmp/file5-150MB
zpool add -f pool1 mirror c7t0d0s4 c7t0d0s5

5/ V pool1 vytvořte ZFS filesystémy dle schematu níže a nakopírujte do nich libovolné soubory.
Vypište atributy filesystému a některé změňte.
Navíc zařiďte, aby fs3 měl trvale garantováno alespoň 20mb diskového prostoru.

Kód: Vybrat vše

zpool get all pool1 							#zobrazi vlastnosti poolu
zfs create pool1/fs1							#vytvoreni file-systemu
zfs create pool1/fs1/fs3 						#vytvoreni file-systemu
zfs create pool1/fs2							#vytvoreni file-systemu
zfs set quota=50MB pool1/fs1 #nastaveni omezeni
zfs get quota pool1/fs1 						#kontrola predchoziho
#    NAME       PROPERTY  VALUE  SOURCE
#pool1/fs1      quota      50M     local
mkdir /fs2 
zfs set mountpoint=/fs2 pool1/fs2 				#nastaveni mountpointu
df –k
zfs set reservation=20MB pool1/fs1/fs3 			#trvala garance alespon takového prostoru (pokud je mozne)
zfs get reservation pool1/fs1/fs3 				#kontrola predchoziho
#NAME             PROPERTY     VALUE  SOURCE
#pool1/fs1/fs3  reservation      20M     local
cp /bin/bash /fs2/ 								#nakopirovani libovolnych souboru
cp /bin/bash /pool1/fs1/fs3/ 					#nakopirovani libovolnych souboru
cp /bin/bash /pool1/fs1/						#nakopirovani libovolnych souboru

6. Je nasledující problém: Máte pool ze 2 disků v mirroru. Filesystémy v tomto poolu vyčerpaly veškeré volné místo a další disky momentálně nejsou. Nad filesystémy běží důležitá aplikace a situaci je třeba co nejrychleji vyřešit

Kód: Vybrat vše

zpool create pool1 mirror /var/tmp/file1-150MB /var/tmp/file2-150MB
zpool offline pool1 /var/tmp/file2-150MB
zpool detach pool1 /var/tmp/file2-150MB
zpool add pool1 /var/tmp/file2-150MB
zpool attach pool1 /var/tmp/file1-150MB /var/tmp/file3-150MB
zpool attach pool1 /var/tmp/file2-150MB /var/tmp/file4-150MB

7/ Snapshot

Kód: Vybrat vše

zfs snapshot pool1/fs1@alfa
ls -la /pool1/fs1
zfs set snapdir=visible pool1/fs1
ls -la /pool1/fs1
#dr-xr-xr-x   4 root     root           4 Apr  1 12:13 .zfs
ls -la /pool1/fs1/.zfs/
zpool set listsnapshots=on pool1
zfs list
#    pool1/fs1@alfa                 0      -  1.41M  -
cp /bin/ksh /pool1/fs1
zfs list
#    pool1/fs1@alfa               20K      -  1.41M  -
zfs snapshot pool1/fs1@beta
cp /etc/passwd /pool1/fs1
zpool history pool1
rm /pool1/fs1/*
#pool1/fs1@alfa               20K      -  1.41M  -
#pool1/fs1@beta               28K      -  1.42M  -
zfs rollback pool1/fs1@beta
ls /pool1/fs1
bash  fs3   ksh
zfs list
#pool1/fs1@alfa               20K      -  1.41M  -
#pool1/fs1@beta               19K      -  1.42M  -
zfs destroy pool1/fs1@beta

8. Send / Receive

Kód: Vybrat vše

#Chybi verze pro poslani pres soubor - nedari se mi najit presna syntaxe, takze se doresi pripadne na miste, pokud to bude za body a bude to chtit...
zfs send pool1/fs1@alfa | zfs receive pool2/fs2@beta
zpool set listsnapshots=on pool2
zpool destroy pool2
zpool create pool2 raidz /var/tmp/file{3..5}-150MB
zfs list
zfs create pool2/fs1
zpool set listsnapshots=on pool2
zfs send pool1/fs1@alfa | zfs receive pool2/fs1@alfa
zfs send pool1/fs1@alfa | ssh sol105 zfs recv pool2/fs5 #nutne zmenit "sol105" za jmeno sousedni stanice --- zjisti se prikazem hostname

9/ Naklonujte zfs filesystém…. (cca 5x)

Kód: Vybrat vše

zfs clone pool1/fs1@alfa pool1/fs5
zfs clone pool1/fs1@alfa pool1/fs6
zfs clone pool1/fs1@alfa pool1/fs7
zfs clone pool1/fs1@alfa pool1/fs8
zfs clone pool1/fs1@alfa pool1/fs9
zfs destroy -r pool1/fs1    #nepovede se
zfs promote pool1/fs5
zfs destroy -r pool1/fs1

10/ Vytvořte v poolu alespoň 2 filesystémy, zapněte deduplikace a průběžně sledujte chování (vlastnost dedupratio - stupeň deduplikace) poolu a filesystémů během ukládání stejných větších souborů (např. obrázků stažených z Internetu).

Kód: Vybrat vše

zfs create pool1/fs1
zfs create pool1/fs2
zfs set dedup=on pool1/fs{1,2}
zpool get dedupratio pool1
df -k

Odpovědět