<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alt om ingenting og litt i mellom &#187; Linux</title>
	<atom:link href="http://hovenko.no/blog/category/teknologi/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://hovenko.no/blog</link>
	<description>En blogg av Knut-Olav</description>
	<lastBuildDate>Mon, 10 Mar 2025 19:25:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>convmv for å fikse latin1-filnavn i Linux</title>
		<link>https://hovenko.no/blog/2024/04/16/convmv-for-a-fikse-latin1-filnavn-i-linux/</link>
		<comments>https://hovenko.no/blog/2024/04/16/convmv-for-a-fikse-latin1-filnavn-i-linux/#comments</comments>
		<pubDate>Tue, 16 Apr 2024 09:25:38 +0000</pubDate>
		<dc:creator>Knut-Olav</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Teknologi]]></category>

		<guid isPermaLink="false">https://hovenko.no/blog/?p=1019</guid>
		<description><![CDATA[Jeg hadde noen filer på en harddisk, som antakeligvis har vært brukt med en Samba-server for nettverkslagring fra Windows, hvor tegnsettet ikke ble vist skikkelig i Linux. Slik så filene ut med ls: hovenko: /mnt/Innskannet$ ls -l totalt 182748 -rw------- 1 hovenko users 16310600 okt. 12 2013 '1981-08 Lizzie s'$'\370''la.tif' -rw------- 1 hovenko users 16373000 [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg hadde noen filer på en harddisk, som antakeligvis har vært brukt med en Samba-server for nettverkslagring fra Windows, hvor tegnsettet ikke ble vist skikkelig i Linux.</p>
<p>Slik så filene ut med <tt>ls</tt>:<br />
<code>
<pre>
hovenko: /mnt/Innskannet$ ls -l
totalt 182748
-rw------- 1 hovenko users 16310600 okt.  12  2013 '1981-08 Lizzie s'$'\370''la.tif'
-rw------- 1 hovenko users 16373000 okt.  12  2013 '1981-08 Lizzie.tif'
-rw------- 1 hovenko users 18903752 okt.  12  2013 '1981 Bonzo og Ditho.tif'
-rw------- 1 hovenko users  6497864 okt.  12  2013 '1984-07 Bonzo og Ditho.tif'
-rw------- 1 hovenko users 27627336 okt.  12  2013 '1986-08-23 Elisabeth og Carro.tif'
-rw------- 1 hovenko users  3685982 okt.  12  2013 '1994 Scott i skog.jpg'
-rw------- 1 hovenko users  2917307 okt.  12  2013 '1994 Scott.jpg'
-rw------- 1 hovenko users  6406824 okt.  12  2013 '1999 Lady p'$'\345'' hytta med ball.tif'
-rw------- 1 hovenko users  6449736 okt.  12  2013 '2000 Bonzo.tif'
-rw------- 1 hovenko users  6449736 okt.  12  2013 '2000 Rex og Oliver.tif'
-rw------- 1 hovenko users 25834760 okt.  12  2013 '2000 Rex.tif'
-rw------- 1 hovenko users  6485128 okt.  12  2013 '2001-05 Lady og Rex.tif'
-rw------- 1 hovenko users  6497736 okt.  12  2013 '2001-07 Rex.tif'
-rw------- 1 hovenko users 25683208 okt.  12  2013 '2002-05-22 Lady.tif'
-rw------- 1 hovenko users   182923 okt.  12  2013 '2005 Bonzo.jpg'
-rw------- 1 hovenko users   106015 okt.  12  2013 '2005 Bonzo ligger i kratt.jpg'
-rw------- 1 hovenko users  4910601 okt.  12  2013 '2011 Buster p'$'\345'' '$'\330''deg'$'\345''rdsodden.jpg'
-rw------- 1 hovenko users  5434227 okt.  12  2013 '2012 Spot p'$'\345'' hytta.jpg'
-rw------- 1 hovenko users    53760 okt.  12  2013  Thumbs.db
</pre>
<p></code></p>
<p>I filbehandleren Dolphin ble spesialtegnene vist med <tt>?</tt>, og det var ikke mulig å åpne filene derfra eller døpe de om.</p>
<p>Jeg hadde en del flere filer enn disse som hadde feil tegnsett, så manuell omdøping av alle filene var ikke gjennomførbart.</p>
<p>Løsningen ble <tt>convmv</tt>.</p>
<p>Først en &#8220;dryrun&#8221;:<br />
<code>
<pre>
$ convmv -f latin1 -t utf-8 *
Starting a dry run without changes...
mv "./1981-08 Lizzie s�la.tif"  "./1981-08 Lizzie søla.tif"
mv "./1999 Lady p� hytta med ball.tif"  "./1999 Lady på hytta med ball.tif"
mv "./2011 Buster p� �deg�rdsodden.jpg" "./2011 Buster på Ødegårdsodden.jpg"
mv "./2012 Spot p� hytta.jpg"   "./2012 Spot på hytta.jpg"
No changes to your files done. Would have converted 4 files in 0 seconds.
Use --notest to finally rename the files.
</pre>
<p></code></p>
<p>Og så endringen:<br />
<code>
<pre>
$ convmv -f latin1 -t utf-8 --notest *
mv "./1981-08 Lizzie s�la.tif"  "./1981-08 Lizzie søla.tif"
mv "./1999 Lady p� hytta med ball.tif"  "./1999 Lady på hytta med ball.tif"
mv "./2011 Buster p� �deg�rdsodden.jpg" "./2011 Buster på Ødegårdsodden.jpg"
mv "./2012 Spot p� hytta.jpg"   "./2012 Spot på hytta.jpg"
Ready! I converted 4 files in 0 seconds.
</pre>
<p></code></p>
<p>Med opsjon <tt>-r</tt> så går den rekursivt igjennom underkatalogene.</p>
]]></content:encoded>
			<wfw:commentRss>https://hovenko.no/blog/2024/04/16/convmv-for-a-fikse-latin1-filnavn-i-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installasjon av Debian i XEN krever 1GB minne i Xen-konfigurasjon</title>
		<link>https://hovenko.no/blog/2023/09/17/installasjon-av-debian-i-xen-krever-1gb-minne-i-xen-konfigurasjon/</link>
		<comments>https://hovenko.no/blog/2023/09/17/installasjon-av-debian-i-xen-krever-1gb-minne-i-xen-konfigurasjon/#comments</comments>
		<pubDate>Sun, 17 Sep 2023 20:35:29 +0000</pubDate>
		<dc:creator>Knut-Olav</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Teknologi]]></category>

		<guid isPermaLink="false">http://hovenko.no/blog/?p=992</guid>
		<description><![CDATA[Jeg skulle installere Debian i Xen-node og fulgte oppskriften på https://wiki.xenproject.org/wiki/Debian_Guest_Installation_Using_Debian_Installer. Jeg forsøkte netinst og cdrom via pygrub, men ingen av metodene fungerte. Jeg fikk feilmeldinger ala: [ 2.957523] steal-ctty[125]: segfault at 0 ip 00007fbce02c4160 sp 00007ffe4dde3830 error 4 in libc.so.6[7fbce021f000+148000] [ 2.957551] Code: 8b e8 74 36 04 00 0f 1f 40 00 55 [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg skulle installere Debian i Xen-node og fulgte oppskriften på <a href="https://wiki.xenproject.org/wiki/Debian_Guest_Installation_Using_Debian_Installer">https://wiki.xenproject.org/wiki/Debian_Guest_Installation_Using_Debian_Installer</a>.<br />
Jeg forsøkte netinst og cdrom via pygrub, men ingen av metodene fungerte.</p>
<p>Jeg fikk feilmeldinger ala:</p>
<pre><code>[    2.957523] steal-ctty[125]: segfault at 0 ip 00007fbce02c4160 sp
00007ffe4dde3830 error 4 in libc.so.6[7fbce021f000+148000]
[    2.957551] Code: 8b e8 74 36 04 00 0f 1f 40 00 55 48 89 e5 41 57 41 56 41 55 41
54 53 48 83 ec 48 64 48 8b 04 25 28 00 00 00 48 89 45 c8 31 c0 &lt;80> 3f 00 0f 84
47 01 00 00 49 89 f4 be 2f 00 00 00 48 89 fb 49 89
Segmentation fault
cat: can't open '/var/log/reopen-console': No such file or directory
rm: can't remove '/var/log/reopen-console': No such file or directory
touch: /var/run/brltty-Xorg: No such file or directory
</code></pre>
<p>Tok ikke vare på mine eksakte feilmeldinger, men jeg fant mailingliste-tråden <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932149">https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932149</a> om problemet, og med løsningen.</p>
<p>Selv om Debian er ganske gjærrig på CPU- og minnebruk, så viste det seg at jeg måtte sette &#8220;memory=1024M&#8221; i Xen-konfigurasjonen til den nye virtuelle serveren. Det holdt ikke med 512M.</p>
<p>Jeg endte opp med å installere fra CDROM-image med kernel og initrd fra <a href="https://deb.debian.org/debian/dists/Debian12.1/main/installer-amd64/current/images/cdrom/xen/">https://deb.debian.org/debian/dists/Debian12.1/main/installer-amd64/current/images/cdrom/xen/</a>.<br />
Og med følgende XEN-node-konfigurasjon i <tt>/etc/xen/vm_srv-2023-1</tt>:</p>
<pre><code>name = "srv-DEBIAN"

kernel  = "/xen/install-media/Debian12.1-installer-amd64-cdrom-xen/vmlinuz"
ramdisk = "/xen/install-media/Debian12.1-installer-amd64-cdrom-xen/initrd.gz"
extra   = "debian-installer/exit/always_halt=true -- console=hvc0 xencons=tty"

vcpus  = 1
memory = 1024

vif = [ 'mac=00:11:22:33:44:55,bridge=xenbr0' ]

disk = [
    'file:/xen/install-media/debian-12.1.0-amd64-netinst.iso,xvdd:cdrom,r',
    'phy:/dev/vg-data/xen-srv-DEBIAN-root,xvda,w',
    'phy:/dev/vg-data/xen-srv-DEBIAN-swap,xvdb,w'
]

on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
</code></pre>
]]></content:encoded>
			<wfw:commentRss>https://hovenko.no/blog/2023/09/17/installasjon-av-debian-i-xen-krever-1gb-minne-i-xen-konfigurasjon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surround over HDMI med mpv i Linux</title>
		<link>https://hovenko.no/blog/2021/03/16/surround-over-hdmi-med-mpv-i-linux/</link>
		<comments>https://hovenko.no/blog/2021/03/16/surround-over-hdmi-med-mpv-i-linux/#comments</comments>
		<pubDate>Tue, 16 Mar 2021 22:48:50 +0000</pubDate>
		<dc:creator>Knut-Olav</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://hovenko.no/blog/?p=946</guid>
		<description><![CDATA[Dette er en &#8220;note to self&#8221;, etter å ha søkt litt rundt på Internett etter løsning på hvordan å få surround-lyd over HDMI med mpv, og ikke bare stereo. $ mpv \ --audio-channels=5.1,stereo \ --audio-spdif=ac3,eac3,dts-hd,truehd \ --audio-device=alsa/hdmi:CARD=PCH,DEV=0 \ audiofile.mp4 Fant tipset på https://forum.manjaro.org/t/how-do-i-enable-surround-sound-in-pulseaudio/56394. Oppdatering 27.09.2023 Jeg støtte i dag på et tilfelle med en videofil [...]]]></description>
			<content:encoded><![CDATA[<p>Dette er en &#8220;note to self&#8221;, etter å ha søkt litt rundt på Internett etter løsning på hvordan å få surround-lyd over HDMI med mpv, og ikke bare stereo.</p>
<p><code>
<pre>
$ mpv \
  --audio-channels=5.1,stereo \
  --audio-spdif=ac3,eac3,dts-hd,truehd \
  --audio-device=alsa/hdmi:CARD=PCH,DEV=0 \
  audiofile.mp4
</pre>
<p></code></p>
<p>Fant tipset på <a href="https://forum.manjaro.org/t/how-do-i-enable-surround-sound-in-pulseaudio/56394">https://forum.manjaro.org/t/how-do-i-enable-surround-sound-in-pulseaudio/56394</a>.</p>
<h2>Oppdatering 27.09.2023</h2>
<p>Jeg støtte i dag på et tilfelle med en videofil med 6-kanals lyd, men hvor avspilling med kommandoen ovenfor ikke ga noen lyd over HDMI.</p>
<p>Uttrekk fra ffprobe gir meg:<br />
<code>
<pre>
Input #0, matroska,webm, from ...
  Metadata:
    encoder         : libebml v1.4.2 + libmatroska v1.6.4
[...]
    Stream #0:1(eng): Audio: eac3, 48000 Hz, 6 channels, fltp
    Metadata:
      title           : English
      BPS             : 384000
      DURATION        : 02:49:17
      NUMBER_OF_FRAMES: 317427
      NUMBER_OF_BYTES : 487567872
</pre>
<p></code><br />
mpv-avspilling rapporterte 2-kanals lyd: <code>AO: [alsa] 48000Hz stereo 2ch spdif-ac3</code>.</p>
<h3>MPV AD-parameter (Audio Decoder)</h3>
<p>Jeg fikk surround-lyd med AD-parameteren (Audio Decoder):<br />
<code>--ad=spdif:ac3,spdif:dts,</code></p>
<p>mpv rapporterte <code>AO: [alsa] 48000Hz 5.1 6ch s32</code> og receiveren min viste MULTI-CHANNEL lyd-input.</p>
<h3>MPV AF-parameter (Audio Filters)</h3>
<p>Jeg prøvde også med noen AF-parametere (Audio Filters):<br />
<code>
<pre>
  --af=lavcac3enc
  --af=scaletempo,lavcac3enc=yes:640:3
</pre>
<p></code>, men i begge tilfeller rapporterte mpv om <code>AO: [alsa] 48000Hz stereo 2ch spdif-ac3</code>, selv om receiveren min identifiserte det som Dolby Digital. Også i kombinasjon med <code>--ad</code>-parameteren. Jeg gjorde ingen test på om det faktisk ble ekte surround-lyd fra receiveren.</p>
<h3>Kilder</h3>
<p>Fant tipsene fra:<br />
1) <a href="https://bbs.archlinux.org/viewtopic.php?id=195332">Does anyone has realtime ac3 or dts encoding running? (Archlinux)</a><br />
2) <a href="https://www.reddit.com/r/mpv/comments/12r8ajn/new_to_mpv_trouble_with_eac3_6_channel_audio/">New To MPV. Trouble with EAC3 6 channel audio. (Reddit)</a></p>
]]></content:encoded>
			<wfw:commentRss>https://hovenko.no/blog/2021/03/16/surround-over-hdmi-med-mpv-i-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deduplisering av filer over nettverk</title>
		<link>https://hovenko.no/blog/2019/06/18/deduplisering-av-filer-over-nettverk/</link>
		<comments>https://hovenko.no/blog/2019/06/18/deduplisering-av-filer-over-nettverk/#comments</comments>
		<pubDate>Tue, 18 Jun 2019 20:20:24 +0000</pubDate>
		<dc:creator>Knut-Olav</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Teknologi]]></category>

		<guid isPermaLink="false">http://hovenko.no/blog/?p=906</guid>
		<description><![CDATA[Jeg har en god del bilder liggende på laptopen min, både lastet inn fra minnebrikke fra kamera og lastet ned fra Dropbox-kameraopplastinger fra telefonen. Disse bildene kopierer jeg over til en server av og til, slik at jeg har et sted å nå de også når jeg trenger å rense opp litt plass på laptopen. [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg har en god del bilder liggende på laptopen min, både lastet inn fra minnebrikke fra kamera og lastet ned fra Dropbox-kameraopplastinger fra telefonen.</p>
<p>Disse bildene kopierer jeg over til en server av og til, slik at jeg har et sted å nå de også når jeg trenger å rense opp litt plass på laptopen.</p>
<p>Av og til har jeg behov for å reorganisere bildene mine i nye kataloger. For eksempel var det blitt så mange bilder fra Dropbox-opplastingene fra telefonen at det var vanskelig å bla igjennom de, så da flyttet jeg de til nye kataloger per år. Scriptet jeg har for å kopiere over bilder er ikke smartere enn at den tolker disse bildene som nå ligger i nye kataloger, som nye bilder. Og alt tar plutselig dobbelt så mye lagringsplass. I tillegg ligger nå bildene på flere steder slik at man mister litt oversikten, men akkurat det får bli et tema til en annen gang.</p>
<p>For å unngå at duplikate filer tar dobbelt med plass så kjørte jeg deduplisering. Serveren var gammel nok til å ikke ha noe godt dedupliseringsverktøy som jeg kunne installere fra pakkesystemet. Løsningen ble å montere opp nettverksstasjonen med NFS/CIFS og kjøre deduplisering fra laptopen.</p>
<p>Verktøyet jeg brukte heter <strong><a href="http://jak-linux.org/projects/hardlink/">hardlink</a></strong>.</p>
<p><code>
<pre>
$ mount /server         # forutsetter at denne er definert i /etc/fstab
$ cd /server/Bilder
$ hardlink -v -t .

Mode:     real
Files:    13999
Linked:   5850 files
Compared: 0 xattrs
Compared: 5863 files
Saved:    19.07 GiB
Duration: 1761.81 seconds
</pre>
<p></code></p>
<p>Opsjon <strong>-v</strong> skrur på verbose.<br />
Opsjon <strong>-t</strong> ignorerer endringstid på filene når verktøyet sammenligner filene. Dette er nødvendig for at den nye kopien av bildet skal kunne tolkes likt som det gamle bildet på den gamle lokasjonen.</p>
]]></content:encoded>
			<wfw:commentRss>https://hovenko.no/blog/2019/06/18/deduplisering-av-filer-over-nettverk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logitech Media Server on skinny Debian Jessie</title>
		<link>https://hovenko.no/blog/2016/08/29/logitech-media-server-on-skinny-debian-jessie/</link>
		<comments>https://hovenko.no/blog/2016/08/29/logitech-media-server-on-skinny-debian-jessie/#comments</comments>
		<pubDate>Mon, 29 Aug 2016 21:11:33 +0000</pubDate>
		<dc:creator>Knut-Olav</dc:creator>
				<category><![CDATA[English-posts]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Teknologi]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Squeezebox]]></category>

		<guid isPermaLink="false">http://hovenko.no/blog/?p=895</guid>
		<description><![CDATA[WAV/PCM files were not played by Logitech Media Server, with zero logging in /var/log/squeezeboxserver/server.log, on a tiny installation of Debian Jessie. I tried to tune log levels and found some tools lacking, such as &#8220;flac&#8221; and &#8220;lame&#8221;, but none of them fixed my problem, and still no explanation in the log files. But I found [...]]]></description>
			<content:encoded><![CDATA[<p>WAV/PCM files were not played by Logitech Media Server, with zero logging in <tt>/var/log/squeezeboxserver/server.log</tt>, on a tiny installation of Debian Jessie.</p>
<p>I tried to tune log levels and found some tools lacking, such as &#8220;flac&#8221; and &#8220;lame&#8221;, but none of them fixed my problem, and still no explanation in the log files.</p>
<p>But I found something in the logs that led me in the right direction:<br />
<code>
<pre>
[16-08-29 23:03:04.3358] Slim::Player::TranscodingHelper::enabledFormat (209) Checking to see if wav-flc-*-* is enabled
[16-08-29 23:03:04.3360] Slim::Player::TranscodingHelper::checkBin (250)    enabled
[16-08-29 23:03:04.3362] Slim::Player::TranscodingHelper::checkBin (252)   Found command: [flac] -cs --totally-silent --compression-level-0 $START$ $END$ -- $FILE$ | [sox] -q -t flac - -t flac -C 0 $RESAMPLE$ -
[16-08-29 23:03:04.3364] Slim::Player::TranscodingHelper::getConvertCommand2 (446) Matched: wav->flc via: [flac] -cs --totally-silent --compression-level-0 $START$ $END$ -- $FILE$ | [sox] -q -t flac - -t flac -C 0 $RESAMPLE$ -
</pre>
<p></code></p>
<p>I was missing the &#8220;sox&#8221; tool!<br />
So, I installed &#8220;sox&#8221;, and now the media server is properly encoding WAV/PCM audio files to FLAC (or something).</p>
]]></content:encoded>
			<wfw:commentRss>https://hovenko.no/blog/2016/08/29/logitech-media-server-on-skinny-debian-jessie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lite entropi?</title>
		<link>https://hovenko.no/blog/2015/01/05/lite-entropi/</link>
		<comments>https://hovenko.no/blog/2015/01/05/lite-entropi/#comments</comments>
		<pubDate>Mon, 05 Jan 2015 20:59:11 +0000</pubDate>
		<dc:creator>Knut-Olav</dc:creator>
				<category><![CDATA[Infrastruktur]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://hovenko.no/blog/?p=869</guid>
		<description><![CDATA[$ sudo aptitude install haveged $ cat /proc/sys/kernel/random/entropy_avail]]></description>
			<content:encoded><![CDATA[<p><code>
<pre>$ sudo aptitude install haveged</pre>
<p></code></p>
<p><code>
<pre>$ cat /proc/sys/kernel/random/entropy_avail</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>https://hovenko.no/blog/2015/01/05/lite-entropi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Millioner av filer i samme katalog på filsystemet i Linux</title>
		<link>https://hovenko.no/blog/2014/12/02/millioner-av-filer-i-samme-katalog-pa-filsystemet-i-linux/</link>
		<comments>https://hovenko.no/blog/2014/12/02/millioner-av-filer-i-samme-katalog-pa-filsystemet-i-linux/#comments</comments>
		<pubDate>Tue, 02 Dec 2014 17:15:16 +0000</pubDate>
		<dc:creator>Knut-Olav</dc:creator>
				<category><![CDATA[Infrastruktur]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Teknologi]]></category>
		<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://hovenko.no/blog/?p=854</guid>
		<description><![CDATA[På jobb her om dagen kjørte vi i to-hundre (nye filer i sekundet) &#8220;rett i en veggen&#8221;, da antallet filer på filsystemet ble for mange og alt gikk i stå. Hovedsaklig møtte vi på to problemer: ingen flere ledige inodes, og lang venting på å liste ut alle filene, med millioner av filer lagret i [...]]]></description>
			<content:encoded><![CDATA[<p>På jobb her om dagen kjørte vi i to-hundre (nye filer i sekundet) &#8220;rett i en veggen&#8221;, da antallet filer på filsystemet ble for mange og alt gikk i stå.</p>
<p>Hovedsaklig møtte vi på to problemer: ingen flere ledige inodes, og lang venting på å liste ut alle filene, med millioner av filer lagret i én og samme katalog.</p>
<p>Filene ble lagret på filsystemet <a href="https://ext4.wiki.kernel.org/">EXT4</a> i Linux, Ubuntu 14.04.1 LTS.</p>
<p>EXT4 har en fastsatt grense for antall filer som filsystemet kan håndtere, og denne settes under oppretting av filsystemet, så denne kunne vi ikke endre.<br />
Videre klarer ikke EXT4 å håndtere stort mer enn ca 100k filer i én og samme katalog uten at alt går i sneglefart.</p>
<p>Vi måtte finne et nytt filsystem, noe som ikke hadde noen øvre grense for antall filer, med unntak av diskplass så klart.</p>
<h2>Andre filsystemer til unnsetning</h2>
<p>Vi måtte gjøre noen tester for å finne ut hvilket filsystem vi kan bruke istedenfor EXT4.<br />
Kandidatene vi kom fram til var <a href="https://btrfs.wiki.kernel.org/">BTRFS</a>, <a href="http://en.wikipedia.org/wiki/XFS">XFS</a> og <a href="http://en.wikipedia.org/wiki/ZFS">ZFS</a>.</p>
<p><small>I tillegg vurderte vi <a href="http://en.wikipedia.org/wiki/OneFS_distributed_file_system">OneFS</a>, et produkt fra Isilon som vi allerede har kjørende i produksjon, et nettverkslagringssystem som er spesialisert til å håndtere veldig store datamengder, men dette produktet er heller ikke bra til å håndtere veldig mange filer i én katalog.<br />
Vi kan rett og slett ikke bruke den på grunn av risiko for å krasje hele filsystemet og ta med oss alle andre systemer i produksjon som bruker dette.<br />
</small></p>
<p>Testingen jeg gjorde er relativt enkel:</p>
<ol>
<li>Opprettet tomme filer på 20 GB, loopback-montert og formattert med filsystemet som skulle testes</li>
<li>Kopierte 1.6M (<strong>1.644.553</strong>) filer på til sammen 19 GB, alle i én katalog, til hver av filsystemene</li>
<li>Tømte Linux OS-cache før testing av hvert filsystem</li>
<li>Tok tiden for detailjert sortert utlisting (kald test)</li>
<li>Tok tiden for detailjert sortert utlisting enda en gang (varm test)</li>
<li>Tok tiden for usortert utlisting (varm test)</li>
</ol>
<p><small>I tillegg tok jeg noen notater om komprimeringsgrad for de filsystemene som støttet komprimering, og hvor mye OS-cache og minne som ble brukt etter gjennomført testing.<br />
Maskinene har noen bakgrunnsprosesser som vil kunne allokerer noe minne mens testene kjøres, men jeg anses aktiviteten på disse som lite i forhold til ressursbeslaget disse testene vil gjøre.<br />
</small></p>
<p>Hastighet på lesing eller skriving av innholdet i filene er ikke det viktigste for oss.<br />
Det er små filer, fra 50 KB til 500 KB, så det er viktigere at vi kan lese flere filer raskt enn å lese én stor fil raskt.</p>
<p>Vi trenger et filsystem som lar oss jobbe med filene, skrive nye filer, flytte filer og kopiere filer når behovene melder seg, istedenfor å krype stille sammen for å dø &#8211; altså er uthenting av metadata om filer og utlisting av filene viktige kriterier.</p>
<p>For å tømme OS-cache på Linux kjørte jeg følgende kommando:</p>
<pre><code>
echo 3 | sudo tee /proc/sys/vm/drop_caches
</code></pre>
<p>For utføring av testen &#8220;detailjert sortert utlisting&#8221; kjørte jeg følgende kommando:</p>
<pre><code>
time ls -lht KATALOG | wc -l
</code></pre>
<p>For utføring av testen &#8220;usortert utlisting&#8221; kjørte jeg følgende kommando:</p>
<pre><code>
time ls -1 -U KATALOG | wc -l
</code></pre>
<p>Disse kommandoene tar tiden for å liste ut filer.<br />
I steden for å bruke tid på å printe ut all teksten til konsollet så gjorde jeg en telling av linjer, som også ble en verifikasjon på at jeg hadde kopiert over alle filene til alle filsystemene som ble testet.</p>
<h3>Testoppsett</h3>
<p>Filene lå opprinnelig på Server1 på et EXT4-filsystem.<br />
Disse ble kopiert over til Server2 hvor testene av de andre filsystemene ble gjort.<br />
Server2 hadde omtrent ingen annen aktivitet mens testene pågikk, så målingene skal være nokså nøyaktige.<br />
For å måle opp mot problemet vårt ble også testene gjennomført på Server1 mot EXT4.<br />
I tillegg gjennomførte jeg en test på Server1 over NFS mot XFS-filområdet til Server2.</p>
<p>Filsystemene ble i hovedsak opprettet med standard-opsjoner på Ubuntu 14.04.1 LTS.<br />
Komprimering ble aktivert i BTRFS og ZFS.</p>
<h2>Resultater</h2>
<p>På Server1 gjennomførte jeg en tømming av OS-cache, men målte ikke minneallokeringsbruk, da det er andre tjenster som kjører på serveren, og det kunne gitt villedende resultater.</p>
<p>NFS-testen fra Server1 mot Server2 sitt XFS-testoppsett mangler noen måletall, tall jeg anså som uviktige å måle på grunn av nettverksseparasjonen.<br />
Den kalde testen av detaljert utlisting av filer ble ikke gjennomført over NFS.</p>
<p>Skriving av filer til ZFS ble merkbart tregere for hver fil som ble skrevet &#8211; i starten var overføringshastigheten over 6.5 MB/s, men slutta på 3.2 MB/s.<br />
Usikkert om det skyldes komprimering, diskstørrelse eller andre årsaker.</p>
<table cellspacing="0" border="0">
<colgroup width="220"></colgroup>
<colgroup span="5" width="85"></colgroup>
<tr>
<td height="17" align="left"></td>
<td align="center" bgcolor="#E6E6FF"><b>Server1</b></td>
<td align="center"><b>Server2</b></td>
<td align="center"><b>Server2</b></td>
<td align="center"><b>Server2</b></td>
<td align="center"><b>Server1</b></td>
</tr>
<tr>
<td height="47" align="left"></td>
<td align="center" bgcolor="#E6E6FF"><b>EXT-4</b></td>
<td align="center"><b>BTRFS</b></td>
<td align="center"><b>XFS</b></td>
<td align="center"><b>ZFS</b></td>
<td align="center"><b>NFS over Server2 XFS</b></td>
</tr>
<tr>
<td height="17" align="left"><b>Block-size (GB)</b></td>
<td align="center" bgcolor="#E6E6FF" sdval="83" sdnum="1044;">83</td>
<td align="center" sdval="10" sdnum="1044;">10</td>
<td align="center" sdval="25" sdnum="1044;">25</td>
<td align="center" sdval="10" sdnum="1044;">10</td>
<td align="center"></td>
</tr>
<tr>
<td height="17" align="left"><b>Diskbruk (GB)</b></td>
<td align="center" bgcolor="#E6E6FF" sdval="19" sdnum="1044;0;0,0">19,0</td>
<td align="center" sdval="8" sdnum="1044;0;0,0">8,0</td>
<td align="center" sdval="19" sdnum="1044;0;0,0">19,0</td>
<td align="center" bgcolor="#FFFF00" sdval="6,5" sdnum="1044;0;0,0">6,5</td>
<td align="center"></td>
</tr>
<tr>
<td height="17" align="left"><b>KB / inode</b></td>
<td align="center" bgcolor="#E6E6FF" sdval="16" sdnum="1044;0;0,0">16,0</td>
<td align="center" bgcolor="#FFFF00" sdval="1" sdnum="1044;0;0,0">1,0</td>
<td align="center" bgcolor="#FFFF00" sdval="1" sdnum="1044;0;0,0">1,0</td>
<td align="center" bgcolor="#FFFF00" sdval="0,5" sdnum="1044;0;0,0">0,5</td>
<td align="center"></td>
</tr>
<tr>
<td height="17" align="left"><b>detailjert sortert utlisting (kald)</b></td>
<td align="center" bgcolor="#E6E6FF" sdval="0,00233796296296296" sdnum="1044;0;MM:SS">03:22</td>
<td align="center" sdval="0,0025" sdnum="1044;0;MM:SS">03:36</td>
<td align="center" bgcolor="#FFFF00" sdval="0,00130787037037037" sdnum="1044;0;MM:SS">01:53</td>
<td align="center" sdval="0,00578703703703704" sdnum="1044;0;MM:SS">08:20</td>
<td align="center">???</td>
</tr>
<tr>
<td height="17" align="left"><b>detailjert sortert utlisting (varm)</b></td>
<td align="center" bgcolor="#E6E6FF" sdval="0,000509259259259259" sdnum="1044;0;MM:SS">00:44</td>
<td align="center" sdval="0,000219907407407407" sdnum="1044;0;MM:SS">00:19</td>
<td align="center" bgcolor="#FFFF00" sdval="0,000185185185185185" sdnum="1044;0;MM:SS">00:16</td>
<td align="center" sdval="0,000381944444444444" sdnum="1044;0;MM:SS">00:33</td>
<td align="center" sdval="0,00532407407407407" sdnum="1044;0;MM:SS">07:40</td>
</tr>
<tr>
<td height="17" align="left"><b>usortert utlisting (varm)</b></td>
<td align="center" bgcolor="#E6E6FF" sdval="0,0000231481481481481" sdnum="1044;0;MM:SS">00:02</td>
<td align="center" sdval="0,0000231481481481481" sdnum="1044;0;MM:SS">00:02</td>
<td align="center" bgcolor="#FFFF00" sdval="0,0000115740740740741" sdnum="1044;0;MM:SS">00:01</td>
<td align="center" sdval="0,000173611111111111" sdnum="1044;0;MM:SS">00:15</td>
<td align="center" sdval="0,000173611111111111" sdnum="1044;0;MM:SS">00:15</td>
</tr>
<tr>
<td height="17" align="left"><b>Allokert RAM (GB)</b></td>
<td align="center" bgcolor="#E6E6FF" sdnum="1044;0;MM:SS">???</td>
<td align="center" sdval="5,9" sdnum="1044;">5,9</td>
<td align="center" sdval="3,45" sdnum="1044;">3,45</td>
<td align="center" bgcolor="#FFFF00" sdval="3,3" sdnum="1044;">3,3</td>
<td align="center"></td>
</tr>
<tr>
<td height="17" align="left"><b>OS-cache (GB)</b></td>
<td align="center" bgcolor="#E6E6FF" sdval="0,1" sdnum="1044;">0,1</td>
<td align="center" sdval="3,7" sdnum="1044;">3,7</td>
<td align="center" bgcolor="#FFFF00" sdval="0,8" sdnum="1044;">0,8</td>
<td align="center" sdval="1,4" sdnum="1044;">1,4</td>
<td align="center"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
</table>
<p><small>Tid ble målt i minutter og sekunder.<br />
BTRFS, XFS og ZFS allokerer inodes dynamisk.<br />
</small></p>
<p>EXT4 var eneste som hadde et maksimalt antall inodes.<br />
BTRFS rapporterte ikke om inodes i &#8220;df -i&#8221;, verken ledige eller brukte.<br />
Både XFS og ZFS var fleksible i ledige inodes som ble rapportert og endret seg i takt med ledig diskplass.</p>
<p>Alle filsystemene gjennomførte testene innen akseptabel hastighet når systemet var varm.<br />
Allikevel var BTRFS og XFS de raskeste her med svar på under 20 sekunder, mens ZFS brukte 33 sekunder og EXT4 brukte 44 sekunder.</p>
<p>XFS var klart raskest når systemet var kald med svar på under 2 minutter.<br />
EXT4 og BTRFS var nokså like med omkring 3,5 minutter når systemet var kald.<br />
ZFS brukte uakseptabel lang tid (over 8 minutter) når systemet var kald.</p>
<p>EXT4, BTRFS og XFS leverte et akseptabelt raskt svar på usortert utlisting av filene, på maksimalt 2 sekunder.<br />
XFS var raskest, på 1 sekund.<br />
ZFS brukte uakseptable 15 sekunder.</p>
<p>Alle filsystemene unntatt EXT4 allokerte mye minne og cache for å utføre testene.<br />
Det er usikkert om loopback-monteringen på Server2 kan ha hatt innvirkning.<br />
EXT4 allokerte bare 109 MB som cache, men den var også noe tregere enn de andre når systemet var varm.<br />
XFS allokerte 3.5 GB minne, hvorav 830 MB cache.<br />
ZFS allokerte 3.3 GB minne, hvorav 1.4 GB cache.<br />
BTRFS allokerte 5.9 GB minne, hvorav 3.7 GB cache.</p>
<h2>Konklusjon</h2>
<p>Vi anså XFS til å være best for våre behov.<br />
Den leverte svar innen akseptabel tid både da systemet var kaldt og varmt, og var også den raskeste til å levere usortert utlisting av filene.</p>
<p>ZFS skuffet stort med uakseptabelt trege svar.<br />
BTRFS brukte for mye minne, men ellers virket den lovende.</p>
<p>Felles for både BTRFS og ZFS var at komprimering var aktivert.<br />
Kanskje kunne minnebruken vært lavere for både BTRFS og ZFS om testingen ble utført uten komprimering.</p>
<p>Det er <a href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/fs/btrfs">god aktivitet rundt BTRFS i Linux-kildekoden</a> og ser ut til å bli arvtakeren til EXT3/4.<br />
BTRFS har funksjoner for blant annet komprimering og snapshotting, og det vil være aktuelt med ny vurdering av BTRFS senere.</p>
<h2>Avslutning-rant</h2>
<p>Etter at ny diskenhet ble koblet til Server1 og XFS ble satt opp, så dukket et nytt problem fram &#8211; overføring av filene fra EXT4-partisjonen til den nye XFS-partisjonen gikk i trege 1 MB/s.<br />
Løsningen ble å overføre filene tilbake fra Server2 sitt XFS-filsystem over NFS&#8230;</p>
<p>Et enda større problem møtte vi med en annen katalog, som inneholder omkring 1.1 millioner kataloger, som igjen inneholder filer, men mer om dette kan diskuteres over et par kanner kaffe &#8211; jeg har god tid&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>https://hovenko.no/blog/2014/12/02/millioner-av-filer-i-samme-katalog-pa-filsystemet-i-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tilkoblingsparametere for å styre Denon AVR 2807</title>
		<link>https://hovenko.no/blog/2012/10/10/tilkoblingsparametere-for-a-styre-denon-avr-2807/</link>
		<comments>https://hovenko.no/blog/2012/10/10/tilkoblingsparametere-for-a-styre-denon-avr-2807/#comments</comments>
		<pubDate>Wed, 10 Oct 2012 20:09:12 +0000</pubDate>
		<dc:creator>Knut-Olav</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Teknologi]]></category>
		<category><![CDATA[Denon]]></category>

		<guid isPermaLink="false">http://hovenko.no/blog/?p=796</guid>
		<description><![CDATA[Jeg har koblet stue-PC-en til receiveren i hjemmekinoanlegget som er en Denon AVR 2807. Den er koblet til med en USB-til-seriell-kabel, slik at jeg kan styre receiveren ved å sende kommandoer til den, men dette skrev jeg om for mange år siden. Det jeg derimot glemte å skrive var hvordan man skulle koble opp mot [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg har koblet stue-PC-en til receiveren i hjemmekinoanlegget som er en Denon AVR 2807. Den er koblet til med en USB-til-seriell-kabel, slik at jeg kan styre receiveren ved å sende kommandoer til den, men <a href="http://hovenko.no/blog/2007/09/20/kontrollerer-displayet-pa-pc-en-fra-mythtv/">dette skrev jeg om for mange år siden</a>.</p>
<p>Det jeg derimot glemte å skrive var hvordan man skulle koble opp mot den for å sende kommandoer, noe jeg så klart har glemt siden den gang og trøblet litt med i kveld.</p>
<p>Det jeg sleit mest med er at alle terminalklientene jeg testet har aktiv maskinvarebasert flytkontroll, noe som ikke fungerer mot denne receiveren. Så det må skrus av.</p>
<p>Dette kan gjøres via minicom eller kermit. <a href="http://gumstix.org/connect-to-my-gumstix-system.html">Beskrivelse finnes blant annet hos Gumstix Developer Center</a>.</p>
<p>Etter at flow control er skrudd av kan minicom kjøres:<br />
<code>
<pre>
minicom -b 9600 -D /dev/ttyUSB0 -8 -o
</pre>
<p></code></p>
<p>Et tips hvis du bruker minicom er å aktivere &#8220;Add linefeed&#8221; i konfigurasjonen av &#8220;Screen and keyboard&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>https://hovenko.no/blog/2012/10/10/tilkoblingsparametere-for-a-styre-denon-avr-2807/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
