NAS
Pogoplug is cheap $20 and as good as or better than other NAS. I hook up my Pogoplug classic E02 and a free USB drive (4GB) from Microcenter.
Basic statistic about Pogoplug E02
See http://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray for hardware specification.
- architecture: ARMv5te
- Processor: Marvell Kirkwood 1.2GHz
- RAM: 256MB
- 124MB NAND
- Gigabit ethernet
- 5W power
- 4 USB 2.0 connector.
Install ArchLinux on pogoplug (Debian is better actually)
See the instruction in http://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray for how to install Archlinux on pogoplug (E02). I make a copy below.
killall hbwd cd /tmp wget http://jeff.doozan.com/debian/uboot/install_uboot_mtd0.sh chmod +x install_uboot_mtd0.sh ./install_uboot_mtd0.sh /sbin/fdisk /dev/sda
At the fdisk prompt, delete old partitions and create a new one:
- Type o. This will clear out any partitions on the drive.
- Type p to list partitions. There should be no partitions left.
- Now type n, then p for primary, 1 for the first partition on the drive, and then press ENTER, accepting default values.
- Exit by typing w.
wget http://archlinuxarm.org/os/pogoplug/mke2fs chmod 755 mke2fs ./mke2fs /dev/sda1 mkdir usb mount /dev/sda1 usb cd usb wget http://archlinuxarm.org/os/ArchLinuxARM-armv5te-latest.tar.gz tar -xzvf ArchLinuxARM-armv5te-*.tar.gz # This will take a long time rm ArchLinuxARM-armv5te-*.tar.gz sync # Takes a while when using a flash drive. Not in my case however. cd .. umount usb /sbin/reboot
Log back in after your Pogoplug reboots using username root and password root.
At the end, the system is very lean.
[root@alarm ~]# free total used free shared buffers cached Mem: 252492 28292 224200 0 4580 14072 -/+ buffers/cache: 9640 242852 Swap: 0 0 0 [root@alarm ~]# df -lh Filesystem Size Used Avail Use% Mounted on rootfs 7.4G 443M 6.6G 7% / /dev/root 7.4G 443M 6.6G 7% / devtmpfs 124M 0 124M 0% /dev run 124M 224K 124M 1% /run shm 124M 0 124M 0% /dev/shm tmpfs 124M 0 124M 0% /tmp [root@alarm ~]# uname -a Linux alarm 3.1.10-13-ARCH #1 PREEMPT Mon Aug 20 15:46:18 UTC 2012 armv5tel GNU/Linux [root@alarm ~]# cat /proc/cpuinfo Processor : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 1191.11 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Hardware : Marvell SheevaPlug Reference Board Revision : 0000 Serial : 0000000000000000 [root@alarm ~]# cat /proc/cpuinfo Processor : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 1191.11 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Hardware : Marvell SheevaPlug Reference Board Revision : 0000 Serial : 0000000000000000 [root@alarm ~]#
After it, follow the instruction on lifehacker and https://wiki.archlinux.org/index.php/DeveloperWiki:usrlib
pacman -Syu --ignore glibc pacman -Su mkinitcpio -p linux
To install rsync, use
pacman -S rsync
Unfortunately, I cannot bypass the error
[root@alarm ~]# pacman -Suy rsync :: Synchronizing package databases... core is up to date extra is up to date community is up to date alarm is up to date aur is up to date :: Starting full system upgrade... resolving dependencies... looking for inter-conflicts... Targets (2): glibc-2.16.0-4 rsync-3.0.9-5 Total Installed Size: 34.26 MiB Net Upgrade Size: 0.61 MiB Proceed with installation? [Y/n] (2/2) checking package integrity [#############################] 100% (2/2) loading package files [#############################] 100% (2/2) checking for file conflicts [#############################] 100% error: failed to commit transaction (conflicting files) glibc: /lib exists in filesystem Errors occurred, no packages were upgraded.
Install Debian on pogoplug
See the instruction on http://projects.doozan.com/debian.
- Find your devices's IP address and connect via SSH:
- Partition your flash drive with fdisk (or gparted):
fdisk /dev/sda # Configure partion 1 as Linux (I'd recommend making this at least 512Mb. The default bare-bones installation uses 280Mb.) # Configure partion 2 as Linux Swap (I used 256MB. Adjust according to your anticipated memory usage.) # Set partition 1 active
See http://www.terminally-incoherent.com/blog/2012/09/19/set-up-a-home-linux-server-for-30-with-pogoplug/ for clear explanation of using fdisk.
- Download and run the Debian Wheezy installer:
cd /tmp wget http://projects.doozan.com/debian/kirkwood.debian-wheezy.sh chmod +x kirkwood.debian-wheezy.sh export PATH=$PATH:/usr/sbin:/sbin ./kirkwood.debian-wheezy.sh
- Alternatively, you can choose to install Debian Squeeze with the following commands:
cd /tmp wget http://projects.doozan.com/debian/dockstar.debian-squeeze.sh chmod +x dockstar.debian-squeeze.sh export PATH=$PATH:/usr/sbin:/sbin ./dockstar.debian-squeeze.sh
The script will take some time to download the debian images and extract them to your flash drive. The total install time will vary with the speed of your flash drive and your Internet connection. On my system, it takes about 20 minutes. Once it's finished, you can reboot into your new Debian install.
After your device reboots, it may have a different IP address (it's identifying as 'Debian' to the DHCP server now instead of 'Pogoplug').
The default root password in Debian is 'root'. After you've logged in, you should change the root password and configure /etc/apt/sources.list to point to a Debian mirror near you.
passwd nano /etc/apt/sources.list
After reboot, the debian system is very lean too
root@debian:~# df -h Filesystem Size Used Avail Use% Mounted on rootfs 3.2G 260M 2.8G 9% / none 123M 36K 123M 1% /dev /dev/sda1 3.2G 260M 2.8G 9% / tmpfs 125M 0 125M 0% /lib/init/rw tmpfs 125M 0 125M 0% /dev/shm tmpfs 125M 0 125M 0% /tmp root@debian:~# free total used free shared buffers cached Mem: 255672 19636 236036 0 816 11104 -/+ buffers/cache: 7716 247956 Swap: 535544 0 535544
After I install LAMP, the memory uses 250MB. However, after I reboot the pogoplug, it reduces to 66MB.
root@debian:~# free total used free shared buffers cached Mem: 255672 66076 189596 0 1244 37000 -/+ buffers/cache: 27832 227840 Swap: 535544 0 535544
If I want to add a USB drive, it is safe NOT to insert the 2nd USB drive when the system boot. It is better to insert the 2nd USB drive after the system has booted. In my experience, if I insert the 2nd USB drive when the system boot, the first USB drive will be mounted as /dev/sdb1 but I want the 2nd USB drive mounted as /dev/sdb1.
Install build-essential. Should be fine. See Home automation link below.
Other resources:
- http://wiki.daviddarts.com/Pogoplug
- http://fzr.squeenus.com/debian/
- http://www.terminally-incoherent.com/blog/2012/09/19/set-up-a-home-linux-server-for-30-with-pogoplug/
- http://planetgary.blogspot.com/2011/08/home-automation-on-debian-powered.html Home automation
- http://bastel.dyndns.info/~dockstar/debian/ install some essential tools
- http://www.debian.org/ports/arm/ ARM port on debian
Make it more powerful
Backup server (RAID 1)
Crash plan.
Remote file access by AjaXplorer AjaXplorer
Cloud by OpenStack
BitTorrent by Transmission
- http://naich.net/wordpress/?p=574
- http://archlinuxarm.org/support/guides/applications/transmission
- http://aaronrandall.com/blog/installing-a-bittorrent-client-on-the-pogoplug/ and here.
- From transmission wiki specific to Debian. How to edit configuration file.
Note: Must stop the transmission-daemon before modifying the setting.
apt-get install transmission-cli transmission-common transmission-daemon # stop transmission first before change the setting /etc/init.d/transmission-daemon stop nano /etc/transmission-daemon/settings.json # change “download-dir”, “incomplete-dir” # change rpc-whitelist to "*" or your remote IP # change "rpc-username" , # "rpc-password" (this will then be hashed, so don't worry) # change "speed-limit-up": 10, # "speed-limit-up-enabled": true, # change upload-limit (KB/s) from 100 to 10 # upload-limit-enabled from 0 to 1 mkdir /mnt/usb/Downloads chmod -R 777 /mnt/usb/Downloads transmission-daemon /etc/init.d/transmission-daemon stop # Remember to shut down transmission before editing the settings.json file /etc/init.d/transmission-daemon start
Open browser http://hostname:9091/transmission/web
For pirat*, we can download torr* by using (see here)
http://torrents.thepiratebay.se/xxxxxx/My.torrent
So we don't need to download the torrent in our local machine. In fact, we can just right click 'Get this torrent' button and copy the link. Then we can open the url in transmission/web.
Note: the transfer speed from pogoplug to ubuntu is about 5.5MB/s.
SFTP server by Cyberduck
WebDAV by owncloud.org
SAMBA server
So every computer in LAN can access the contents there. On Windows computer, type \\192.168.1.3\ShareFolder, for example.
- UPnP media server will stream the media content on your Pogoplug to any compatible media player such as the PlayStation 3, Microsoft Xbox 360, and D-Link Boxee Box over your local network.
Email alerts
Print server
NAS4Free vs FreeNAS vs Amahi vs OpenMediaVault
- http://storageroot.com/articles/nas4free-freenas-amahi-openmediavault
- http://arstechnica.com/information-technology/2014/06/the-ars-nas-distribution-shootout-freenas-vs-nas4free/
NAS4Free
- NAS4Free from pcworld.com.
- FreeNAS and UPnP setups from homemultimedianetwork.com.
- A non-English youtube video demonstrates installing NAS4Free on Virtualbox (it works as I tested). The important thing is the NAS4Free is based on BSD. So we should select BSD & 64-bit instead Linux. I am using NAS4Free-x64-LivdCD-9.3.0.2.1349.iso. N.B. NAS4Free does not take much space as, saying, Ubuntu. See the next screenshot.
- WebGUI interface and setup.
- After I enable ssh and allows root login, I can see the default shell is tcsh. See the document in here.
- If we have added IDE disks from virtual machine setting, we can add them using the web management. To do that, we need to Add disk by clicking '+' sign, apply changes, format disks, and mount disks (mount point name can be 'Data1', 'Data2', ...). These disks will be available via /mnt/Data1 or /mnt/Data2. See the document in here.
- Lots of services: CIFS/SMB (Samba v4.x), FTP, NFS, TFTP, AFP, RSYNC, Unison, iSCSI (initiator and target), HAST, CARP, Bridge, UPnP, Webserver, and Bittorent.
- UPnP service works like a charm. Note that I need to check the checkbox in 'Enable' (on the topright corner) for it to work. On the client side, I use ubuntu's VLC (v2.1.4) to test. In VLC, click View -> Playlist ('Ctrl+l') and then select Local Network -> Universal Plug 'n' Play. I have tested streaming mp3 and mp4 files. For Android devices, we can try the BubbleUPnP app.
- How do I stream photos? Photos do not show up on VLC or Android UPnP software like BubbleUPnP, AirWire. The trick is to click Administrative Webgui url link and then click rebuild/update database. After the fix, VLC can play photos as video (10 seconds for each) automatically and BubbleUPnP can play the photos too (users decide how long to stay on one image).
FreeNAS
- FreeNAS vs NAS4Free
- Installing Nextcloud on FreeNAS
- FreeNAS on x86 SBC ExplainingComputers
Compare to other NAS
- Synology DS712+ Diskless System Network Storage. The Synology's wiki page here.
- D-LINK DNS 320L 800 MHz Marvell 88F6281 (Kirkwood), 128 MB. http://dns323.kood.org/dns-320
- ReadyNAS from Netgear
- Western Digital My Book Live Duo 4TB 800MHz PowerPC CPU and 256MB of memory.
- ZyXEL NSA320 and NSA310 Diskless
- QNAP TS-212-E Diskless System Network Storage $119+6 shipping
- QNAP TS-328 $170.
- That VM does the job but is pretty slow to use/navigate. The arm processor here would make that experience much worse. Honestly other than data storage don't expect much else from this device. However, decent price point and yes the 3rd slot being used for a cache SSD will make a big difference.
- The TS-328's hardware provides H.264 /H.265 10-bit hardware decoding, encoding and transcoding capabilities. However, playback quality may vary due to factors including playback software, file formats, system usage, and available bandwidth.
- Iomega StoreCenter ix2-dl review
NAS hard disks
NAS4Free distribution
NextCloud
- The 3 Best Self-Hosted Dropbox Alternatives, Tested and Compared
- Another Dropbox competitor but with a difference – it is entirely free, encrypted, and open source. The software allows you to either setup using their cloud servers, or host your own private server. It has its app stores too.
- iOS and Android apps are free
- How to Install Nextcloud with Nginx on Ubuntu 18.04 LTS
- How to install Nextcloud 20 on Ubuntu Server 20.04
- NextCloud was provided as one of 3 options (Google, Nextcloud & Microsoft) for connecting online accounts in CentOS setup. See a screenshot below from running a live session (CentOS-7-x86_64-LiveGNOME-1804.iso, May-2018).
OpenMediaVault
- http://www.openmediavault.org/. OMV = Debian OS Server + Web GUI.
- OMV is like a regular Linux except but it has a GUI that was targeted for experienced Linux users. Nextcloud is probably more for beginner users.
- Raspberry Pi OMV 5 NAS 2020/12
- Setting Up a Docker Home Server with OpenMediaVault 6 2022/5
- OpenMediaVault (OMV) 6 (Alpha) Setup and First Look 2021/6. We see OMV is installed as a VM.
- Build your own NAS with OpenMediaVault
- Works on KVM. Select Debian 10 for OS. We can use http://openmediavault.local/ to access in add to the IP. title=Installation
- Documentation v5.x
- Default username/password
- WebGUI. User: admin, Password: openmediavault
- Client (SSH, console). User: root, Password: <set during installation>
- Installing OpenMediaVault to a Raspberry Pi
- Changing the Default OpenMediaVault Password
- Creating a Shared Folder in OpenMediaVault including 'Adding a new Filesystem', 'Creating the Shared Folder'
- Enabling SAMBA/CIFS within OpenMediaVault
- Adding New Users in OpenMediaVault
- 4 easy Linux projects for newbies and intermediate users. OpenMediaVault is a linux-based system.
- Docker container for OpenMediaVault. OpenMediaVault插件之Docker教程
QNAP vs Synology
Qnap has flaky software and poor CS.
Synology 2 bay NAS DiskStation DS218+ (Diskless) $298
Virtualization Station from QNAP
http://www.qnap.com/event/station/en/virtualization.php
The supported NAS models are listed on http://www.qnap.com/event/station/en/virtualization.php?content=supported