Hlavní navigace

PC-BSD: poinstalační kroky

3. 6. 2013
Doba čtení: 6 minut

Sdílet

Nejen Linuxem živ je člověk a na světe existují i další platformy, na kterých lze provozovat desktopový počítač. V pátém dílu seriálu o PC-BSD se budeme věnovat poinstalačním krokům, jako jsou aktualizace systému, balíčků i portů, nastavení HW komponent a systémových parametrů a instalace sady aplikací.

Krátce po startu systému se objeví hlášení o dostupných aktualizacích. Hlášení pochází od Správce aktualizací, který je v horním panelu. Po jeho otevření se objeví dvě aktualizace – systému a balíčků. Po jejich provedení (aktualizuje se samotný balíček PKGNG) se objeví další soubor balíčků k aktualizaci. Viz následující obrázky.

Při aktualizaci dojde nejprve ke stažení potřebných balíčků. Po zahájení jejich instalace se ale objeví chybové hlášení a proces se zastaví. Ze Správce není možné poznat víc, takže je nutné se informovat v terminálu.

Podle příkazu sudo pc-updatemanager pkgcheck se jedná o kolize balíčku xscreensaver. Je proto nutné ho odinstalovat příkazem sudo pkg delete -f xscreensaver a pokračovat v aktualizaci příkazem  sudo pc-updatemanager pkgupdate.

Pak vše proběhne OK. Dalším krokem je instalace portů jedním ze způsobů, které byly uvedeny dříve. Z nich se instalují tři potřebné aplikace: /port-mgmt/portaudit, /port-mgmt-portupgrade/sysutils/zfs-stats.

Příkaz portupgrade se pak následně použije na aktualizaci stávajících balíčků proti portům. Tím by se dala kapitola aktualizace pro tuto chvíli uzavřít. Vrátím se k ní až v některém dalším díle po nějaké době práce se systémem.

Můžeme se tedy vrátit k nastavení parametrů ZFS systému, které bylo nakousnuto v kapitole o výkonnostních testech. ZFS pomocí jednoduchých příkazů umožní uživateli získat nebo nastavit velké množství informací a parametrů. K tomuto účelu je možné použít přímo některé příkazy:

Aktuální verze poolu a souborového systému:

~]% zpool upgrade

This system is currently running ZFS pool version 28.
All pools are formatted using this version.

~]% zfs upgrade
This system is currently running ZFS filesystem version 5.
All filesystems are formatted with the current version.

Informace o verzích poolů a souborového systému ZFS je například na Wikipedii.

Aktuální informace a nastavení poolu pro celý pool:

~]% zpool get all tank1

Viz přílohu zpool-get-all.txt.

Podobně souborový systém pro celý pool:

~]% zfs get all tank1

Viz přílohu zfs-get-all.txt.

To samé, ale pro jednotlivé datasety:

~]% zfs get all

Viz přílohu zfs-get-all-ds.txt.

Z tohoto velmi dlouhého výpisu je patrné, že je možné nastavovat různé parametry s různými hodnotami pro každý dataset podle potřeby.

Další spoustu zajímavých informací lze získat pomocí příkazu zfs-stats, instalovaného z portů:

~]% zfs-stats -a

V příloze zfs-stats-def.txt jsou informace o výchozím nastavení ihned po instalaci. Tyto informace poslouží k tomu, aby bylo možné posoudit nutnost změn parametrů ZFS zatím jen pro ARC (RAM). Předpokládané parametry a hodnoty vypadají následovně:

vfs.zfs.arc_min="1024M"
vfs.zfs.arc_max="3584M"
vm.kmem_size_max="16384M"
vm.kmem_size="12288M"
vfs.zfs.vdev.cache.size="55M"

Výchozí hodnoty jsou tyto:

vfs.zfs.arc_min="902 692 352"       # mění se na předpoklad 1024M
vfs.zfs.arc_max="7 221 538 816"     # nechává se výchozí hodnota
vm.kmem_size_max="329 853 485 875"  # nechává se výchozí hodnota
vm.kmem_size="8 295 280 640"        # mění se na předpoklad 12288M
vfs.zfs.vdev.cache.size="0"     # mění se na hodnotu 80M
vfs.zfs.vdev.cache.size.max="16 384"    # mění se na hodnotu 120M

Výsledné nastavení parametrů je vidět v příloze zfs-stats-new.txt. Parametry se nastavují v souboru /boot/loader.conf. Dobré je v tomto souboru zkontrolovat parametr vfs.zfs.prefetch_disable="1" a případně je takto upravit. V mém případě nebyla úprava nutná.

V popisu ZFS bylo uvedeno, že používá kontrolní součty k tomu, aby automaticky nacházel a opravoval chyby. Výpočty kontrolních součtů stojí samozřejmě nějaký výkon a někde se doporučuje je vypnout v případě, kdy je systém chráněn prostřednictvím RAIDZ. Já nechávám výchozí nastavení, kde vypadá situace následovně:

~]% zfs get checksum

Viz přílohu zfs-checksum.txt.

Rovněž výchozí nechávám nastavení komprese datasetů a deduplikace:

~]% zfs get dedup

Viz přílohu zfs-dedup.txt

~]% zfs get compress

Viz přílohu zfs-compress.txt.

Dalším zajímavým bezpečnostním nástrojem ZFS je tzv. scrubbing (překlady jsou celkem zajímavé – drhnutí, scrub=drhnout, vydrhnout, odřít špínu nebo povlak…).

ZFS nemá opravný nástroj fsck, jako některé další souborové systémy. Místo toho používá scrub, který má podobně jako fsck dva základní úkoly: opravu souborového systému a jeho validaci. Základní rozdíly jsou tyto:

fsck musí běžet na offline systému, který tedy musí být odpojený a nelze ho během kontroly používat

fsck kontroluje pouze metadata, ale ne data samotná. Ta mohou i po provedení příkazu zůstat poškozená

scrub nepotřebuje offline systém, je vytvořený pro funkci na živém a připojeném systému

scrub kontroluje vše, data i metadata

scrub opravuje i něco, čemu se říká Silent Corruption (překládat raději nebudu…)

Scrubbing lze pro vybraný pool spustit a zastavit pomocí příkazů:

~]% zpool scrub poolname

~]% zpool scrub -s poolname

Pokud tedy konkrétně zadám:

~]% sudo zpool scrub tank1

Tak se chvíli něco děje, ale v terminálu není nic konkrétního vidět. Více je toho vidět z výstupu příkazu:

~]% zpool status -v tank1
  pool: tank1
 state: ONLINE
  scan: scrub in progress since Tue Mar 12 15:01:08 2013 1,89G scanned out of 454G at 33,9M/s,  3h47m to go
0  repaired, 0,42% done
config:

    NAME                                            STATE     READ WRITE CKSUM
    tank1                                           ONLINE       0     0     0
      raidz2-0                                      ONLINE       0     0     0
        gptid/292a227c-8753-11e2-a05c-001b21488bf2  ONLINE       0     0     0
        gptid/22cd3db9-8753-11e2-a05c-001b21488bf2  ONLINE       0     0     0
        gptid/2514b47a-8753-11e2-a05c-001b21488bf2  ONLINE       0     0     0
        gptid/2795c6c5-8753-11e2-a05c-001b21488bf2  ONLINE       0     0     0

errors: No known data errors

Jak je vidět v sekci scan, nebyly žádné problémy nalezeny a opraveny. Další scrubbing by proběhl za 3h 47 min. To by ovšem bylo zbytečně časté (scrubbing samozřejmě zaměstnává disk i procesor). Oracle doporučuje pro běžné disky scrubbing jednou týdně, pro Enterprise disky pak jednou měsíčně.

Po vypnutí vypadá sekce scan takto:

scan: scrub canceled on Tue Mar 12 15:08:54 2013

Tímto bych opět ZFS opustil a naposledy se k němu vrátím v kapitole o zálohování. Nyní se budu zabývat instalací sady uživatelských aplikací. Samozřejmě ne všech, ale upozorním na některé vybrané, případně problematické.

Pro přehrávání hudebních souborů už delší dobu používám MPD spolu s klientem GMPC. Obě aplikace jsou v binárních balíčcích i portech. Instalace byla bez problémů, ale zprovoznění serveru MPD trochu jiné než na Sabayonu:

 – jako první bylo nutné zprovoznit samotný zvukový systém. V Předvolbách zvuku na panelu jsou k dispozici pro vstup /dev/dsp1 a pro výstup /dev/dsp0, /dev/dsp1, /dev/dsp2 a /dev/dsp3. Jako výchozí jsou vybrány vstup /dev/dsp1 a výstup /dev/dsp0. V Konfiguraci zvuku v Nastavení jsou pak k dispozici čtyři zařízení:

pcm0:  (play)
pcm1:  (play/rec) default   - nastaveno jako funkční
pcm2:  (play)
pcm3:  (play)

 – spustit příkaz musicpd, který připojí zvukový systém

 – upravit konfigurační soubor /usr/local/etc/musicpd.conf následovně a uložit:

music_directory     $HOME/Hudba
playlist_directory  $HOME/.mpd/playlists
db_file             $HOME/.mpd/database
log_file                $HOME/.mpd/log
user                    aktuální uživatel
bind_to_address     localhost   odkomentovat!
port                    6600        odkomentovat!

 – vyzkoušet příkazy /usr/local/etc/rc.d/musicpd status, start, stop

 – do souboru /etc/rc.conf vložit

# Enable MPD
musicpd_enable="YES"

 – restartovat systém

root_podpora

Po restartu je možné spustit GMPC a upravit si ho dle požadavků. Je samozřejmě možné využít i jiné MPD klienty.

V dalším dílu dokončím kapitolu o instalaci vybraných aplikací.

Byl pro vás článek přínosný?