I frequently run out of space and since notebook times have arrived, i was always shocked about the bad performance of external usb storage. With luck, i get around 10 to 12 mb/s.
That leads to eSata or FireWire, but you pay like twice, or at least a 50 extra just for 2 different connectors, and thats alot at todays gb/$ prices for hard disk storage. And probably it still sucks, you can't tell for true if you read the reviews about NAS solutions, ..
Finally intels dualcore atoms have arrived and seem to deliver enough bang for your bucks to hold up as storage and media streamer, passive cooled, so silent and only taking like 15W plus an extra 3-5W for each hdd.
The hard thing is finding a fitting power supply with ATX connector that delivers under 80W. The best seems to be some DC-DC converter like these picoPSU. Used with a simple 12V notebook power supply, and everything is fine! And none noisy fan anywhere!
So, thats what its like:
[Update] (FreeBSD Compability)
FreeBSD works well on D510Mo. Just hardware video (Intel GMA 3150) is currently not supported, so no 2D/3D acceleration. VESA starts up X, but don't use that either, so doesn't matter, ..
For those that care, dmesg at end!
So performance wise, this little thing rocks! I've been rsyncing files for half a day now, doing a total of 250GB now and the cpu is at 30°C. The cooler is barely handwarm, and my 1,5TB WD green carrier could do 90mb/s sequential, benchmark say. Don't get that much from client,.. truecrypt over 2,5" usb hdd delivers around 10mb/s
And as a last note, ZFS ist simply stunning. Never set up encryption and filesystem structure that fast!
[Update 2] (Power Consumption)
PicuPSU has finally arrived. Its stunning, no noises ad so tiny! Even the 80W version is working properly. At first, I was a bit scared about power peaks at the disks spin up. The manual says 7A at peak load for less then 60 seconds should work. I guess, thats more then enough for 2 disks, since i even turned on 'delayed boot up' in the BIOS.
Unfortunately, I've only got a digital multimeter with TrueRMS. i wouldn't count on the correctness of the given values, since they are really not made for measuring switching power supplies, but well,..
- 1,5W in standby, and
- 26,3W at full boot up, and idle.
- I've seen it above 41W when the disks click in.
Note: Just for the records, it had around 38W at idle with my cheap, 25EUR ATX, Rasurbo 450W PSU
Thats not the best, probably a cheap 12V power supply.
I'll do a measurement after the 12V supply, and before the Pico, that should deliver some good data.
EDIT: Others say, it idles at 15W, with one hard disc, and the rest of the configuration is the same.
Not sure, if thats any better, since it looks like a cheap, 20USD building center analyzer, and they also not made for low currents, since they've usual a accuracy from +/- 10W..
My guess is, it's more around the 26W, since intel is giving a TDP of 13W for this board, 3-5W per disk, and say another 3-4W per SO-DIMM, whats a total of 25W. Now, calculate the efficiency of the power supply on top, and i think 15W is a dream value!
My main goal was the audibility anyway, ..
If you have no old hardware lying around booting Freebsd over PXE is explained here!
Prices for hardware in a comment at end!
(updated, thanks to jem, now with ahci sata driver and more performance)
[xen@neon ~]$ bonnie++ Version 1.96 ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP neon.fritz.box 4G 142 99 90137 38 27737 23 345 99 116274 28 86.5 3 Latency 58332us 652ms 567ms 35276us 26432us 1174ms Version 1.96 ------Sequential Create------ --------Random Create-------- neon.fritz.box -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 15498 75 +++++ +++ 20542 99 13725 74 +++++ +++ +++++ +++ Latency 52105us 50us 286ms 136ms 66us 73us 1.96,1.96,neon.fritz.box,1,1285349833,4G,,142,99,90137,38,27737,23,345,99,116274,28,86.5,3,16,,,,,15498,75,+++++,+++,20542,99,13725,74,+++++,+++,+++++,+++,58332us,652ms,567ms,35276us,26432us,1174ms,52105us,50us,286ms,136ms,66us,73us [xen@neon ~]$
- dd read/write
write: [xen@neon ~]$ dd if=/dev/zero of=/var/test1 bs=1M count=4096 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 42.388695 secs (101323414 bytes/sec) (96,62 mb/s) read: [root@neon /var]# dd if=/dev/urandom of=test2 bs=1M count=4096 [root@neon /var]# dd if=test2 of=/dev/zero bs=1M 4096+0 records in 4096+0 records out 4294967296 bytes transferred in 36.031761 secs (119199484 bytes/sec) (133,67 mb/s)
[xen@neon ~]$ dmesg Copyright (c) 1992-2012 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 9.1-RELEASE #0 r243825: Tue Dec 4 09:23:10 UTC 2012 email@example.com:/usr/obj/usr/src/sys/GENERIC amd64 CPU: Intel(R) Atom(TM) CPU D510 @ 1.66GHz (1662.72-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x106ca Family = 6 Model = 1c Stepping = 10 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x40e31d<SSE3,DTES64,MON,DS_CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> TSC: P-state invariant, performance statistics real memory = 2147483648 (2048 MB) avail memory = 2028912640 (1934 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: <INTEL MOPNV10J> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 HTT threads cpu0 (BSP): APIC ID: 0 cpu1 (AP/HT): APIC ID: 1 cpu2 (AP): APIC ID: 2 cpu3 (AP/HT): APIC ID: 3 ioapic0: Changing APIC ID to 8 ioapic0 <Version 2.0> irqs 0-23 on motherboard lapic0: Forcing LINT1 to edge trigger kbd1 at kbdmux0 acpi0: <INTEL MOPNV10J> on motherboard acpi0: Power Button (fixed) cpu0: <ACPI CPU> on acpi0 cpu1: <ACPI CPU> on acpi0 cpu2: <ACPI CPU> on acpi0 cpu3: <ACPI CPU> on acpi0 atrtc0: <AT realtime clock> port 0x70-0x71,0x74-0x77 irq 8 on acpi0 Event timer "RTC" frequency 32768 Hz quality 0 attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed03fff on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 950 Event timer "HPET" frequency 14318180 Hz quality 450 Event timer "HPET1" frequency 14318180 Hz quality 440 Event timer "HPET2" frequency 14318180 Hz quality 440 Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0 acpi_button0: <Sleep Button> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 vgapci0: <VGA-compatible display> port 0x20c0-0x20c7 mem 0xf0200000-0xf027ffff,0xe0000000-0xefffffff,0xf0100000-0xf01fffff irq 16 at device 2.0 on pci0 agp0: <Intel Pineview SVGA controller> on vgapci0 agp0: aperture size is 256M, detected 8188k stolen memory hdac0: <Intel 82801G HDA Controller> mem 0xf0280000-0xf0283fff irq 22 at device 27.0 on pci0 pcib1: <ACPI PCI-PCI bridge> at device 28.0 on pci0 pci1: <ACPI PCI bus> on pcib1 re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet> port 0x1000-0x10ff mem 0xf0004000-0xf0004fff,0xf0000000-0xf0003fff irq 16 at device 0.0 on pci1 re0: Using 1 MSI-X message re0: Chip rev. 0x28000000 re0: MAC rev. 0x00000000 miibus0: <MII bus> on re0 rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0 rgephy0: none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow re0: Ethernet address: 70:71:bc:3c:1d:76 pcib2: <ACPI PCI-PCI bridge> at device 28.1 on pci0 pci2: <ACPI PCI bus> on pcib2 pcib3: <ACPI PCI-PCI bridge> at device 28.2 on pci0 pci3: <ACPI PCI bus> on pcib3 pcib4: <ACPI PCI-PCI bridge> at device 28.3 on pci0 pci4: <ACPI PCI bus> on pcib4 uhci0: <Intel 82801G (ICH7) USB controller USB-A> port 0x2080-0x209f irq 23 at device 29.0 on pci0 uhci0: LegSup = 0x2f00 usbus0 on uhci0 uhci1: <Intel 82801G (ICH7) USB controller USB-B> port 0x2060-0x207f irq 19 at device 29.1 on pci0 uhci1: LegSup = 0x2f00 usbus1 on uhci1 uhci2: <Intel 82801G (ICH7) USB controller USB-C> port 0x2040-0x205f irq 18 at device 29.2 on pci0 uhci2: LegSup = 0x2f00 usbus2 on uhci2 uhci3: <Intel 82801G (ICH7) USB controller USB-D> port 0x2020-0x203f irq 16 at device 29.3 on pci0 uhci3: LegSup = 0x2f00 usbus3 on uhci3 ehci0: <Intel 82801GB/R (ICH7) USB 2.0 controller> mem 0xf0284400-0xf02847ff irq 23 at device 29.7 on pci0 usbus4: EHCI version 1.0 usbus4 on ehci0 pcib5: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci5: <ACPI PCI bus> on pcib5 isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 ahci0: <Intel ICH7 AHCI SATA controller> port 0x20b8-0x20bf,0x20cc-0x20cf,0x20b0-0x20b7,0x20c8-0x20cb,0x20a0-0x20af mem 0xf0284000-0xf02843ff irq 19 at device 31.2 on pci0 ahci0: AHCI v1.10 with 4 3Gbps ports, Port Multiplier not supported ahcich0: <AHCI channel> at channel 0 on ahci0 ahcich1: <AHCI channel> at channel 1 on ahci0 pci0: <serial bus, SMBus> at device 31.3 (no driver attached) ppc0: <Parallel port> port 0x378-0x37f irq 7 on acpi0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppbus0: <Parallel port bus> on ppc0 plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] ctl: CAM Target Layer loaded p4tcc0: <CPU Frequency Thermal Control> on cpu0 p4tcc1: <CPU Frequency Thermal Control> on cpu1 p4tcc2: <CPU Frequency Thermal Control> on cpu2 p4tcc3: <CPU Frequency Thermal Control> on cpu3 Timecounters tick every 1.000 msec hdacc0: <Realtek ALC662 HDA CODEC> at cad 2 on hdac0 hdaa0: <Realtek ALC662 Audio Function Group> at nid 1 on hdacc0 pcm0: <Realtek ALC662 (Analog)> at nid 20 and 24,25,26 on hdaa0 pcm1: <Realtek ALC662 (Front Analog Headphones)> at nid 27 on hdaa0 pcm2: <Realtek ALC662 (Onboard Digital)> at nid 30 on hdaa0 usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 usbus2: 12Mbps Full Speed USB v1.0 usbus3: 12Mbps Full Speed USB v1.0 usbus4: 480Mbps High Speed USB v2.0 ugen0.1: <Intel> at usbus0 uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 ugen1.1: <Intel> at usbus1 uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 ugen2.1: <Intel> at usbus2 uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2 ugen3.1: <Intel> at usbus3 uhub3: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3 ugen4.1: <Intel> at usbus4 uhub4: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus4 uhub0: 2 ports with 2 removable, self powered uhub1: 2 ports with 2 removable, self powered uhub2: 2 ports with 2 removable, self powered uhub3: 2 ports with 2 removable, self powered uhub4: 8 ports with 8 removable, self powered ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: <WDC WD15EARS-00MVWB0 51.0AB51> ATA-8 SATA 2.x device ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 1430799MB (2930277168 512 byte sectors: 16H 63S/T 16383C) ada0: Previously was known as ad4 ada1 at ahcich1 bus 0 scbus1 target 0 lun 0 ada1: <WDC WD15EARS-00MVWB0 51.0AB51> ATA-8 SATA 2.x device ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) ada1: Command Queueing enabled ada1: 1430799MB (2930277168 512 byte sectors: 16H 63S/T 16383C) ada1: Previously was known as ad6 lapic1: Forcing LINT1 to edge trigger SMP: AP CPU #1 Launched! lapic3: Forcing LINT1 to edge trigger SMP: AP CPU #3 Launched! lapic2: Forcing LINT1 to edge trigger SMP: AP CPU #2 Launched! Trying to mount root from ufs:/dev/ada0p2 [rw]... cryptosoft0: <software crypto> on motherboard GEOM_ELI: Device ada0p8.eli created. GEOM_ELI: Encryption: AES-XTS 256 GEOM_ELI: Crypto: software GEOM_NOP: Device ada0p8.eli.nop created. GEOM_ELI: Device ada1p8.eli created. GEOM_ELI: Encryption: AES-XTS 256 GEOM_ELI: Crypto: software GEOM_NOP: Device ada1p8.eli.nop created. ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is present; to enable, add "vfs.zfs.prefetch_disable=0" to /boot/loader.conf. ZFS filesystem version 5 ZFS storage pool version 28
- some zfs stuff
[root@neon /home/xen]# zpool status -v pool: media state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Sat Jan 12 10:39:43 2013 167G scanned out of 1.28T at 14.5M/s, 22h28m to go 167G resilvered, 12.72% done config: NAME STATE READ WRITE CKSUM media ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ada0p8.eli.nop ONLINE 0 0 0 ada1p8.eli.nop ONLINE 0 0 0 (resilvering) errors: No known data errors
$ zdb media: version: 28 name: 'media' state: 0 txg: 48695 pool_guid: 7416968472462639771 hostid: 1920886874 hostname: 'neon' vdev_children: 1 vdev_tree: type: 'root' id: 0 guid: 7416968472462639771 children: type: 'mirror' id: 0 guid: 15208284972743003828 whole_disk: 0 metaslab_array: 30 metaslab_shift: 33 ashift: 12 asize: 1450023059456 is_log: 0 create_txg: 4 children: type: 'disk' id: 0 guid: 3384466726940904057 path: '/dev/ada0p8.eli.nop' phys_path: '/dev/ada0p8.eli.nop' whole_disk: 1 create_txg: 4 children: type: 'disk' id: 1 guid: 9676270833589342332 path: '/dev/ada1p8.eli.nop' phys_path: '/dev/ada1p8.eli.nop' whole_disk: 1 DTL: 199 create_txg: 4 resilvering: 1 $