Reštart pri zvýšenej záťaži

Vladimír Drgoňa vlado at drgona.eu
Sat Jan 30 10:21:28 CET 2016


Dobrý deň,

mám malý domáci server:
core-i3, 16GB RAM, 2x3000GB WD RED, 120GB SSD-Intel
FreeBSD-10.2-RELEASE-p11, 2x3000GB mirror zfs, 120GB je ako cache a zil.

Mám na ňom okrem iného úložisko owncloud. S úložiskom pracuje asi 7-10
ľudí. Väčšina je pripojená cez owncloud clienta z linuxu, niektorí aj s w7.
Zistil som že veľa ľudí si ukladá na server rovnaké súbory. Riešim to
deduplikáciou, dáta zaberajú na disku menej ako polovicu oproti stavu
pred jej zapnutím.
Ak na server pristupujú súčasne všetci klienti, zfs začne masívne
využívať disky (hlavne cache na SSD), obsadí oveľa viac pamäte a
potrebuje použiť swap. V takomto prípade sa občas celý server reštartne
aj bez toho, aby celý swap využil a bez zápisov do logov. Keď vypnem
dedup, server beží bez problémov aj rok.
Čo sa s tým dá robiť okrem vypnutia dedup? Chcel by som nejak "ošetriť"
swap, ale neviem ako. Skúšal som všeličo, napríklad zapnúť 
vm.swap_idle_enabled, meniť vm.swap_async_max, skúšal som swap na SSD,
aj súčasne na SSD a platne, ale zatiaľ nič nepomohlo. Reštart nastane
samozrejme v najnevhodnejší čas.
Momentálne je swap nastavený bez zásahov do loader.conf alebo sysctl.conf:

sysctl -a | grep swap
1 PART ada3p2 2147483648 512 i 2 o 544768 ty freebsd-swap xs GPT xt
516e7cb5-6ecf-11d6-8ff8-00022d09712b
2 LABEL gpt/swap1 2147483648 512 i 0 o 0
1 PART ada2p2 2147483648 512 i 2 o 544768 ty freebsd-swap xs GPT xt
516e7cb5-6ecf-11d6-8ff8-00022d09712b
2 LABEL gpt/swap0 2147483648 512 i 0 o 0
z0xfffff800157e1d00 [shape=hexagon,label="gpt/swap1\nr1w1e0\nerr#0"];
z0xfffff8001574f200 [shape=hexagon,label="gpt/swap0\nr1w1e0\nerr#0"];
z0xfffff8001574e700 [shape=box,label="DEV\ngpt/swap1\nr#4"];
z0xfffff8001574f400 [shape=box,label="DEV\ngpt/swap0\nr#4"];
z0xfffff800547d3e00 [shape=box,label="SWAP\nswap\nr#4"];
          <name>gpt/swap1</name>
          <name>gpt/swap0</name>
            <type>freebsd-swap</type>
            <label>swap1</label>
            <type>freebsd-swap</type>
            <label>swap0</label>
      <name>gpt/swap1</name>
      <name>gpt/swap0</name>
      <name>swap</name>
vm.swap_enabled: 1
vm.disable_swapspace_pageouts: 0
vm.defer_swapspace_pageouts: 0
vm.swap_idle_enabled: 0
vm.stats.vm.v_swappgsout: 0
vm.stats.vm.v_swappgsin: 0
vm.stats.vm.v_swapout: 0
vm.stats.vm.v_swapin: 0
vm.swap_idle_threshold2: 10
vm.swap_idle_threshold1: 2
vm.nswapdev: 2
vm.swap_async_max: 4
vm.swap_maxpages: 64895392
vm.swap_reserved: 8278560768
vm.swap_total: 4294967296

Za každú radu ďakujem.

Vlado.


More information about the Users-l mailing list